Sadržaj:

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

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

Video: Izgradimo SN76489 USB MIDI sintisajzer s Arduino Nano: 7 koraka
Video: Mr.Pinkie PIG midi kontroller. Плата без деталей 170$ полное описание и прошива собираете сами!) 2024, Juli
Anonim
Image
Image
Izgradimo SN76489 USB MIDI Synth sa Arduino Nano
Izgradimo SN76489 USB MIDI Synth sa Arduino Nano
Izgradimo SN76489 USB MIDI Synth sa Arduino Nano
Izgradimo SN76489 USB MIDI Synth sa Arduino Nano

Jeste li ikada željeli izgraditi vlastiti sintisajzer zasnovan na starim melodijama iz 80-ih? Pustite 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 sa ebaya i midi host interfejs i pokušao. Pa, to za mene nije bila šetnja parkom, ali, uživala sam u svakom trenutku.

Prvo sam naučio kako direktno spojiti SN76489 i napraviti neku buku s njim. Bilo je tu nekih zbunjujućih elemenata, ali uz pomoć The Oddbloke Geek Blog -a i nekoliko drugih primjera, zajedno sa dokumentom o specifikaciji čipa, uspio sam razviti jednostavnu arduino biblioteku.

Zatim sam morao naučiti kako spojiti midi tastaturu sa USB mini hostom. To nije bilo tako teško jer postoji određena dokumentacija, a postoje dobre biblioteke s jasnim primjerima.

Jednom kada sam shvatio kako kontrolirati čip i kako spojiti svoju USB midi tastaturu, jedino što je preostalo bilo je napisati neki kod koji bi sve ovo spojio i omogućio mi da pomoću tipkovnice upravljam čipom.

Usput sam naučio da zvukovi s nižom frekvencijom od onih koje sam pokušao generirati za midi note 0x2f ne zvuče dobro, pa sam odlučio to iskoristiti kako bih omogućio slanje buke generatoru buke za sve midi note između 0x28 i 0x2f i takođe dozvoljavaju sviranje nota sa orijentalnim arapskim dodirom za bilo šta 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, molimo vas da glasate za njega ispod kako biste pomogli pobijediti na natječaju u kojem učestvuje

Supplies

Dodao sam veze do materijala koji možete kupiti za ovaj projekt, međutim, mogli biste pronaći mnoge dostupne stavke koje možete izbrisati iz stare elektronike.

Ove veze su partnerske veze, pa ako kupite nakon što ih kliknete, dobivam mali dio (ne bogatstvo) i dobivate proizvod koji je pravi za ovaj projekt. Upotreba ovih uređaja ne uključuje nikakve naknade ili dodatne troškove, međutim možete pronaći bilo koje slične stavke koje ih prilično lako mogu 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 na 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 konektor za napajanje za 12v napajanje

ebay.us/cS0wwv | 1 x prekidač za uključivanje/isključivanje

odgovarajuću kutiju (svoju sam napravio 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 tastature koje koristim zahtijevaju 5V, potrebno je podesiti izlazni napon štita presijecanjem 3.3V linije koja ide na USB izlaz Vcc, tako da ga kasnije možemo spojiti na 5V.

Postoji mnogo vodiča o tome kako to učiniti, a pokazalo se da je prilično jednostavno:

Samo odrežite liniju između 2k2 otpornika i Vcc linije (pogledajte priloženu sliku). Koristio sam odvijač da izgrebem ovu liniju i testirao da li radi 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, a nakon što sam ga slijedio, krenuo sam s testiranjem nekih USB midi primjera.

Ožičenje:

Arduino štit domaćina

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

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

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

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

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

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

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

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

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

U ovoj temi je također spomenuto da su presjekli kabl od 3.3V kako bi USB mogao dobiti 5V iz VBUS -a.

Ovaj opis i priložene slike potječu iz ove teme.

BTW, postoji greška u otisku 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 čipsa? Dodavanje SN76489 sa 4MHz Osc. i 595 Shift Register

Chips Anyone? Dodavanje SN76489 sa 4MHz Osc. i 595 Shift Register
Chips Anyone? Dodavanje SN76489 sa 4MHz Osc. i 595 Shift Register

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.

Biblioteka 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 biblioteke

Omogućavanje pisanja na niskom nivou (NotWE) od 76489 bilo je povezano 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 može se i prilagoditi uređivanjem brojeva pinova:

#define PIN_SER 7

#define PIN_LATCH 6

#define PIN_CLK 5

Oscilator koji sam koristio 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 povezan

pin 7 - uzemljenje

pin 8 - spojen na 76489 pin 14 - sat osc

Korak 4: Samo dodajte kôd - Dodavanje biblioteka, sastavljanje i učitavanje 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 biblioteke u fasciklu biblioteke vašeg IDE -a (nadam se da ćete ih uskoro vidjeti u meniju "Upravljanje bibliotekama …" u meniju "Alati" IDE -a):

github.com/felis/USB_Host_Shield_2.0

github.com/tyrkelko/sn76489

Koristite kôd iz sljedećeg github projekta:

github.com/tyrkelko/usb_midi_tone

Preuzmite usb_midi_tone.ino, kompajlirajte i prenesite na svoj Arduino nano.

Korak 5: Povežite pojačalo i zvučnik, spojite USB midi tastaturu i testirajte

Sada je vrijeme da testiramo da li sve radi.

Da bismo to učinili potrebno nam je:

1. Pojačalo i zvučnik

2. USB midi tastatura

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.

Priključite USB midi tastaturu i testirajte.

Ako sve radi ispravno, trebali biste moći reproducirati 3 tona istovremeno, a reproducirati i 8 vrsta šuma, pa čak i neki četvrtinski ton od 24 EDO-ljestvice.

Ako ne uspije, pređite korake da vidite što je moglo poći po zlu.

Ako mislite da je to rezultat nejasnih uputstava, pošaljite mi bilješku kako bih ažurirao upute kako bih to popravio.

Korak 6: Dovršite krug pomoću regulatora napona od 5 V, 12 V konektora, prekidača za uključivanje/isključivanje i LED za napajanje

U ovom koraku trebali biste biti u mogućnosti zaključ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 konektor za napajanje od 12 V sa 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, ofarbajte i uživajte u novom sintetizatoru

Nakon što se strujna kola testiraju i rade po vašem ukusu, ne preostaje vam mnogo posla osim izgradnje lijepog kućišta, obojite ga sjajnim bojama i pustite muziku.

Nadam se da ste uživali u čitanju ovog uputstva i da vas je inspiriralo da napravite vlastiti sintetičar ili da krenete s drugim projektom na kojem radite.

Molimo vas da u nastavku komentirate bilo kakva pitanja, a ako ste napravili 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čuje se: