Tartalomjegyzék:

Retro hangcsip egy Arduino -val - a SAA1099: 16 lépés (képekkel)
Retro hangcsip egy Arduino -val - a SAA1099: 16 lépés (képekkel)

Videó: Retro hangcsip egy Arduino -val - a SAA1099: 16 lépés (képekkel)

Videó: Retro hangcsip egy Arduino -val - a SAA1099: 16 lépés (képekkel)
Videó: Retro Xitlar Yangi Yil Soni (01.01.2024) 2024, November
Anonim
Image
Image
Vezetékek - SAA1099
Vezetékek - SAA1099

Ebben a tanulságosban megmutatom, hogyan kell használni az Arduino Uno -t egy vintage hangszintézis chipdel, hogy midi fájlokat játsszon szögletes hullámos jósággal!

Ha csak gyors áttekintést szeretne kapni a projekt tevékenységéről, nézze meg a fenti videót. Ellenkező esetben folytassa!

1. lépés: Videó

Image
Image

Ha jobban szereted az utasításokat világos, tömör videókban, akkor segítünk!

A többiek számára folytathatja, egy kicsit részletesebben és írásos utasításokat.

2. lépés: Alkatrészek és anyagok

Ehhez a következőkre lesz szüksége:

(A linkek az eBay tételeire vonatkoznak)

  • Egy Arduino (Uno, Nano, Leonardo, mindegyiknek működnie kell)
  • Legalább egy közepes méretű kenyérlap
  • A SAA1099 sztereó hanggenerátor chip
  • Breadboard jumper vezetékek (Alternatívaként szeretem használni a dupont női és női jumpereket, 20 mm-es fejcsapokkal mindkét végén- sokkal strapabíróbbak)
  • 8 MHz -es TTL oszcillátor (AliExpress link a zweigelt által biztosított)
  • Sztereó (vagy mono) audio jack
  • 2 x 1K ellenállás (100 tétel)
  • 1 x 10K ellenállás (50 darab)
  • 2 x 100pF kondenzátor
  • (Opcionális) Néhány LED, legalább 1 (Bármilyen szín, itt 100 válogatott szín egy dollárért!)

A megadott linkek segítségével a teljes költség 23,25 USD, beleértve a szállítást. Természetesen a legtöbb a világ feléről érkezik, így a szállítás általában körülbelül egy hónapot vesz igénybe. Ha gyorsabb szállítást szeretne, valószínűleg egy kicsit többet kell fizetnie.

3. lépés: Kábelezés - SAA1099

Vezetékek - SAA1099
Vezetékek - SAA1099
Vezetékek - SAA1099
Vezetékek - SAA1099

Ha a rajzok a kedvencei, akkor tessék! A többiek lépésről lépésre végigmehetnek, vagy megnézhetik a videót.

  • Helyezze az SAA1099 -et a kenyértábla végére úgy, hogy a forgács bevágása a vége felé nézzen.
  • Most, hatalom. A VDD (18. tüske) a SAA1099 -en áramellátásra kerül, majd a VSS (9. tüske) földel.
  • Ezután tegyen vezetéket a CS (2. tű) és a föld közé, hogy alacsonyan húzódjon

Azt is javaslom, hogy nézze meg az adatlapot, amelyet csatoltam.

4. lépés: Kábelezés - TTL oszcillátor

Kábelezés - TTL oszcillátor
Kábelezés - TTL oszcillátor
Kábelezés - TTL oszcillátor
Kábelezés - TTL oszcillátor
  • A TTL oszcillátort a kenyérlapra helyezzük a kenyértábla mellé, hogy az óra kimeneti csapja a legközelebb legyen az SAA1099 óra bemenetéhez (8. pin)
  • Mehet tovább, és csatlakoztathatja az áramot és a földet a TTL oszcillátorhoz. (A videóban később vártam, így nincs képem). A fenti képen látható, hogy melyek a csapok.

5. lépés: Kábelezés - Iref és Chip interfész

