Sadržaj:

Izgradimo SN76489 USB MIDI Synth s Arduino Nano: 7 koraka
Izgradimo SN76489 USB MIDI Synth s Arduino Nano: 7 koraka

Video: Izgradimo SN76489 USB MIDI Synth s Arduino Nano: 7 koraka

Video: Izgradimo SN76489 USB MIDI Synth s Arduino Nano: 7 koraka
Video: USB-AdLib первые тесты.(OPL2/YM3812) 2024, Srpanj
Anonim
Image
Image
Izgradimo SN76489 USB MIDI Synth s Arduino Nano
Izgradimo SN76489 USB MIDI Synth s Arduino Nano
Izgradimo SN76489 USB MIDI Synth s Arduino Nano
Izgradimo SN76489 USB MIDI Synth s Arduino Nano

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

Priprema USB Mini Host Shield -a za pogon 5V Midi uređaja
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

Povežite USB mini štit sa svojim Arduino Nano
Povežite USB mini štit sa svojim Arduino Nano
Povežite USB mini štit sa svojim Arduino Nano
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

Ima tko čips? Dodavanje SN76489 s 4MHz Osc. i 595 Registar pomaka
Ima 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: