Turinys:
- Prekės
- 1 veiksmas: USB mini pagrindinio skydo paruošimas 5V „Midi“įrenginiui valdyti
- 2 veiksmas: prijunkite USB mini skydą prie „Arduino Nano“
- 3 žingsnis: lustai kas nors? Pridedamas SN76489 su 4 MHz Osc. ir 595 pamainų registras
- 4 veiksmas: tiesiog pridėkite kodą - bibliotekų pridėjimas, kodo sudarymas ir įkėlimas
- 5 veiksmas: prijunkite stiprintuvą ir garsiakalbį, prijunkite USB „Midi“klaviatūrą ir išbandykite
- 6 žingsnis: Užbaikite grandinę naudodami 5 V įtampos reguliatorių, 12 V jungtį, maitinimo įjungimo/išjungimo jungiklį ir maitinimo šviesos diodą
- 7 žingsnis: uždėkite dėžutę, dažykite ir mėgaukitės nauja sinteze
Video: Sukurkime SN76489 USB MIDI sintezę su „Arduino Nano“: 7 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:46
Ar kada nors norėjote sukurti savo sintezatorių, pagrįstą senomis 80-ųjų melodijomis? Groti paprastas polifonines melodijas, kurios skamba taip, kaip skambėjo šie seni „Sega Master System“ir „Megadrive“vaizdo žaidimai?
Taigi, aš užsisakiau keletą SN76489 mikroschemų iš „ebay“ir „midi“pagrindinio kompiuterio sąsajos ir išbandžiau. Na, man tai nebuvo pasivaikščiojimas parke, bet mėgau kiekvieną akimirką.
Pirmiausia išmokau, kaip tiesiogiai sujungti SN76489 ir su juo kelti triukšmą. Buvo keletas painių elementų, tačiau, padedant „The Oddbloke Geek Blog“ir keliems kitiems pavyzdžiams, kartu su mikroschemų specifikacijos dokumentu galėjau sukurti paprastą arduino biblioteką.
Toliau turėjau išmokti susieti midi klaviatūrą su USB mini kompiuterio skydeliu. Tai nebuvo taip sunku, nes yra tam tikros dokumentacijos ir yra gerų bibliotekų su aiškiais pavyzdžiais.
Kai supratau, kaip valdyti mikroschemą ir kaip prijungti USB midi klaviatūrą, beliko tik parašyti kodą, kuris visa tai sujungtų ir leistų man naudoti klaviatūrą mikroschemai valdyti.
Pakeliui sužinojau, kad garsai, kurių dažnis yra mažesnis nei tie, kuriuos bandžiau generuoti „0x2f“midi natoms, skamba netinkamai, todėl nusprendžiau tai naudoti, kad triukšmo generatorius galėtų siųsti triukšmą bet kokiems midi natams nuo 0x28 iki 0x2f ir taip pat leisti groti užrašus su rytietišku arabišku prisilietimu, jei tai yra mažesnė nei midi 0x28.
Žvelgiant atgal, buvo labai smagu ir labai įdomu statyti.
Tikiuosi, kad jums tai bus taip smagu ir įdomu, kaip ir man, ir kad jei pats pasistatysite, būtumėte malonūs pasidalyti keliomis jo nuotraukomis.
Jei jums patiko šis projektas, balsuokite už jį žemiau, kad padėtumėte laimėti konkursą, kuriame jis dalyvauja
Prekės
Pridėjau nuorodų į medžiagą, kurią galite įsigyti šiam projektui, tačiau galite rasti daug galimų elementų, kuriuos galite nuskaityti iš senos elektronikos.
Šios nuorodos yra filialų nuorodos, taigi, jei perkate jas spustelėję, gaunu nedidelę dalį (ne likimą) ir gausite šiam projektui tinkamą produktą. Naudojant juos nėra jokio mokesčio ar papildomų išlaidų, tačiau galite rasti bet kokių panašių elementų, kurie gali juos gana lengvai pakeisti.
ebay.us/svA4z4 | 1 x našumo lenta
ebay.us/ZyEFNp | 1 x arduino nano
ebay.us/t1zy0v | 1 x USB mini skydas
ebay.to/2QrHl1C | 1 x SN76489 garso lustas
ebay.us/aaaj8p | 1 x pamainų registras 595
ebay.us/DSvTHO | 1 x 4MHz kristalų osciliatorius
ebay.us/XQeM0Q | 1 x 5 V įtampos reguliatorius 7805
ebay.us/6R6Fpf | 1 x įtampos reguliatoriaus radiatorius
ebay.us/xkLbn4 | 3 x 10uF kondensatoriai
ebay.us/pnm2BH | laidai
ebay.us/PMbUfY | 1 x raudonas šviesos diodas, skirtas maitinti
ebay.us/zokHtc | 1 x 220 omų rezistorius, skirtas LED srovės srautui apriboti
ebay.us/qjbesJ | 1 x maitinimo jungtis 12 V maitinimo šaltiniui
ebay.us/cS0wwv | 1 x įjungimo/išjungimo jungiklis
tinkama dėžutė (aš ją pastatiau iš seno stalčiaus, kuris ilgus metus stovėjo mano saugykloje)
1 veiksmas: USB mini pagrindinio skydo paruošimas 5V „Midi“įrenginiui valdyti
Kadangi USB mini prieglobos skydas veikia 3,3 V įtampa, o mano naudojamoms USB midi klaviatūroms reikia 5 V įtampos, reikia reguliuoti skydo išėjimo įtampą, nutraukiant 3,3 V liniją, einančią į USB išvesties Vcc, todėl vėliau galime ją prijungti iki 5V.
Yra daug vadovėlių, kaip tai padaryti, ir tai pasirodė gana paprasta:
Tiesiog nukirpkite liniją tarp 2k2 rezistoriaus ir Vcc linijos (žr. Pridedamą paveikslėlį). Aš naudoju atsuktuvą, kad subraižyčiau šią liniją ir išbandžiau, ar ji veikia su tęstinumo matuokliu.
2 veiksmas: prijunkite USB mini skydą prie „Arduino Nano“
Laimei, yra daug informacijos apie tai, kaip tai padaryti, todėl „Google“ieškodamas „Arduino Nano ir mini USB pagrindinio skydo“atsidūriau šioje temoje
Jame buvo aprašyta, kaip prijungti USB mini v2.0 skydą, ir po to ėjau tiesiai į priekį išbandyti kai kurių USB midi pavyzdžių.
Laidai:
„Arduino Host“skydas
10--------------5
11--------------6
12--------------7
13--------------8
2----------------2
5V -------------- 1
3.3V ------------ 9
GND ----------- 3
RST ------------ 4
Šioje temoje taip pat buvo paminėta, kad jie nutraukė 3,3 V laidą, kad USB galėtų gauti 5 V iš VBUS.
Šis aprašymas ir pridedami vaizdai yra iš šios temos.
BTW, šios lentos spaudoje yra klaida, todėl tai buvo šiek tiek painu, tačiau galite pamatyti mano atsiliepimus apie tai (tyrkelko) ir iš kur aš to sužinojau.
3 žingsnis: lustai kas nors? Pridedamas SN76489 su 4 MHz Osc. ir 595 pamainų registras
Dabar atėjo laikas pridėti lustą, kuris skleidžia šį nuostabų garsą.
Aš jau sukūriau biblioteką, skirtą sąsajai arduino su šiuo lustu, ir turėjau vykdyti tik mano nurodymus.
Biblioteka išleista „Github“pagal GPLv3 (mano pirmasis atviro kodo leidimas).
github.com/tyrkelko/sn76489
76489 ir 595 ryšys buvo toks kaip pridėtame paveikslėlyje, kuris užfiksuotas iš bibliotekos readme.txt failo
76489 rašymo įjungimas žemai (NotWE) buvo prijungtas prie 3 nano kaiščio ir gali būti pakeistas kodu.
#define PIN_NotWE 3
595 buvo prijungtas prie nano taip ir gali būti sureguliuotas redaguojant kaiščių numerius:
#define PIN_SER 7
#define PIN_LATCH 6
#define PIN_CLK 5
Osciliatorius, kurį naudojau, buvo 4MHz kristalų osciliatorius su 4 kojomis.
Jis buvo sukonfigūruotas kode taip, ir jūs galite koreguoti jo vertę pagal bet kurį generatoriaus dažnį nuo 500 kHz iki 4 MHz:
#define FREQUENCY 4000000.0
Naudojamas osciliatorius buvo prijungtas taip:
1 kaištis - neprijungtas
7 kaištis - įžemintas
8 kaištis - prijungtas prie 76489 kaiščio 14 - laikrodžio osc
4 veiksmas: tiesiog pridėkite kodą - bibliotekų pridėjimas, kodo sudarymas ir įkėlimas
Šiame projekte naudojamos bibliotekos turi būti įtrauktos į „Arduino IDE“taip:
Atidarykite „Arduino IDE“
Atsisiųskite šias bibliotekas į savo IDE bibliotekos aplanką (tikiuosi, kad netrukus pamatysite jas IDE meniu „Įrankiai“meniu „Tvarkyti bibliotekas…“):
github.com/felis/USB_Host_Shield_2.0
github.com/tyrkelko/sn76489
Naudokite šio github projekto kodą:
github.com/tyrkelko/usb_midi_tone
Atsisiųskite usb_midi_tone.ino, sudarykite ir įkelkite į „Arduino nano“.
5 veiksmas: prijunkite stiprintuvą ir garsiakalbį, prijunkite USB „Midi“klaviatūrą ir išbandykite
Dabar atėjo laikas išbandyti, ar viskas veikia.
Norėdami tai padaryti, mums reikia:
1. Stiprintuvas ir garsiakalbis
2. USB midi klaviatūra
Prijunkite SN76489 7 kaištį, garso išvestį, prie stiprintuvo garso įvesties.
Įjunkite stiprintuvą ir įjunkite arduino nano. Dabar sekundės dalį turėtumėte išgirsti įjungimo bandymo garsą.
Prijunkite USB midi klaviatūrą ir išbandykite.
Jei viskas veikia teisingai, turėtumėte sugebėti vienu metu groti 3 tonus, taip pat groti 8 tipų triukšmą ir net ketvirtadalį 24 EDO skalės tonų.
Jei tai neveikia, atlikite veiksmus, kad pamatytumėte, kas galėjo nutikti.
Jei manote, kad tai atsiranda dėl neaiškių instrukcijų, parašykite man pranešimą, kad atnaujinčiau instrukcijas, kad tai ištaisyčiau.
6 žingsnis: Užbaikite grandinę naudodami 5 V įtampos reguliatorių, 12 V jungtį, maitinimo įjungimo/išjungimo jungiklį ir maitinimo šviesos diodą
Šiame etape turėtumėte sugebėti užbaigti grandinę, išbandę, ar ji veikia tinkamai.
1. Pridėkite galios reguliatorių su LM7805 ir dviem 10uF kondensatoriais ir 0,1uF. Yra daug pamokų apie tai, galite tai padaryti naudodami šią instrukciją-https://www.instructables.com/id/7805-Regulator-5V…
2. Pridėkite 12 V maitinimo jungtį, Vcc eidami per įjungimo/išjungimo jungiklį
3. Pridėkite šviesos diodą su ribojančiu srovės rezistoriumi, kad nurodytumėte, kada maitinimas įjungtas.
7 žingsnis: uždėkite dėžutę, dažykite ir mėgaukitės nauja sinteze
Kai grandinė bus išbandyta ir jums patiks, beliks daug ką padaryti, išskyrus gražaus korpuso pastatymą, nudažykite jį nuostabiomis spalvomis ir paleiskite muziką.
Tikiuosi, kad jums patiko skaityti šią pamoką ir kad ji įkvėpė jus sukurti savo sintezatorių arba pradėti kitą projektą, prie kurio dirbate.
Jei turite klausimų, pakomentuokite toliau. Jei sukūrėte ką nors panašaus, remdamiesi šia pamoka, būtų puiku, jei pasidalintumėte tuo, ką padarėte skiltyje „Aš tai padariau!“. srityje arba atsiliepimų skiltyje.
Rekomenduojamas:
Namų apsaugos sistema naudojant jutiklių sintezę: 5 žingsniai
Namų saugos sistema, naudojant „Sensor Fusion“: Šio projekto idėja yra sukurti pigų ir lengvai pagaminamą saugumo jutiklį, kuris galėtų būti naudojamas įspėti jus, kai kas nors jį kirto. Pradinis tikslas buvo sukurti kažką, kas galėtų man pranešti, kai kas nors užlipo laiptais, bet aš taip pat
MIDI valdomas žingsninis variklis su tiesiogine skaitmenine sinteze (DDS): 3 žingsniai
MIDI valdomas žingsninis variklis su tiesioginės skaitmeninės sintezės (DDS) mikroschema: ar kada nors turėjote blogą mintį, kad TIKRAI turėjote virsti mini projektu? Na, aš žaidžiau su eskizu, kurį sukūriau „Arduino Due“, kad galėčiau kurti muziką naudojant AD9833 tiesioginės skaitmeninės sintezės (DDS) modulį … ir tam tikru momentu pagalvojau & q
Mano pirmoji sintezė: 29 žingsniai (su nuotraukomis)
Mano pirmoji sintezė: Vaikų sintezatorius atsirado, kai sėdėjau susigūžęs dėl susipainiojusių sintezatoriaus laidų. Mano draugas Oliveris priėjo, įvertino situaciją ir pasakė: „Žinai, kad tau pavyko pagaminti sudėtingiausią pasaulyje vaikų žaislą“. Nors mano pradinis r
„Phono -Chronoxyle“- 360 laipsnių sintezė: 3 žingsniai (su nuotraukomis)
„Phono -Chronoxyle“- 360 laipsnių sintezė: Julien Signolet skulptorius iš Paryžiaus ir muzikantas Mathias Durand kreipėsi į mane, norėdamas sukurti interaktyvią garso instaliaciją „Parc Floral“Paryžiuje, skirtoje „Nuit Blanche 2019“. Instaliacija būtų už durų ir manęs nebūtų į
Sukurkime plojimo jungiklio grandinę: 5 žingsniai
Padarykime plojimo jungiklio grandinę: plojimo jungiklio grandinė arba plojiklis (komercinė versija) yra garsu aktyvuojamas jungiklis, kuris įjungia lempą, įjungia ir išjungia plojimą rankomis ar pirštais