Tartalomjegyzék:
- Kellékek
- 1. lépés: Az USB Mini Host Shield előkészítése 5 V -os Midi eszköz meghajtásához
- Lépés: Csatlakoztassa az USB mini pajzsot az Arduino Nano készülékhez
- 3. lépés: Chips Bárki? SN76489 hozzáadása 4 MHz -es oszc. és 595 műszakregiszter
- 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
- 5. lépés: Csatlakoztassa az erősítőt és a hangszórót, csatlakoztassa az USB Midi billentyűzetet és tesztelje
- 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
- 7. lépés: Zárja be egy dobozba, fesse le és élvezze az új szintetizálást
Videó: Építsünk SN76489 USB MIDI szintetizálót az Arduino Nano segítségével: 7 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
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
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
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
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:
Hogyan építsünk egy 8x8x8 LED -es kockát és vezéreljük egy Arduino segítségével: 7 lépés (képekkel)
Hogyan készítsünk 8x8x8 LED -es kockát és vezéreljük azt egy Arduino -val: 2020. január szerkesztés: Hagyom, ha valaki ötletek generálására szeretné használni, de már nincs értelme kocka építeni ezen utasítások alapján. A LED -illesztőprogram -IC -k már nem készülnek, és mindkét vázlatot a régi verzióban írták
Hogyan építsünk emberek számlálót a Raspberry Pi és az Ubidots segítségével: 6 lépés
Hogyan építsünk emberszámlálót a Raspberry Pi és az Ubidots segítségével: Ebben az egyszerű projektben mozgásérzékelővel érzékeljük, hogy egy objektum elhalad -e a Raspberry Pi előtt. Ezután megszámoljuk, hogy ez hányszor történik meg, és elküldjük ezt az értéket az Ubidots -nak. Az emberek számlálói általában drága eszközök, amelyeket a
Hogyan építsünk CubeSat -t Arduino -val Arducam segítségével: 9 lépés
Hogyan építsünk CubeSat -ot Arduino -val Arducammal: Az első képen van egy Arduino, és az úgynevezett "Arduino Uno". A második képen van egy Arducam, és az úgynevezett "Arducam OV2640" 2MP mini. "A második kép mellett vannak olyan anyagok, amelyekre szüksége lesz
Hogyan építsünk megfogókaros nyomkövető robotot a Nrf24l01 Arduino segítségével: 3 lépés (képekkel)
Hogyan kell felépíteni a markolókaros nyomkövető robotot a Nrf24l01 Arduino útján: Az utasítás " Hogyan építsük meg a markoló kar nyomkövető robotot a Nrf24l01 Arduino útvonalon " elmagyarázza, hogyan lehet háromfokú szabadságú megfogó kart építeni a lánctalpas kerekesre, amelyet kétmotoros L298N modul hajt meg MEG segítségével
Hogyan építsünk gitár hangsugárzót vagy építsünk kettőt a sztereóhoz: 17 lépés (képekkel)
Hogyan építsünk gitár hangszóró dobozt vagy építsünk kettőt a sztereóhoz: Azt akartam, hogy egy új gitár hangszóró legyen az épített csőerősítővel. A hangszóró kint marad a boltomban, így nem kell semmi különlegesnek lennie. A Tolex burkolat túl könnyen megsérülhet, ezért csak homok után feketére szórtam a külső felületet