Sisukord:
- See juhend oli algselt avaldatud minu ajaveebis 28. juunil 2020
- Samm: sisseehitatud LED-i vilkumine
- 2. samm: LED -i vilkumine käsitsi sisestamisel
- 3. samm: MIDIUSB -kogu installimine
- Samm: MIDI -sõnumi saatmine
- Samm 5: MIDI -sõnumi saatmine igalt nupult
- 6. toiming: kanalite või pankade seadistamine (valikuline)
- 7. samm: juhtum
- 8. samm: kokkupanek
- 9. samm: MIDI -kontrolleri kasutamine
Video: Arduino MIDI kontrolleri ehitamine: 9 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:45
See juhend oli algselt avaldatud minu ajaveebis 28. juunil 2020
Mulle meeldib ehitada asju, mis sisaldavad elektroonikat, ja olen alati tahtnud Arduino abil midagi ehitada.
Üks levinumaid ehitusi algajatele, mille leidsin, oli MIDI -kontroller. MIDI -kontroller on mis tahes riistvara, mis saadab seadmesse MIDI -andmeid (muusikariista digitaalne liides) helide käivitamiseks ja muusika tegemiseks.
Leidsin, et paljud rakendused on keerulised, isegi need, mis on mõeldud algajatele. See oli väga masendav, kui leidsin, et pean kasutama sadu read loetamatut koodi. Või et mul on muude näidete hulgas mõnel juhul vaja takisti jootmist.
Projekt
Enda Arduino MIDI kontrolleri ehitamisel kavatsesin teha nauditava projekti, hoides müra madalaimal tasemel. Midagi, mida iga algaja võiks järgida. Selle saavutamiseks kasutasin MIDI Fighter 3D-d inspiratsioonina ja eemaldasin kõik vähemolulised funktsioonid.
Minu projekti kogumaksumus oli alla 30 dollari ja materjalide loend oli tõesti lühike (sidusettevõtte lingid):
- Arduino Leonardo (või kloon): vahemikus 10–20 dollarit.
- 16 x Sanwa nuppu 24 mm (või kloon): vahemikus 1–2,50 dollarit nupu kohta.
- Jootekolb
- 22 AWG elektrijuhe
Arduino juhatus
Seda projekti alustades leidsin, et seal on hunnik uusi Arduino mudeleid (välja arvatud sajad ühilduvad tahvlid). Ja kõik need pakuvad veidi erinevaid võimalusi.
Mul oli vaja arvutisse saata MIDI -signaale ja lihtsaim viis seda teha on USB kaudu. Igal ATmega32u4 mikrokontrolleril põhineval Arduino plaadil on sisseehitatud USB-side.
Ametlikud USB -toega Arduino plaadid on Arduino Due, Arduino Zero, Arduino Leonardo, Arduino Micro. Nendel tahvlitel on integreeritud USB -tugi, mis tähendab, et need võivad toimida USB MIDI -seadmena.
Otsustasin minna Arduino Leonardo klooniga. Sellel projektil on piisavalt sisendeid ja see sisaldab ka päiseid, mis lihtsustab juhtmete ühendamist/lahtiühendamist.
Esimesed sammud
Kuigi selgitan samm-sammult, kuidas ma selle projekti koodi rakendasin, saate lõpliku versiooni alla laadida.
Koodi tahvlile üleslaadimiseks peate kasutama Arduino IDE -d. Neil on ka veebitöötlusprogramm, mis on väga kasulik, kuid neil on piiratud kvoot päevas, millal saate koodi koostada.
Samm: sisseehitatud LED-i vilkumine
See on naljakas, kuidas riistvaramaailma "Tere maailm" vilgutab LED -i.
Minu jaoks oli meeldiv üllatus avastada, et Arduino Leonardol on sisseehitatud LED, mida saate oma koodi testimiseks vilgutada. Nii ei pea te LED -i ja takistiga leivaplaadile välist vooluahelat ehitama.
Kood:
2. samm: LED -i vilkumine käsitsi sisestamisel
Järgmine loogiline samm oli signaali saatmisel sama LED -i vilkumine. Eemaldasin kahe Duponti juhtme ühe otsa plastkaane ja ühendasin teise otsa plaadiga:
- Pin number 2: üks digitaalsisenditest (positiivne). See võib olla ükskõik milline digitaalne tihvt.
- Tihvt GND: mis tahes maandusnõel (negatiivne).
Nüüd, iga kord, kui ma juhtmete avatud otsad ühendan, sulen ahela ja saan seega koodi käivitada
Igal Leonardo 20 digitaalsel kontaktil on sisemine takisti (vaikimisi lahti ühendatud), mille saab lubada INPUT_PULLUP abil. Pidage meeles, et väljatõmmatav sisend tähendab nupu oleku pööramist:
- KÕRGE, kui ahel on avatud (nuppu EI vajutata).
- LOW, kui ahel on suletud (nuppu vajutatakse).
Kood:
3. samm: MIDIUSB -kogu installimine
See raamatukogu võimaldab USB -võimalustega Arduino plaadil toimida USB kaudu MIDI -instrumendina. Lisateabe saamiseks vaadake ametlikku dokumentatsiooni.
Arduino IDE abil saate raamatukoguhalduri abil installida täiendavaid Arduino raamatukogusid:
- Avage IDE ja klõpsake menüüd "Sketch", seejärel "Include Library", seejärel "Manage Libraries".
- Otsige üles MIDIUSB ja klõpsake nuppu Installi.
- Kui see on lõpetatud, peaks MIDIUSB raamatukogu kõrval ilmuma paigaldatud silt.
- Sulgege teegihaldur.
Nüüd saab Leonardo USB kaudu MIDI -sõnumeid saata! Kuid kõigepealt on vaja mõningast ülevaadet MIDI toimimisest.
Kuidas MIDI töötab
"MIDI (Musical Instrument Digital Interface) on standardne suhtlusprotokoll, mis ühendab muusika esitamiseks elektroonilisi muusikariistu, arvuteid ja nendega seotud heliseadmeid." - Vikipeedia
Muude juhiste kõrval käsitleb see sündmusteateid, mis sisaldavad andmeid noodi helikõrguse ja kiiruse kohta
Selles konkreetses projektis saadab 16 nupu sisend USB kaudu erinevaid sõnumeid. Need sõnumid saab arvutis heliks muuta, kasutades sobivat tarkvara, näiteks GarageBand või Ableton Live.
MIDI -sõnumi anatoomia
MIDI -sõnumi saatmiseks kasutasin 3. sammus installitud meetodit sendMIDI () MIDIUSB -raamatukogust.
See meetod võib saada 4 parameetrit:
- Sündmuse tüüp: see võib olla 0x09 noodi sisselülitamisel (esitus noot) või 0x08 märkme väljalülitamisel (lõpetage noodi esitamine).
- Märkus Sisse/välja: Sündmuse tüüp koos MIDI kanaliga (1-16). Ma kasutan ainult kanalit 1, nii et see on kas 0x90 märkme sisselülitamisel või 0x80 märkme väljalülitamisel.
- Märkme number: Igal noodil on seotud numbriline samm (sagedusskaala).
- Kiirus: 0 (kiirust pole) kuni 127 (kiireim).
Samm: MIDI -sõnumi saatmine
Kaasasin MIDIUSB raamatukogu ja sisseehitatud LED-i vilkumise asemel saatsin märkuse.
Kood:
⚠ Tähtis: sellest sammust alates muutub Arduino MIDI USB -kontrolleriks ja lõpetab koodi vastuvõtmise USB kaudu.
Kui jääte olukorda, kus Arduinot ei saa enam programmeerida, toimige järgmiselt
- Hoidke Arduino tahvli ümardatud lähtestusnuppu all.
- Klõpsake Arduino IDE -s nuppu Laadi üles.
- Vabastage lähtestusnupp.
- Värskendatud kood laaditakse tahvlile üles.
Samm 5: MIDI -sõnumi saatmine igalt nupult
Viimane samm oli kaardistada iga pigi nupule. 16 nupu jaoks määrasin skaala vahemikus C2 kuni E3b, mis on sammud 36 kuni 51 järjestikku alt üles ja vasakult paremale. Vaadake seda faili Arduino õpetustest, et näha, milline helikõrgus vastab igale noodile.
Kasutasin digitaalseid tihvte 2 kuni 12 ja analoognõelu (kasutades neid digitaalsetena) vahemikus A0 kuni A4.
Ja nii näeb lõplik kood välja
6. toiming: kanalite või pankade seadistamine (valikuline)
Kui soovite lisada rohkem nuppe kanalite või pankade vahetamiseks, nagu MIDI Fighter 3D -s (vt pilti), on Arduino Leonardol veel neli tihvti, mida saate kasutada. Arduino Leonardol on 20 digitaalset sisend-/väljundnõela, millest ainult 16 on mõeldud nootide esitamiseks.
Nende lisanuppude abil saate koodi muutujat värskendada ja selle väärtuse parameetrina saata meetodile MidiUSB.sendMIDI:
gist.github.com/lean8086/ec8da7486ec3621f9f0b90542a06fcea
7. samm: juhtum
Selle projekti lihtsuse hoidmiseks olin äärmiselt valiv, milliseid funktsioone kaasata.
- Ainult nupud: 16 Sanwa-sarnast arkaadinuppu 4x4 ruudustikus. Ei mingeid nuppe, liugureid, fadereid ega muud analoogsisendit.
- Korpuse korpus: Arduino plaadi hoidmiseks ärge kasutage kruvisid, mutreid, polte ega liimi.
- Igapäevased tööriistad: Näiteks jootsin juhtmed selle asemel, et osta arkaadnuppude jaoks spetsiifiline traatlõikur.
Unibody disain
Üks väljakutsetest, millega ma silmitsi seisin, oli korpuse kujundamine piisavalt lihtne, et seda poleks vaja kokku panna ja seda saaks printida ühe korraga.
Kruvide või liimi kasutamise vältimiseks pidin kavandama korpuse, mis tagab elektroonikale väikseima juurdepääsu. Minu suurim inspiratsioon korpuse jaoks oli Mac Mini, mille allosas on ringikujuline auk. Tahtsin ka selle jaoks kruvitava kaane kujundada, kuid otsustasin selle lahti lasta, et elektroonikat paljastada.
Laadige alla 3D prinditav ümbris (322 KB). Soovitatavad seaded: PLA, 0,15 mm kihid, 20% täitematerjal, toetajad vähemalt ümara põhjaava jaoks, Arduino hoidikud ja mikro -USB.
Arduino hoidmine ilma kruvideta
Leonardol on 4 auku, millega plaati igasse sobivasse korpusesse kruvida, kuid minu idee oli hõlbustada plaadi lisamist ja eemaldamist korpusest.
Arduino klambrihoidja leidmine Thingiversest oli lihtne ja selle hoidja unibody -kujundusse integreerimiseks kulus mul viis korda. Kõige raskem oli jalgade tegemine, et vältida nuppude auke ja muuta mikro -USB korpuse keskele joondatuks.
8. samm: kokkupanek
Pärast kõigi nuppude sisestamist jootsin lühikesed mustad juhtmed, mis ühendasid nende vahel kõik negatiivsed jalad.
Siis jootsin igast positiivsest jalast pikad punased juhtmed otse plaadiga ühendamiseks.
Juhtmete ühendamiseks Arduinoga lõikasin ja jootsin mõned Duponti otsad ning katsin need termokahanevate torudega.
Ühendasin juhtmed plaadiga samas järjekorras nagu MIDI Fighteris. Alt üles ja vasakult paremale
9. samm: MIDI -kontrolleri kasutamine
MIDI vastuvõtmiseks ja muusika tegemiseks saab kasutada mis tahes muusikatarkvara (või sobivat riistvara). Kõige soovitatavamad on Garage Band, Ableton Live ja ma tean, et telefoni on installimiseks palju rakendusi.
Kõik need tööriistad on kasulikud sõrme trummeldamiseks etteantud helide laadimiseks, kuid need on tehtud suuremaks otstarbeks. Nende tööriistade seadistamine võib algajatele olla keeruline.
MIDI veebibrauseris
Et midagi selle projekti ja selle lihtsusega paremini kooskõlla viia, ehitasin veebitööriista, mis keskendus täielikult MIDI -kontrolleritele.
Punchy: WebMIDI ja WebAudio juurutamine MIDI -kontrolleritele.
See saab lugeda MIDI -sõnumeid mis tahes brauseris, mis toetab WebMIDI JavaScripti API -d. Seejärel esitab see helisid süntesaatoris (kasutades WebAudio API -d) või proovivõtjas, laadides kohandatud helisid mis tahes helipakist.
Seadistage Ableton Live
Selleks, et MIDI -kontroller töötaks koos Ableton Live'iga, järgige nende ametlikus dokumentatsioonis toodud lihtsaid samme.
Minge jaotisse Eelistused → Linkige MIDI ja veenduge, et sisendil on „Track” ja „Remote” sees ning väljundil on „Remote” SEES ja samuti juhendis mainitud:
Soovitan:
Alternatiivse MIDI-kontrolleri loomine Makey-Makey ja vee abil: 6 sammu
Alternatiivse MIDI-kontrolleri loomine Makey-Makey ja Water abil: Makey-Makey kasutamine kohandatud ja loominguliste sisendite loomiseks on uskumatult lihtne! Kuigi paljud riistvara kasutavad inimesed loovad oma instrumendi, kasutades Makey-Makey sisendeid helide või nootide käivitamiseks, otsustasime, et saame teha veelgi rohkem
Juhtmeta Xbox 360 kontrolleri kesta vahetamine: 15 sammu (piltidega)
Juhtmeta Xbox 360 kontrolleri kesta vahetamine: samm -sammult juhis Xbox 360 kontrolleri kesta asendamiseks uue kestaga. Seda õpetust saab kasutada videomängu abil õpilastel põhiteadmiste tundmiseks riistvara, elektri-/arvutitehnika ja arvutiteaduse põhimõtetest
Ühe nupuga MIDI-kontrolleri õpetus: 6 sammu
1-nupuline MIDI-kontrolleri õpetus: Arduino-MIDI-kontrollerite jaoks on seal palju õpetusi, see on palja luuga ülevaade sellest, kuidas lihtsa nupu ja potentsiomeetriga rullida. Oleksin tahtnud midagi sellist kogeda, kui olin alles alustanud
Midi-kontrolleri nupp-klaviatuur: 6 sammu
Midi-kontrolleri nupp-klaviatuur: Minu midifighter-projektist inspireerituna otsustasin teha nupp-stiilis midi-kontrolleri, mis kasutab ära palju Mega Arduino plaadi digitaalseid sisendeid. Selles juhendis tutvume materjalide kogumisel tehtud sammudega
Kerjamisrobot näo jälgimise ja juhtimisega Xboxi kontrolleri poolt - Arduino: 9 sammu (piltidega)
Kerjamisrobot näo jälgimise ja juhtimisega Xboxi kontrolleri poolt - Arduino: Teeme kerjava roboti. See robot üritab mööduvaid inimesi ärritada või neile tähelepanu pöörata. See tuvastab nende näod ja proovib neile lasereid tulistada. Kui annate robotile mündi, laulab ta laulu ja tantsib. Robot vajab