Sadržaj:
- Pribor
- Korak 1: Priprema USB Mini Host Shield -a za pogon 5V Midi uređaja
- Korak 2: Povežite USB mini štit sa svojim Arduino Nano
- Korak 3: Ima li tko čips? Dodavanje SN76489 s 4MHz Osc. i 595 Registar pomaka
- Korak 4: Samo dodajte kôd - dodavanje knjižnica, sastavljanje i prijenos koda
- Korak 5: Spojite pojačalo i zvučnik, spojite USB midi tipkovnicu i testirajte
- Korak 6: Dovršite krug s 5V regulatorom napona, 12V konektorom, prekidačem za uključivanje/isključivanje i LED za napajanje
- Korak 7: Zatvorite u kutiju, obojite i uživajte u novom sintetizatoru
Video: Izgradimo SN76489 USB MIDI Synth s Arduino Nano: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:34
Jeste li ikada željeli izgraditi vlastiti sintisajzer temeljen na starim melodijama iz 80-ih? Reproducirajte jednostavne polifone melodije koje zvuče baš poput ovih starih video igara Sega Master System i Megadrive?
Imam, pa sam naručio nekoliko čipova SN76489 s ebaya i midi host sučelje i pokušao. Pa, to za mene nije bila šetnja parkom, ali, uživala sam u svakom trenutku.
Prvo sam naučio kako izravno spojiti SN76489 i napraviti malo buke s njim. Bilo je tu nekih zbunjujućih elemenata, ali uz pomoć The Oddbloke Geek Blog -a i nekoliko drugih primjera, zajedno s dokumentom o specifikaciji čipa, uspio sam razviti jednostavnu arduino biblioteku.
Zatim sam morao naučiti kako spojiti midi tipkovnicu sa mini mini štitom USB -a. To nije bilo tako teško jer postoji dostupna dokumentacija, a postoje dobre knjižnice s jasnim primjerima.
Jednom kad sam shvatio kako kontrolirati čip i kako spojiti svoju USB midi tipkovnicu, preostalo mi je samo napisati neki kod koji bi sve ovo spojio i omogućio mi korištenje tipkovnice za upravljanje čipom.
Usput sam saznao da zvukovi s nižom frekvencijom od onih koje sam pokušao generirati za midi note 0x2f ne zvuče dobro, pa sam to odlučio iskoristiti kako bih omogućio slanje šuma generatoru buke za sve midi note između 0x28 i 0x2f a također dopuštaju sviranje nota s orijentalnim arapskim dodirom za bilo što niže od midi 0x28.
Gledajući unatrag, bilo je jako zabavno i vrlo zanimljivo graditi.
Nadam se da će vam biti zabavno i zanimljivo kao meni i da ćete, ako ga sami izgradite, biti ljubazni podijeliti neke njegove slike.
Ako vam se svidio ovaj projekt, glasajte za njega dolje kako biste pomogli pobijediti na natječaju u kojem sudjeluje
Pribor
Dodao sam poveznice na materijal koji možete kupiti za ovaj projekt, međutim, mogli biste pronaći mnoge dostupne stavke koje možete izbrisati iz stare elektronike.
Ove su veze partnerske, pa ako kupite nakon što ih kliknete, dobivam mali dio (ne bogatstvo) i dobivate proizvod koji je pravi za ovaj projekt. Za njihovu uporabu nema naknade niti dodatnih troškova, međutim, možete pronaći sve slične stavke koje ih mogu prilično lako zamijeniti.
ebay.us/svA4z4 | 1 x ploča za performanse
ebay.us/ZyEFNp | 1 x arduino nano
ebay.us/t1zy0v | 1 x USB mini štit
ebay.to/2QrHl1C | 1 x zvučni čip SN76489
ebay.us/aaaj8p | 1 x registar pomaka 595
ebay.us/DSvTHO | 1 x kristalni oscilator od 4MHz
ebay.us/XQeM0Q | 1 x 5V regulator napona 7805
ebay.us/6R6Fpf | 1 x hladnjak za regulator napona
ebay.us/xkLbn4 | 3 x 10uF kondenzatora
ebay.us/pnm2BH | žice
ebay.us/PMbUfY | 1 x crvena LED dioda za napajanje
ebay.us/zokHtc | 1 x 220 ohmski otpornik za ograničavanje protoka LED diode
ebay.us/qjbesJ | 1 x priključak za napajanje za 12v napajanje
ebay.us/cS0wwv | 1 x prekidač za uključivanje/isključivanje
odgovarajuću kutiju (svoju sam sagradio od stare ladice koja je godinama ležala u mojem skladištu)
Korak 1: Priprema USB Mini Host Shield -a za pogon 5V Midi uređaja
Budući da USB mini host štit radi na 3.3V, a USB midi tipkovnice koje koristim zahtijevaju 5V, potrebno je prilagoditi izlazni napon štita presijecanjem linije 3.3V koja ide na USB Vcc izlaz, tako da ga kasnije možemo spojiti na 5V.
Postoji mnogo vodiča o tome kako to učiniti, a pokazalo se da je vrlo jednostavno:
Samo odrežite liniju između 2k2 otpornika i Vcc linije (pogledajte priloženu sliku). Upotrijebio sam odvijač da izgrebem ovu liniju i testiram radi li s mjeračem kontinuiteta.
Korak 2: Povežite USB mini štit sa svojim Arduino Nano
Srećom, postoji mnogo informacija o tome kako to učiniti, pa sam googlanjem za "Arduino Nano i mini USB host host" sletio na ovu temu
Opisano je kako spojiti USB mini v2.0 štit i nakon što sam ga slijedio, krenuo sam s testiranjem nekih USB midi primjera.
Ožičenje:
Štit domaćina Arduino
10--------------5
11--------------6
12--------------7
13--------------8
2----------------2
5V -------------- 1
3,3 V ------------ 9
GND ----------- 3
RST ------------ 4
U ovoj temi je također spomenuto da su presjekli kabel od 3,3 V tako da USB može dobiti 5 V iz VBUS -a.
Ovaj opis i priložene slike potječu iz ove teme.
BTW, došlo je do pogreške u ispisu na ovoj ploči, pa je ovo bilo pomalo zbunjujuće, međutim, možete vidjeti moje povratne informacije o tome (tyrkelko) i odakle sam to naučio.
Korak 3: Ima li tko čips? Dodavanje SN76489 s 4MHz Osc. i 595 Registar pomaka
Sada je došlo vrijeme za dodavanje čipa koji proizvodi ovaj nevjerojatan zvuk.
Već sam razvio biblioteku za povezivanje arduina s ovim čipom i morao sam samo slijediti moje upute.
Knjižnica je objavljena u githubu pod GPLv3 (moje prvo izdanje otvorenog koda).
github.com/tyrkelko/sn76489
Veza 76489 i 595 bila je kao na priloženoj slici koja je snimljena iz datoteke readme.txt knjižnice
Omogući pisanje pri niskom (NotWE) od 76489 bilo je spojeno s pinom 3 nano i može se promijeniti u kodu.
#define PIN_NotWE 3
595 je na nano povezan na sljedeći način, a također se može podesiti uređivanjem brojeva pinova:
#define PIN_SER 7
#define PIN_LATCH 6
#define PIN_CLK 5
Oscilator koji sam koristio bio je kristalni oscilator od 4 MHz sa 4 noge.
Konfiguriran je u kodu na sljedeći način, a njegovu vrijednost možete prilagoditi bilo kojoj frekvenciji oscilatora između 500kHz i 4MHz:
#define FREKVENCIJA 4000000.0
Povezivanje oscilatora koji sam koristio bilo je sljedeće:
pin 1 - nije spojen
pin 7 - uzemljenje
pin 8 - spojen na 76489 pin 14 - sat osc
Korak 4: Samo dodajte kôd - dodavanje knjižnica, sastavljanje i prijenos koda
Knjižnice korištene u ovom projektu potrebno je dodati u Arduino IDE na sljedeći način:
Otvorite Arduino IDE
Preuzmite sljedeće knjižnice u mapu knjižnice vašeg IDE -a (nadam se da ćete ih uskoro vidjeti u izborniku "Upravljanje knjižnicama …" u izborniku IDE "Alati"):
github.com/felis/USB_Host_Shield_2.0
github.com/tyrkelko/sn76489
Upotrijebite kôd iz sljedećeg github projekta:
github.com/tyrkelko/usb_midi_tone
Preuzmite usb_midi_tone.ino, sastavite i prenesite na svoj Arduino nano.
Korak 5: Spojite pojačalo i zvučnik, spojite USB midi tipkovnicu i testirajte
Sada je vrijeme da provjerite radi li sve.
Da bismo to učinili potrebno nam je:
1. Pojačalo i zvučnik
2. USB midi tipkovnica
Spojite SN76489 pin 7, audio izlaz, na ulaz za pojačalo.
Uključite pojačalo, a zatim uključite arduino nano. Sada biste trebali djelić sekunde čuti zvuk testa pri uključivanju.
Spojite USB midi tipkovnicu i testirajte.
Ako sve radi ispravno, trebali biste moći reproducirati 3 tona istovremeno, a također možete reproducirati 8 vrsta šuma, pa čak i neki četvrtinski ton od 24 EDO-ljestvice.
Ako ne uspije, prijeđite korake da vidite što je moglo poći po zlu.
Ako mislite da je to rezultat nejasnih uputa, pošaljite mi bilješku kako bih ažurirao upute kako bih to popravio.
Korak 6: Dovršite krug s 5V regulatorom napona, 12V konektorom, prekidačem za uključivanje/isključivanje i LED za napajanje
U ovom koraku trebali biste moći završiti krug nakon testiranja da bi ispravno radio.
1. Dodajte regulator snage s LM7805 i dva 10uF kondenzatora i 0,1uF. O tome postoji mnogo vodiča, a za to možete koristiti sljedeće upute-https://www.instructables.com/id/7805-Regulator-5V…
2. Dodajte 12V priključak za napajanje s Vcc -om koji ide preko prekidača za uključivanje/isključivanje
3. Dodajte LED sa otpornikom za ograničavanje struje kako biste naznačili kada je napajanje uključeno.
Korak 7: Zatvorite u kutiju, obojite i uživajte u novom sintetizatoru
Nakon što sklop bude testiran i radi po vašem ukusu, nećete imati puno posla osim izgradnje lijepog kućišta, obojite ga sjajnim bojama i pustite glazbu.
Nadam se da ste uživali u čitanju ovog uputstva i da vas je inspiriralo da napravite vlastiti sintetizator ili krenete s drugim projektom na kojem radite.
U nastavku komentirajte bilo kakva pitanja, a ako ste izgradili nešto slično na temelju ovog vodiča, bilo bi sjajno da podijelite ono što ste napravili u "Ja sam ovo napravio!" području ili u odjeljku za povratne informacije.
Preporučeni:
Dub Siren Synth - 555 Project V2: 13 koraka (sa slikama)
Dub Siren Synth - 555 Project V2: Moja prva izgradnja dub sirene bila je malo komplicirana. Iako je dobro radio, za napajanje su vam bile potrebne baterije 3 x 9V, što je bilo pretjerano i morao sam izgraditi glavni krug na prototipnoj ploči. Prvi video je demo zvukova koje ste
Synth Bending Synth: 14 koraka (sa slikama)
Sound Bending Synth: Već sam napravio nekoliko strojeva za savijanje zvuka (pogledajte donje veze do "ibles"). Ovaj put sam dodao modul za reverb i pojačalo koji vam zaista daje cijeli niz zvukova za igru. Osim toga, modul diktafona koji se koristi u
Arduino Synth / Tone Generator: 5 koraka
Arduino Synth / Tone Generator: Ovo je Synth / Tone Generator koji koristi naredbu Tone koja je izvorna za Arduino. Ima 12 zasebnih tipki koje se mogu postaviti za reprodukciju bilo koje frekvencije kvadratnog vala. Ima mogućnost pomicanja gore -dolje po oktavama pomoću gumba. Također ima s
MIDI 5V LED kontroler svjetla za Spielatron ili drugi MIDI Synth: 7 koraka (sa slikama)
MIDI 5V LED svjetlosni kontroler za Spielatron ili drugi MIDI Synth: Ovaj regulator treperi trobojna LED svjetla za 50 mS po bilješci. Plavo za G5 do D#6, crveno za E6 do B6 i zeleno za C7 do G7. Upravljač je ALSA MIDI uređaj pa MIDI softver može izlaziti na LED diode istovremeno s MIDI sintetičkim uređajem
Knex Ipod nano nano stalak 3. i 2. generacije: 5 koraka
Knex Ipod Nano postolje 3. i 2. generacije: njegovo postolje za iPod ipod 2. i 3. generacije također bi se vjerojatno moglo koristiti za druge stvari, ali ne znam što su još, recite mi ako nađete još koristi