Sisällysluettelo:

Rakennetaan SN76489 USB MIDI Synth Arduino Nanolla: 7 vaihetta
Rakennetaan SN76489 USB MIDI Synth Arduino Nanolla: 7 vaihetta

Video: Rakennetaan SN76489 USB MIDI Synth Arduino Nanolla: 7 vaihetta

Video: Rakennetaan SN76489 USB MIDI Synth Arduino Nanolla: 7 vaihetta
Video: Homemade SN76489 + Arduino nano synth with original demo composition 2024, Marraskuu
Anonim
Image
Image
Rakennetaan SN76489 USB MIDI Synth Arduino Nanon avulla
Rakennetaan SN76489 USB MIDI Synth Arduino Nanon avulla
Rakennetaan SN76489 USB MIDI Synth Arduino Nanon avulla
Rakennetaan SN76489 USB MIDI Synth Arduino Nanon avulla

Oletko koskaan halunnut rakentaa oman syntetisaattorisi vanhojen 80-luvun sirumusiikkien perusteella? Toista yksinkertaisia moniäänisiä kappaleita, jotka kuulostavat samalta kuin nämä vanhat Sega Master System- ja Megadrive -videopelit.

Olen tilannut muutamia SN76489 -siruja ebaysta ja midi -isäntäliittymästä ja kokeillut sitä. No, se ei ollut kävely puistossa minulle, mutta nautin jokaisesta hetkestä.

Ensin opin kuinka liittää SN76489 suoraan ja tehdä melua sen kanssa. Tässä oli joitain hämmentäviä elementtejä, mutta The Oddbloke Geek Blogin ja muutamien muiden esimerkkien avulla pystyin kehittämään yksinkertaisen arduino -kirjaston yhdessä sirun määritysasiakirjan kanssa.

Seuraavaksi minun piti oppia liittämään midi -näppäimistö USB -mini -isäntäkilpeen. Tämä ei ollut niin vaikeaa, koska joitakin asiakirjoja on saatavilla, ja hyviä kirjastoja on olemassa selkeillä esimerkeillä.

Kun ymmärsin sirun ohjaamisen ja USB -midi -näppäimistön liittämisen, ainoa asia, joka jäi tekemättä, oli kirjoittaa koodi, joka kietoisi kaiken yhteen ja sallisi minun käyttää näppäimistöä sirun hallintaan.

Matkan varrella opin, että äänet, joiden taajuus on alhaisempi kuin ne, joita yritin luoda 0x2f -midi -muistiinpanoille, eivät kuulostaneet oikein, joten päätin käyttää sitä, jotta melun lähettäminen melungeneraattorille voidaan suorittaa midi -nuotille välillä 0x28 - 0x2f ja myös sallia toistaa muistiinpanoja, joissa on itämainen arabimainen kosketus kaikkeen, joka on pienempi kuin midi 0x28.

Jälkeenpäin katsottuna rakentaminen oli hauskaa ja erittäin mielenkiintoista.

Toivon, että pidät sitä yhtä hauskana ja mielenkiintoisena kuin minä ja että jos rakennat sellaisen itse, olisit ystävällinen jakamaan siitä kuvia.

Jos pidit projektista, äänestä sitä alla, jotta voit voittaa sen osallistuvan kilpailun

Tarvikkeet

Olen lisännyt linkkejä materiaaliin, jonka voit ostaa tähän projektiin, mutta voit löytää monia saatavilla olevia kohteita, jotka voit kaapata vanhasta elektroniikasta.

Nämä linkit ovat kumppanilinkkejä, joten jos ostat klikkauksen jälkeen, saan pienen osan (ei omaisuutta) ja saat tälle projektille sopivan tuotteen. Niiden käytöstä ei ole maksua tai lisäkustannuksia, mutta voit löytää samanlaisia kohteita, jotka voivat korvata nämä melko helposti.

ebay.us/svA4z4 | 1 x suorituskykylevy

ebay.us/ZyEFNp | 1 x arduino nano

ebay.us/t1zy0v | 1 x USB -minisuojus

ebay.to/2QrHl1C | 1 x SN76489 äänisiru

ebay.us/aaaj8p | 1 x vuororekisteri 595

ebay.us/DSvTHO | 1 x 4 MHz: n kideoskillaattori

ebay.us/XQeM0Q | 1 x 5V jännitesäädin 7805

ebay.us/6R6Fpf | 1 x jäähdytyselementti jännitesäätimelle

ebay.us/xkLbn4 | 3 x 10uF kondensaattorit

ebay.us/pnm2BH | johdot

ebay.us/PMbUfY | 1 x punainen LED virtalähteeksi

ebay.us/zokHtc | 1 x 220 ohmin vastus LED -virran rajoittamiseksi

ebay.us/qjbesJ | 1 x virtaliitin 12 voltin virtalähteelle

ebay.us/cS0wwv | 1 x virtakytkin

sopiva laatikko (rakensin omani vanhasta laatikosta, joka lepäsi varastossani vuosia)

Vaihe 1: USB Mini Host Shieldin valmistelu 5 V: n Midi -laitteen ajamiseen

USB Mini Host Shieldin valmistelu 5 V: n midi -laitteen ajamiseen
USB Mini Host Shieldin valmistelu 5 V: n midi -laitteen ajamiseen

Koska USB -mini -isäntäsuoja toimii 3,3 V: lla ja käyttämäni USB -midi -näppäimistö vaatii 5 V: n, on suojan lähtöjännitettä säädettävä katkaisemalla 3,3 V: n linja, joka menee USB -lähtö Vcc: hen, joten voimme myöhemmin liittää sen 5V jännitteeseen.

On paljon opetusohjelmia siitä, miten se tehdään, ja se osoittautui melko yksinkertaiseksi:

Katkaise vain 2k2 vastuksen ja Vcc -linjan välinen viiva (katso oheinen kuva). Naarmutin tätä linjaa ruuvimeisselillä ja testasin, toimiiko se jatkuvuusmittarilla.

Vaihe 2: Liitä USB Mini Shield Arduino Nano -laitteeseen

Liitä USB Mini Shield Arduino Nano -laitteeseesi
Liitä USB Mini Shield Arduino Nano -laitteeseesi
Liitä USB Mini Shield Arduino Nano -laitteeseesi
Liitä USB Mini Shield Arduino Nano -laitteeseesi

Onneksi on paljon tietoa siitä, miten se tehdään, joten googlaamalla "Arduino Nano ja mini -USB -isäntäkilpi" pääsin tähän ketjuun

Siinä kuvattiin, miten USB mini v2.0 -suoja liitetään, ja sen jälkeen seurasin suoraan eteenpäin testaamaan joitain USB -midi -esimerkkejä.

Johdotus:

Arduino Host -kilpi

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

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

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

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

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

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

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

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

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

Tässä langassa mainittiin myös, että ne katkaisevat 3,3 V: n johdon, jotta USB voi saada 5 V: n VBUS: sta.

Tämä kuvaus ja oheiset kuvat ovat peräisin tästä ketjusta.

BTW, tämän levyn painatuksessa on virhe, joten tämä oli hieman hämmentävää, mutta näet palautteeni siitä (tyrkelko) ja mistä opin sen.

Vaihe 3: Sirut ketään? SN76489: n lisääminen 4 MHz: n oscilla. ja 595 vuororekisteri

Chips Kuka tahansa? SN76489: n lisääminen 4 MHz: n oscilla. ja 595 vuororekisteri
Chips Kuka tahansa? SN76489: n lisääminen 4 MHz: n oscilla. ja 595 vuororekisteri

Nyt oli aika lisätä siru, joka tuottaa tämän hämmästyttävän äänen.

Olen jo kehittänyt kirjaston, jolla voidaan liittää arduino tähän siruun, ja minun täytyi vain seurata ohjeita.

Kirjasto julkaistaan githubissa GPLv3: n alla (ensimmäinen avoimen lähdekoodin julkaisuni).

github.com/tyrkelko/sn76489

Yhteydet 76489 ja 595 olivat kuten liitteenä olevassa kuvassa, joka on otettu readme.txt -kirjastosta

Kirjoituksen salliminen matalalla (NotWE) 76489 oli kytketty nano nastaan 3 ja sitä voidaan muuttaa koodissa.

#define PIN_NotWE 3

595 liitettiin nanoon seuraavasti, ja sitä voidaan säätää myös muokkaamalla nastan numeroita:

#define PIN_SER 7

#define PIN_LATCH 6

#define PIN_CLK 5

Käytetty oskillaattori oli 4MHz kideoskillaattori, jossa oli 4 jalkaa.

Se määritettiin koodissa seuraavasti ja voit säätää sen arvon mihin tahansa oskillaattorin taajuuteen välillä 500 kHz - 4 MHz:

#define FREQUENCY 4000000.0

Käyttämäni oskillaattorin liittäminen oli seuraava:

nasta 1 - ei kytketty

nasta 7 - maa

nasta 8 - kytketty 76489 nastaan 14 - kellon osk

Vaihe 4: Lisää koodi - Kirjastojen lisääminen, koodin kokoaminen ja lataaminen

Tässä projektissa käytetyt kirjastot on lisättävä Arduino IDE: hen seuraavasti:

Avaa Arduino IDE

Lataa seuraavat kirjastot IDE: n kirjastokansioon (toivottavasti näet ne IDE: n Työkalut -valikon "Hallitse kirjastoja…" -valikon alla):

github.com/felis/USB_Host_Shield_2.0

github.com/tyrkelko/sn76489

Käytä seuraavan github -projektin koodia:

github.com/tyrkelko/usb_midi_tone

Lataa usb_midi_tone.ino, käännä ja lataa Arduino nano -laitteeseesi.

Vaihe 5: Liitä vahvistin ja kaiutin, liitä USB -midi -näppäimistö ja testaa

Nyt on aika testata, että kaikki toimii.

Tätä varten tarvitsemme:

1. Vahvistin ja kaiutin

2. USB -midi -näppäimistö

Liitä SN76489 nastainen 7, äänilähtö, vahvistimen äänituloon.

Käynnistä vahvistin ja sitten arduino nano. Sinun pitäisi nyt kuulla käynnistyksen testiääni sekunnin murto -osassa.

Liitä USB -midi -näppäimistö ja testaa.

Jos kaikki toimii oikein, sinun pitäisi pystyä toistamaan 3 ääntä samanaikaisesti ja myös toistamaan 8 erilaista kohinaa ja jopa neljännesääntä 24 EDO-asteikkoa.

Jos se ei toimi, katso vaiheet ja katso, mikä on saattanut mennä pieleen.

Jos sinusta tuntuu, että tämä johtuu epäselvistä ohjeista, lähetä minulle huomautus, jotta päivitän ohjeet korjataksesi sen.

Vaihe 6: Täytä piiri 5 V: n jännitesäätimellä, 12 V: n liittimellä, virtakytkimellä ja virran merkkivalolla

Tässä vaiheessa sinun pitäisi pystyä käärimään piiri, kun olet testannut sen toimivan oikein.

1. Lisää tehonsäädin, jossa on LM7805 ja kaksi 10uF kondensaattoria ja 0,1uF. Tästä on paljon opetusohjelmia, voit käyttää seuraavia ohjeita tämän saavuttamiseksi-https://www.instructables.com/id/7805-Regulator-5V…

2. Lisää 12 V: n virtaliitin siten, että Vcc kulkee virtakytkimen kautta

3. Lisää LED, jossa on rajoittava virran vastus, joka ilmoittaa, milloin virta on päällä.

Vaihe 7: Sulje laatikko, maalaa ja nauti uudesta synteesistä

Kun piiri on testattu ja toimii mieleiseksesi, ei ole paljon muuta tekemistä kuin mukavan kotelon rakentaminen, maalaa se upeilla väreillä ja toista musiikkia.

Toivottavasti pidit tämän ohjeen lukemisesta ja että se inspiroi sinua rakentamaan oman syntetisaattorisi tai aloittamaan toisen projektin, jonka parissa työskentelet.

Kommentoi alla, jos sinulla on kysyttävää, ja jos olet rakentanut jotain vastaavaa tämän opetusohjelman perusteella, olisi hienoa, jos jakaisit tekemäsi "Tein tämän!" alueella tai palauteosiossa.

Suositeltava: