Tartalomjegyzék:

Építsünk SN76489 USB MIDI szintetizálót az Arduino Nano segítségével: 7 lépés
Építsünk SN76489 USB MIDI szintetizálót az Arduino Nano segítségével: 7 lépés

Videó: Építsünk SN76489 USB MIDI szintetizálót az Arduino Nano segítségével: 7 lépés

Videó: Építsünk SN76489 USB MIDI szintetizálót az Arduino Nano segítségével: 7 lépés
Videó: Untitled Test Song for the Little-Scale SN76489 USB MIDI synth- By Diode mA 2024, Július
Anonim
Image
Image
Építsünk SN76489 USB MIDI szintetizálót az Arduino Nano segítségével
Építsünk SN76489 USB MIDI szintetizálót az Arduino Nano segítségével
Építsünk SN76489 USB MIDI szintetizálót az Arduino Nano segítségével
Építsünk SN76489 USB MIDI szintetizálót az Arduino Nano segítségével

Szeretett volna valaha saját szintetizátort építeni a 80-as évek régi dallamai alapján? Játssz egyszerű polifón dallamokat, amelyek úgy hangzanak, mint ezek a régi Sega Master System és Megadrive videojátékok?

Rendeltem néhány SN76489 chipet az ebay -ről és egy midi host felületről, és kipróbáltam. Nos, ez nem egy séta volt a parkban, de élveztem minden pillanatát.

Először megtanultam, hogyan kell közvetlenül csatlakoztatni az SN76489 -et, és zajt adni vele. Ennek volt néhány zavaró eleme, de a The Oddbloke Geek Blog és néhány más példa segítségével a chip specifikációs dokumentummal együtt egy egyszerű arduino könyvtárat tudtam kifejleszteni.

Ezt követően meg kellett tanulnom, hogyan kell a midi billentyűzetet csatlakoztatni egy USB mini gazdapajzshoz. Ez nem volt olyan nehéz, mivel rendelkezésre áll néhány dokumentáció, és vannak jó könyvtárak, amelyek egyértelmű példákkal rendelkeznek.

Miután megértettem, hogyan kell vezérelni a chipet, és hogyan kell kezelni az USB midi billentyűzet kezelőfelületét, már csak az a dolgom, hogy írjak egy kódot, amely mindezt összefogja, és lehetővé teszi, hogy a billentyűzet segítségével vezéreljem a chipet.

Útközben megtanultam, hogy a 0x2f midi hangjegyekhez generált alacsonyabb frekvenciájú hangok nem hangzanak jól, ezért úgy döntöttem, hogy ezt használom, hogy lehetővé tegyem a zaj küldését a zajgenerátorhoz minden midi hanghoz 0x28 és 0x2f között és engedélyezze a keleti arab tapintású jegyzetek lejátszását minden midi 0x28 -nál alacsonyabb értéknél.

Visszatekintve nagyon szórakoztató és nagyon érdekes volt az építkezés.

Remélem, olyan szórakoztatónak és érdekesnek találja majd, mint én, és hogy ha maga épít egyet, szívesen megosztana néhány képet róla.

Ha tetszett ez a projekt, kérjük, szavazzon lent, hogy segítsen megnyerni azt a versenyt, amelyben részt vesz

Kellékek

Hozzáadtam a linkeket az ehhez a projekthez megvásárolható anyagokhoz, azonban sok elérhető elemet találhat, amelyeket a régi elektronikából lekaparhat.

Ezek a linkek társult linkek, így ha a kattintás után vásárol, kapok egy kis részt (nem vagyont), és olyan terméket kap, amely megfelel ennek a projektnek. Ezek használata nem jár külön díjjal vagy többletköltséggel, azonban bármilyen hasonló elem megtalálható, amely ezeket könnyen helyettesítheti.

ebay.us/svA4z4 | 1 x teljesítménytábla

ebay.us/ZyEFNp | 1 x arduino nano

ebay.us/t1zy0v | 1 x USB mini pajzs

ebay.to/2QrHl1C | 1 x SN76489 hang chip

ebay.us/aaaj8p | 1 x műszakregiszter 595

ebay.us/DSvTHO | 1 x 4 MHz -es kristályoszcillátor

ebay.us/XQeM0Q | 1 x 5V feszültségszabályozó 7805

ebay.us/6R6Fpf | 1 x hűtőborda a feszültségszabályozóhoz

ebay.us/xkLbn4 | 3 x 10uF kondenzátor

ebay.us/pnm2BH | vezetékek

ebay.us/PMbUfY | 1 x piros LED az áramellátáshoz

ebay.us/zokHtc | 1 x 220 ohmos ellenállás a LED áramának korlátozására

ebay.us/qjbesJ | 1 db tápcsatlakozó 12V -os tápegységhez

ebay.us/cS0wwv | 1 x be/ki kapcsoló

megfelelő doboz (az enyémet egy régi fiókból építettem, amely évekig a tárolómban pihent)

1. lépés: Az USB Mini Host Shield előkészítése 5 V -os Midi eszköz meghajtásához

Az USB Mini Host Shield előkészítése 5 V -os Midi eszköz meghajtásához
Az USB Mini Host Shield előkészítése 5 V -os Midi eszköz meghajtásához

Mivel az USB mini gazdapajzs 3,3 V -on működik, és az általam használt USB midi billentyűzetek 5 V -ot igényelnek, ezért az árnyékolás kimeneti feszültségét úgy kell beállítani, hogy levágják az USB kimeneti Vcc -hez vezető 3,3 V -os vezetéket, így később csatlakoztathatjuk. 5V -ra.

Rengeteg oktatóanyag található erről, és nagyon egyszerűnek bizonyult:

Csak vágja el a vonalat a 2k2 ellenállás és a Vcc vezeték között (lásd a mellékelt képet). Egy csavarhúzóval megkarcolom ezt a vonalat, és teszteltem, hogy működik -e folyamatosságmérővel.

Lépés: Csatlakoztassa az USB mini pajzsot az Arduino Nano készülékhez

Csatlakoztassa az USB mini pajzsot az Arduino Nano készülékhez
Csatlakoztassa az USB mini pajzsot az Arduino Nano készülékhez
Csatlakoztassa az USB mini pajzsot az Arduino Nano készülékhez
Csatlakoztassa az USB mini pajzsot az Arduino Nano készülékhez

Szerencsére sok információ áll rendelkezésre, hogyan kell ezt megtenni, ezért az "Arduino Nano és mini USB host pajzs" google -val rákeresve erre a szálra jutottam

Leírta, hogyan kell csatlakoztatni az USB mini v2.0 pajzsot, és miután követte, egyenesen előre mentem, hogy teszteljek néhány USB midi példát.

Vezeték:

Arduino Host pajzs

10--------------5

11--------------6

12--------------7

13--------------8

2----------------2

5V -------------- 1

3.3V ------------ 9

GND ----------- 3

RST ------------ 4

Ebben a szálban az is szóba került, hogy levágták a 3,3 V -os vezetéket, így az USB 5 V -ot kaphat a VBUS -ról.

Ez a leírás és a mellékelt képek innen származnak.

BTW, hiba van ezen a táblán a nyomtatásban, így ez egy kicsit zavaró volt, azonban láthatja az ezzel kapcsolatos visszajelzéseimet (tyrkelko) és azt, hogy honnan tanultam.

3. lépés: Chips Bárki? SN76489 hozzáadása 4 MHz -es oszc. és 595 műszakregiszter

Chips Bárki? SN76489 hozzáadása 4 MHz -es oszc. és 595 műszakregiszter
Chips Bárki? SN76489 hozzáadása 4 MHz -es oszc. és 595 műszakregiszter

Itt az ideje, hogy hozzáadjuk azt a chipet, amely ezt a csodálatos hangot adja.

Már kifejlesztettem egy könyvtárat az arduino interfészéhez ezzel a chipkel, és csak az utasításaimat kellett követnem.

A könyvtár githubban jelenik meg GPLv3 alatt (az első nyílt forráskódú kiadásom).

github.com/tyrkelko/sn76489

A 76489 és 595 kapcsolata olyan volt, mint a mellékelt képen, amely a readme.txt könyvtárból készült

A 76489 -es írási engedélyezés alacsony szinten (NotWE) a nano 3 -as érintkezőjéhez volt csatlakoztatva, és megváltoztatható a kódban.

#define PIN_NotWE 3

Az 595 -öt az alábbiak szerint csatlakoztatták a nanohoz, és a pin számok szerkesztésével is beállítható:

#define PIN_SER 7

#define PIN_LATCH 6

#define PIN_CLK 5

Az oszcillátor, amit használtam, egy 4MHz -es kristályoszcillátor volt, 4 lábbal.

A kódban a következőképpen lett konfigurálva, és az értékét bármely 500 kHz és 4 MHz közötti oszcillátorfrekvenciához beállíthatja:

#define FREQUENCY 4000000.0

A használt oszcillátor csatlakoztatása a következő volt:

1. tű - nincs csatlakoztatva

7 -es csap - földelt

8. tüske - 76489 -hez csatlakoztatva, 14. tű - óra oszc

4. lépés: Csak kód hozzáadása - A könyvtárak hozzáadása, a kód összeállítása és feltöltése

A projektben használt könyvtárakat az alábbiak szerint kell hozzáadni az Arduino IDE -hez:

Nyissa meg az Arduino IDE -t

Töltse le a következő könyvtárakat az IDE könyvtármappájába (reméljük, hogy hamarosan látni fogja ezeket az IDE "Eszközök" menüjének "Könyvtárak kezelése …" menüjében):

github.com/felis/USB_Host_Shield_2.0

github.com/tyrkelko/sn76489

Használja a következő github projekt kódját:

github.com/tyrkelko/usb_midi_tone

Töltse le az usb_midi_tone.ino fájlt, fordítsa össze és töltse fel az Arduino nano készülékére.

5. lépés: Csatlakoztassa az erősítőt és a hangszórót, csatlakoztassa az USB Midi billentyűzetet és tesztelje

Most ideje tesztelni, hogy minden működik.

Ehhez szükségünk van:

1. Erősítő és hangszóró

2. USB midi billentyűzet

Csatlakoztassa az SN76489 7. tűt, audio kimenetet az erősítő audiobemenetéhez.

Kapcsolja be az erősítőt, majd kapcsolja be az arduino nano -t. Most egy másodperc töredékéig hallania kell a bekapcsolási teszthangot.

Csatlakoztassa az USB midi billentyűzetet és tesztelje.

Ha minden megfelelően működik, akkor képesnek kell lennie arra, hogy egyszerre 3 hangot játsszon le, és 8 féle zajt és akár 24 EDO-skála negyedhangot is.

Ha nem működik, nézze át a lépéseket, és nézze meg, mi történhetett rosszul.

Ha úgy érzi, hogy ez az egyértelmű utasítások eredménye, kérjük, írjon nekem egy megjegyzést, hogy frissítsem az utasításokat a javításhoz.

6. lépés: Töltse ki az áramkört 5 V -os feszültségszabályzóval, 12 V -os csatlakozóval, be/ki kapcsolóval és bekapcsoló LED -del

Ebben a lépésben be kell fejeznie az áramkört, miután tesztelte, hogy megfelelően működik -e.

1. Adjon hozzá egy teljesítményszabályozót LM7805 -tel és két 10uF kondenzátorral és 0,1uF -el. Rengeteg oktatóanyag van erről, ennek eléréséhez használhatja az alábbi utasításokat-https://www.instructables.com/id/7805-Regulator-5V…

2. Adjon hozzá egy 12 V -os tápcsatlakozót úgy, hogy a Vcc egy ki/be kapcsolón keresztül menjen

3. Adjon hozzá egy korlátozó áramellenállású LED -et, amely jelzi, amikor a készülék be van kapcsolva.

7. lépés: Zárja be egy dobozba, fesse le és élvezze az új szintetizálást

Miután az áramkört tesztelték, és az Ön ízlése szerint működik, már nincs sok hátra, csak egy szép házat kell felépítenie, fantasztikus színekkel festenie és zenélnie.

Remélem, élvezte ezt az oktatóanyagot, és ez inspirált arra, hogy saját szintetizátort építsen, vagy elinduljon egy másik projekten, amelyen dolgozik.

Kérjük, írjon megjegyzést az alábbi kérdésekhez, és ha valami hasonlót épített ennek az oktatóanyagnak az alapján, nagyszerű lenne, ha megosztaná a "Én készítettem!" területen vagy a visszajelzés rovatban.

Ajánlott: