Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: USB Mini Host Shieldin valmistelu 5 V: n Midi -laitteen ajamiseen
- Vaihe 2: Liitä USB Mini Shield Arduino Nano -laitteeseen
- Vaihe 3: Sirut ketään? SN76489: n lisääminen 4 MHz: n oscilla. ja 595 vuororekisteri
- Vaihe 4: Lisää koodi - Kirjastojen lisääminen, koodin kokoaminen ja lataaminen
- Vaihe 5: Liitä vahvistin ja kaiutin, liitä USB -midi -näppäimistö ja testaa
- Vaihe 6: Täytä piiri 5 V: n jännitesäätimellä, 12 V: n liittimellä, virtakytkimellä ja virran merkkivalolla
- Vaihe 7: Sulje laatikko, maalaa ja nauti uudesta synteesistä
Video: Rakennetaan SN76489 USB MIDI Synth Arduino Nanolla: 7 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
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
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
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
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:
Kloonaa mikä tahansa kaukosäädin Arduino Nanolla: 5 vaihetta
Kloonaa mikä tahansa kaukosäädin Arduino Nanolla: Kloonaa mikä tahansa kaukosäädin Arduino Nano -laitteella
Nixie -lämpömittari ja kosteusmittari Arduino Nanolla: 6 vaihetta
Nixie -lämpömittari ja -kosteusmittari Arduino Nanon kanssa: Kuinka viettää aikaa hauskanpitoon ja oppia paljon lisää tehosuuntimilla, yhdellä lanka -anturilla, Nixie -putkilla, Arduino -koodauksella.Tänä aikana meitä kaikkia pyydetään pysymään kotona suojelemaan itseämme ja muita COVID-19. Tämä on paras aika käyttää
ESP8266-07 ohjelmoija Arduino Nanolla: 6 vaihetta (kuvilla)
ESP8266-07-ohjelmoija Arduino Nanon kanssa: Tämä on lyhyt opetusohjelma hienon ESP8266-07/12E-ohjelmointikortin luomiseen Arduino-nanon avulla. Johdotuskaavio on hyvin samanlainen kuin tässä esitetty. Sinulla on vaihtoehtoja kytkeä tämä projekti leipälautaan, juottaa itsesi
Rakennetaan (analoginen syntetisaattori): 5 vaihetta
Rakennetaan (analoginen syntetisaattori): Tässä sarjassa näytän sinulle, kuinka rakentaa modulaarinen analoginen syntetisaattori käyttämällä sekä analogisia että digitaalisia komponentteja. 1mZX4LyiJwXZLJ3R56SDxloMnk8z07IYJ
Analoginen tyyli LED -POV -kello Arduino Nanolla: 4 vaihetta
Analoginen tyyli Led POV -kello Arduino Nanolla: Tämä on hienon näköinen analoginen tyyli Led POV -kello