Vezetékek - Iref és Chip interfész
Vezetékek - Iref és Chip interfész
Vezetékek - Iref és Chip interfész
Vezetékek - Iref és Chip interfész
  • Csatlakoztassa a 10K ellenállást az Iref (6. tű) és az 5V közé.
  • Csatlakoztassa a 8. digitális tűt a SAR1099 WR -hez (1. tű).
  • Csatlakoztassa a 9. digitális tűt az SA01099 A0 -hoz (3. tű).

6. lépés: huzalozás - hangkomponensek

Kábelezés - Hangkomponensek
Kábelezés - Hangkomponensek
Kábelezés - Hangkomponensek
Kábelezés - Hangkomponensek
Kábelezés - Hangkomponensek
Kábelezés - Hangkomponensek
  • Csatlakoztasson egy 100pF kondenzátort az OUTR (4. tű) és a GND közé
  • Csatlakoztasson 1K ellenállást az OUTR (4. tű) és az 5 V közé
  • Ugyanezt fogjuk tenni az OUTL esetében is (5. tű)
  • Csatlakoztasson egy 100pF kondenzátort az OUTL (5. tű) és a GND közé
  • Csatlakoztasson 1K ellenállást az OUTL (5. tű) és az 5V közé

Jegyzet! Győződjön meg arról, hogy az ellenállások/kondenzátorok egyik vezetéke sem érintkezik, különben a dolgok nem működnek, és (kísérletileg) potenciálisan felrobbanhatnak az arcába.

7. lépés: Kábelezés - Audio Jack

Vezetékek - Audio Jack
Vezetékek - Audio Jack
Vezetékek - Audio Jack
Vezetékek - Audio Jack
Vezetékek - Audio Jack
Vezetékek - Audio Jack
  • Csatlakoztasson egy kis áthidaló vezetéket az 5V és a kenyértáblán lévő üres sor közé.
  • Helyezze el az audiocsatlakozót úgy, hogy az 5V -os jumper csatlakozzon az audiocsatlakozó „hüvelyi” tűjéhez
  • Csatlakoztassa az L és R (vagy audio tűt, ha Mono jack csatlakozója van) az SAUT1099 OUTL (5. tű) és OUTR (4. tű) csapjaihoz.

Jegyzet! A Mono audiocsatlakozóknál valóban nem mindegy, hogy mi történik, mindaddig, amíg az egyik érintkező 5V -ra, a másik pedig OUTL vagy OUTR -re csatlakozik. Jól fog hangzani. Ha nem, akkor ebben az esetben érdemes újra ellenőrizni a vezetékeket.

8. lépés: Kábelezés - Tápellátás a kenyértáblához

Kábelezés - Tápellátás a kenyértáblához
Kábelezés - Tápellátás a kenyértáblához
Kábelezés - Tápellátás a kenyértáblához
Kábelezés - Tápellátás a kenyértáblához
  • Csatlakoztassa a Breadboard tápellátó busz mindkét oldalát áthidaló vezetékekkel.
  • Csatlakoztassa az egyik oldalt az Arduino 5V és GND csapjaihoz, ügyelve arra, hogy sehol ne keverje össze a vezetékeket. Ha megtette, a varázslatos füst kiszabadulhat.

9. lépés: huzalozás - adatvonalak

Kábelezés - Adatvonalak
Kábelezés - Adatvonalak

Csatlakoztassa sorrendben a D0 -tól D7 -ig az Arduino -n a D0 -hoz (10. tű) a D7 -hez (17. tű) az SAA1099 -en

Úgy találom, hogy a DuPont női-női áthidaló vezetékek, mindkét végén 15-20 mm-es fejlécekkel, sokkal jobban működnek, mint a férfi-férfi dupont vezetékek. Ezenkívül nő-nő vagy férfi-nőként is használhatja őket. Mindkettő könnyen megtalálható az eBay -en nagy mennyiségben, kis mennyiségű változásért. Jó karácsonyi ajándék a feltörekvő Arduino drogosoknak!

10. lépés: Opcionális LED -ek

Opcionális LED -ek
Opcionális LED -ek
Opcionális LED -ek
Opcionális LED -ek

Nem megyek át lépésről lépésre, hogyan lehet itt mindent felépíteni, de számos jó hely van a LED -ek hozzáadásához. Először is 3 mm -es piros LED -et kötöttem a WR (1. tű) és a GND közé, hogy minden alkalommal megmutassam, amikor az Arduino parancsot küld az SAA1099 -nek.

Korábban LED -eket is csatlakoztattam az adatvonalakhoz, ami lehetővé teszi, hogy minden soron megtekintse a tényleges bináris adatokat. Ezt a beállítást használtam az "Arduino és SAA1099 - Fireflies" videómban, valamint további 6 LED -et és néhány extra kódot, hogy minden aktív csatorna mindegyik LED -jét felgyújtsam.

Minél több LED, annál hűvösebben néz ki!

11. lépés: kód

Kód!
Kód!
Kód!
Kód!

Most, hogy felépítette az áramkört, ellenőrizze a csatlakozásokat! Nem akarja felrobbantani drága arduino -ját és Soundchipjét! (Ha megteszed, hát. Ez nem az én dolgom)

Feltételezve, hogy épeszű vagy és mindent ellenőrzött, elkezdhetjük programozni.

  • A könyvtár a https://github.com/Bobcatmodder/SAATunes címen található
  • A SAATunes.zip fájlt szeretné, ezért töltse le.
  • Most nyissa meg az Arduino IDE -t.
  • A „Vázlat”, „Könyvtár befoglalása” alatt kattintson a „.zip könyvtár hozzáadása” lehetőségre
  • Navigáljon oda, ahonnan letöltötte a SAATunes könyvtárat. (Nem érdekel, hogy az asztali géped, letöltésed vagy (illessz be valami kínos) mappát- Csak keresd meg)
  • Válassza ki, majd kattintson a "Megnyitás" gombra
  • Azt kell mondania, hogy hozzáadták a könyvtárakhoz.

12. lépés: Teszteld

Próbáld ki!
Próbáld ki!
Próbáld ki!
Próbáld ki!
  • Nyissa meg a példa SAATunes programot a "Fájl", "Példák", "SAATunes", "SAATunes-Uno" alatt.
  • Csatlakoztassa az Arduino -t a számítógéphez és valamilyen hangszóróhoz.
  • Töltse fel a programot az Arduino -ra.

Egy akkordot kell hallanod, majd Beethoven haragját egy elveszett Penny miatt. Ha a Classical nem az Ön dolga, ne féljen, mert rövidesen megtanuljuk, hogyan használhatjuk vele az általunk választott MIDI fájlokat.

Ha nem hall semmit, ellenőrizze néhány dolgot: Először is be van kapcsolva a hangszóró? Fordítsa felfelé. Akkor tényleg bekapcsol az arduino? A program megfelelően feltöltődött? Ellenőrizze az összes vezetéket a skematikai és adatlappal, majd próbálja újra.

13. lépés: Saját MIDI -fájlok használata - Konverziós program

Saját MIDI fájlok használata - Konverziós program
Saját MIDI fájlok használata - Konverziós program

Készen áll arra, hogy kipróbáljon valami mást, mint Beethoven? Nagyon jó, tessék.

Ahhoz, hogy a MIDI fájlokat C ++ Bytestreams formátumba konvertálhassuk, szükségünk van egy Len Shustek programra. Ő a könyvtár megalkotója, amelyből én alapítottam a kódomat, és a könyvtáram ugyanazt a bytest formátumot használja, mint ő.

  • A programot a https://github.com/LenShustek/miditones címen találja
  • A kívánt program a "miditones.exe". Folytassa, és töltse le.

14. lépés: MIDI fájlok konvertálása

MIDI fájlok konvertálása
MIDI fájlok konvertálása
MIDI fájlok konvertálása
MIDI fájlok konvertálása
MIDI fájlok konvertálása
MIDI fájlok konvertálása

Figyelem! Itt legyenek ascii sárkányok! Lehet, hogy könnyebben megnézheti a videót, ahol pontosan láthatja, miről beszélek. Ha mersz belépni, folytasd!

A MIDI to Bytestream konverziós program használatához meg kell nyitnia egy parancssori ablakot. Sajnáljuk, Mac és Linux felhasználók, lehet, hogy meg kell találni a megoldást.

  • Nyissa meg a Start menüt, írja be a "CMD" parancsot, majd nyomja meg az enter billentyűt.
  • Most megtanulunk egy kis MS-DOS varázslatot. A "CD" paranccsal navigáljon oda, ahonnan letöltötte a "miditones.exe" fájlt. A legtöbb esetben a parancsok "cd letöltések" lesznek.
  • Futtassa a "miditones.exe" programot a "miditones" begépelésével. Meg kell jelenítenie egy súgólistát, amely a leggyakoribb parancsokat tartalmazza.

Most szükségünk van egy MIDI fájlra az átalakításhoz. Keressen egyet valahol az interwebs -en, lehetőleg ütőhangszerek vagy speciális effektusok nélkül, az ösztönök/sebesség mellett. (Ha nem tudja, hogy mik ezek, ne aggódjon, minden rendben lesz)

  • Töltse le a MIDI fájlt ugyanabba a helyre, ahol a "miditones" programot használja.
  • Most a parancssori ablakban írja be a "miditones -d -v [fájlnév]" parancsot (cserélje le a [fájlnév] fájlt a MIDI fájl nevével).
  • A miditones. C fájlt hoz létre a C ++ bytestream segítségével ugyanabban a mappában, ugyanazzal a névvel, mint a MIDI fájl.

15. lépés: A konvertált MIDI fájl használata

A konvertált MIDI fájl használata
A konvertált MIDI fájl használata
A konvertált MIDI fájl használata
A konvertált MIDI fájl használata
A konvertált MIDI fájl használata
A konvertált MIDI fájl használata

Most, hogy átalakította a MIDI -fájlt, adjuk meg kis bájtokban az arduino -nak!

  • Tegyük fel, hogy a SAATunes-Uno példa már nyitva van, menjünk tovább, és mentsünk valami mást, hogy szerkeszthessük.
  • Miután elmentette, kattintson a kis "lefelé mutató nyíl" ikonra a jobb felső sarokban.
  • Kattintson az "új lap" elemre, és nevezze el "[név].
  • Most nyissa meg a. C fájlt, amelyet a középhangok korábban hoztak létre. Jegyzettömb segítségével nyithatja meg.
  • A CNTRL/A gombokkal válasszon ki mindent, majd másolja le.
  • Illessze be az új "[név].h" fülre az arduino szerkesztőben.

Itt minden rendben van, szóval térjünk vissza a programhoz.

  • Keresse meg a "#include" RagePenny.h "" feliratot, és másolja/illessze be az alábbi új sorba.
  • Változtassa meg a "RagePenny.h" fájlt az új fájl nevére.
  • Most írja ki a "#include" RagePenny.h "" megjegyzést, két elővágójel (//) hozzáadásával.
  • Töltsd fel a programot!

Ha minden jól ment, akkor a saját MIDI fájlját kell lejátszania. Ha nem, ellenőrizze újra, hogy az új lap neve és a "#include" RagePenny.h "" -ben módosított név megegyezik -e. Ellenőrizze a többi lépést, és győződjön meg arról, hogy mindent helyesen tett. Néhány MIDI fájl egyszerűen nem működik, de ezek ritkák.

16. lépés: Fin

Uszony!
Uszony!

Remélhetőleg minden rendben ment veled, és a MIDI -fájlokat zavarod egy ősi technológia új életével!

Ha azonban nem, ne add fel! Írj megjegyzést, és szívesen segítek. Természetesen nyugodtan tegyen javaslatokat megjegyzésekben.

Boldog chiptunes!

Ajánlott: