Indholdsfortegnelse:

Lad os bygge en SN76489 USB MIDI Synth med Arduino Nano: 7 trin
Lad os bygge en SN76489 USB MIDI Synth med Arduino Nano: 7 trin

Video: Lad os bygge en SN76489 USB MIDI Synth med Arduino Nano: 7 trin

Video: Lad os bygge en SN76489 USB MIDI Synth med Arduino Nano: 7 trin
Video: ЛЮБОВЬ С ДОСТАВКОЙ НА ДОМ (2020). Романтическая комедия. Хит 2024, December
Anonim
Image
Image
Lad os bygge en SN76489 USB MIDI Synth med Arduino Nano
Lad os bygge en SN76489 USB MIDI Synth med Arduino Nano
Lad os bygge en SN76489 USB MIDI Synth med Arduino Nano
Lad os bygge en SN76489 USB MIDI Synth med Arduino Nano

Har du nogensinde ønsket at bygge din egen synthesizer baseret på gamle chip-melodier fra 80'erne? Spil enkle polyfoniske melodier, der lyder ligesom disse gamle Sega Master System og Megadrive videospil lød som?

Jeg har, så jeg bestilte et par SN76489 chips fra ebay og en midi host interface og gav det et skud. Nå, det var ikke en tur i parken for mig, men jeg nød hvert øjeblik.

Først lærte jeg, hvordan jeg direkte interfacer SN76489 og larmer lidt med det. Der var nogle forvirrende elementer i dette, men ved hjælp af The Oddbloke Geek Blog og et par andre eksempler kunne jeg sammen med chipspecifikationsdokumentet udvikle et simpelt arduino -bibliotek.

Dernæst måtte jeg lære at tilslutte et midi -tastatur med et USB mini -værtsskjold. Dette var ikke så svært, da der er noget dokumentation til rådighed, og der findes gode biblioteker med klare eksempler.

Når jeg forstod, hvordan jeg skulle kontrollere chippen, og hvordan jeg skulle tilslutte mit USB midi -tastatur, var det eneste, jeg skulle gøre, at skrive en kode, der ville pakke alt dette sammen og give mig mulighed for at bruge tastaturet til at styre chippen.

Undervejs lærte jeg, at lyde med lavere frekvens end dem, jeg forsøgte at generere for 0x2f midi -toner, ikke lyder rigtigt, så jeg besluttede at bruge det til at tillade at sende støj til støjgeneratoren for alle midi -toner mellem 0x28 og 0x2f og tillade også afspilningsnoter med et orientalsk arabisk touch til det, der er lavere end midi 0x28.

Set baglæns var det meget sjovt og meget interessant at bygge.

Jeg håber, at du synes det er lige så sjovt og interessant som jeg gjorde, og at hvis du selv bygger et, ville du være venlig nok til at dele nogle billeder af det.

Hvis du kunne lide dette projekt, skal du stemme på det herunder for at hjælpe med at vinde den konkurrence, det deltager i

Forbrugsvarer

Jeg har tilføjet links til materiale, du kan købe til dette projekt, men du kan finde mange tilgængelige varer, som du kan skrabe fra gammel elektronik.

Disse links er tilknyttede links, så hvis du køber efter at have klikket på dem, får jeg en lille portion (ikke formue), og du får et produkt, der passer til dette projekt. Der er ingen gebyrer eller ekstra omkostninger ved at bruge disse, men du kan finde lignende varer, der ret let kan erstatte disse.

ebay.us/svA4z4 | 1 x performance board

ebay.us/ZyEFNp | 1 x arduino nano

ebay.us/t1zy0v | 1 x USB mini -skærm

ebay.to/2QrHl1C | 1 x SN76489 lydchip

ebay.us/aaaj8p | 1 x skifteregister 595

ebay.us/DSvTHO | 1 x krystaloscillator på 4MHz

ebay.us/XQeM0Q | 1 x 5V spændingsregulator 7805

ebay.us/6R6Fpf | 1 x køleplade til spændingsregulatoren

ebay.us/xkLbn4 | 3 x 10uF kondensatorer

ebay.us/pnm2BH | ledninger

ebay.us/PMbUfY | 1 x rød LED til strøm

ebay.us/zokHtc | 1 x 220 ohm modstand for at begrænse LED -strømmen

ebay.us/qjbesJ | 1 x strømstik til 12v strømforsyning

ebay.us/cS0wwv | 1 x tænd/sluk -kontakt

en passende kasse (jeg byggede min fra en gammel skuffe, der hvilede i mit lager i årevis)

Trin 1: Forberedelse af USB Mini Host Shield til at drive en 5V Midi -enhed

Klargøring af USB Mini Host Shield til at drive en 5V Midi -enhed
Klargøring af USB Mini Host Shield til at drive en 5V Midi -enhed

Da USB mini -værtsskærmen fungerer på 3.3V, og de USB -midi -tastaturer, jeg bruger, kræver 5V, er det nødvendigt at justere skjoldets udgangsspænding ved at skære den 3.3V -linje, der går til USB -ud Vcc, så vi kan senere tilslutte det til 5V.

Der er masser af tutorials om, hvordan man gør det, og det viste sig at være ganske enkelt:

Skær bare linjen mellem 2k2 -modstanden og Vcc -linjen (se vedlagte billede). Jeg brugte en skruetrækker til at ridse denne linje og testede, om den fungerede med en kontinuitetsmåler.

Trin 2: Tilslut USB Mini Shield med din Arduino Nano

Tilslut USB Mini Shield med din Arduino Nano
Tilslut USB Mini Shield med din Arduino Nano
Tilslut USB Mini Shield med din Arduino Nano
Tilslut USB Mini Shield med din Arduino Nano

Heldigvis er der masser af information om, hvordan man gør det, så ved at google efter "Arduino Nano og mini USB host shield" landede jeg på denne tråd

Det beskrev, hvordan du tilslutter USB mini v2.0 -skjoldet, og efter at have fulgt det gik jeg lige frem for at teste nogle USB -midi -eksempler.

Ledninger:

Arduino værtsskjold

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

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

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

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

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

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

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

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

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

I denne tråd blev det også nævnt, at de skar 3,3V -ledningen, så USB'en kan få 5V fra VBUS.

Denne beskrivelse og vedlagte billeder stammer fra denne tråd.

BTW, der er en fejl på printet på dette bord, så det var lidt forvirrende, men du kan se min feedback om det (tyrkelko), og hvor jeg lærte det fra.

Trin 3: Chips nogen? Tilføjelse af SN76489 Med 4MHz Osc. og 595 Skiftregister

Chips nogen? Tilføjelse af SN76489 Med 4MHz Osc. og 595 Skiftregister
Chips nogen? Tilføjelse af SN76489 Med 4MHz Osc. og 595 Skiftregister

Nu var det tid til at tilføje den chip, der laver denne fantastiske lyd.

Jeg har allerede udviklet et bibliotek til at interface arduino med denne chip og måtte kun følge mine instruktioner.

Biblioteket frigives i github under GPLv3 (min første open source -udgivelse).

github.com/tyrkelko/sn76489

Forbindelsen mellem 76489 og 595 var som i det vedlagte billede, som er taget fra biblioteket readme.txt -fil

Write Enable on Low (NotWE) fra 76489 var forbundet med pin 3 på nano'en og kan ændres i koden.

#define PIN_NotWE 3

595 blev forbundet til nano som følger og kan også justeres ved at redigere stiftnumrene:

#definer PIN_SER 7

#definer PIN_LATCH 6

#definer PIN_CLK 5

Den oscillator, jeg brugte, var en 4MHz krystaloscillator med 4 ben.

Den blev konfigureret i koden som følger, og du kan justere dens værdi til enhver oscillatorfrekvens mellem 500kHz og 4MHz:

#define FREKVENS 4000000.0

Tilslutning af den oscillator, jeg brugte, var som følger:

pin 1 - ikke tilsluttet

pin 7 - jorden

pin 8 - forbundet til 76489 pin 14 - ur osc

Trin 4: Tilføj blot kode - Tilføjelse af biblioteker, kompilering og upload af koden

Biblioteker, der bruges i dette projekt, skal tilføjes til Arduino IDE som følger:

Åbn Arduino IDE

Download følgende biblioteker i biblioteksmappen på din IDE (håber at se disse under menuen "Administrer biblioteker …" i IDE "Værktøjer" -menuen snart):

github.com/felis/USB_Host_Shield_2.0

github.com/tyrkelko/sn76489

Brug koden fra følgende github -projekt:

github.com/tyrkelko/usb_midi_tone

Download usb_midi_tone.ino, kompilér og upload til din Arduino nano.

Trin 5: Tilslut en forstærker og højttaler, tilslut dit USB Midi -tastatur og test

Nu er det tid til at teste alt fungerer.

For at gøre det har vi brug for:

1. En forstærker og højttaler

2. Et USB midi -tastatur

Tilslut SN76489 pin 7, lydudgang, til forstærkerens lydindgang.

Tænd for forstærkeren, og tænd derefter for arduino nano. Du skulle nu høre opstartstestlyden i et splitsekund.

Tilslut USB midi -tastaturet og test.

Hvis alt fungerer korrekt, skal du kunne afspille 3 toner samtidigt og også afspille 8 typer støj og endda en kvart tone på 24 EDO-skala.

Hvis det ikke virker, skal du gå over trinene for at se, hvad der kan være gået galt.

Hvis du føler, at dette skyldes uklare instruktioner, bedes du sende mig en note, så jeg opdaterer instruktionerne for at rette det.

Trin 6: Fuldfør kredsløbet med en 5V spændingsregulator, 12V stik, tænd/sluk -knap og strøm -LED

I dette trin skulle du være i stand til at afslutte kredsløbet efter at have testet det for at fungere korrekt.

1. Tilføj en effektregulator med LM7805 og to 10uF kondensatorer og 0.1uF. Der er masser af tutorials om dette, du kan bruge følgende instruktive til at opnå det-https://www.instructables.com/id/7805-Regulator-5V…

2. Tilføj et 12V strømstik, mens Vcc går via en tænd/sluk -kontakt

3. Tilføj en LED med en begrænsende strømmodstand for at angive, hvornår strømmen er tændt.

Trin 7: Læg i en kasse, mal og nyd din nye syntese

Når kredsløbet er testet og fungerer efter din smag, er der ikke meget tilbage at gøre, bortset fra at bygge et flot kabinet, male det med fantastiske farver og afspille noget musik.

Jeg håber, at du nød at læse dette instruerbare, og at det inspirerede dig til at bygge din egen synth eller komme i gang med et andet projekt, du arbejder på.

Kommenter venligst nedenfor med eventuelle spørgsmål, og hvis du har bygget noget lignende baseret på denne vejledning, ville det være fantastisk, hvis du ville dele det, du har lavet i "Jeg lavede dette!" område eller i feedbackafsnittet.

Anbefalede: