![Põhiline Arduino MIDI -kontroller: 5 sammu Põhiline Arduino MIDI -kontroller: 5 sammu](https://i.howwhatproduce.com/images/012/image-33237-j.webp)
Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-23 14:40
![Põhiline Arduino MIDI kontroller Põhiline Arduino MIDI kontroller](https://i.howwhatproduce.com/images/012/image-33237-1-j.webp)
Sissejuhatus:
Olen Arduinoga töötamisel uus, kuid loodan oma teadmisi laiendada, õpetades teisi ja saades tagasisidet. See on väga lihtne MIDI -kontroller, millel on 4 nuppu ja potentsiomeeter. Selle projekti ülevaade näeb välja selline:
1. Ehita leivalaud
2. Laadige Sketch Arduinosse üles
3. Mõista karvutut MIDI -d ja sisemist MIDI -ahelat (loopbe1)
4. suunake oma MIDI DAW -i (Ableton)
Tarvikud
1 x Arduino Mega 2560
1 x leivalaud
1 x USB -kaabel
1 x potentsiomeeter
4 x takti nuppu
4 x 120Ohm takistid
14 x hüppajakaablid leivaplaadile
1. samm: leivalaua ehitamine
![Leivalaua ehitamine Leivalaua ehitamine](https://i.howwhatproduce.com/images/012/image-33237-2-j.webp)
![Leivalaua ehitamine Leivalaua ehitamine](https://i.howwhatproduce.com/images/012/image-33237-3-j.webp)
Ühendage oma leivalaud, nii et kõik komponendid vastavad ülaltoodud pildile 1. Iga nupp peaks välja nägema sama mis pilt 2. Nupu sisendid on Arduino 2, 3, 4 ja 5 ning potentsiomeetri keskmine tihvt on ühendatud ANALOG sisendiga A0.
2. samm: visandi üleslaadimine
![Sketši üleslaadimine Sketši üleslaadimine](https://i.howwhatproduce.com/images/012/image-33237-4-j.webp)
Kopeerige ja kleepige allolev kood Arduino IDE -sse. Valige tööriistade alt õige tahvel ja laadige eskiis Arduinosse üles.
bait noteON = 144; // märkus käsu baitmärkmes; // salvestus praegu mängitavale noodile int nuppPin1 = 2; int nuppPin2 = 3; int nuppPin3 = 4; int nuppPin4 = 5; int potPin = A0; boolean currentState = LOW; // löök praeguse nupu oleku jaoks boolean lastState = LOW; // salvestusruum viimase nupu oleku tühisuse seadistamiseks () {pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); pinMode (buttonPin3, INPUT); pinMode (buttonPin4, INPUT); // seekord määrame tihvti INPUT Serial.begin (9600); // initsialiseeri jadaühendus} void loop () {int PotVal = analogRead (potPin); baitide kiirus = kaart (PotVal, 0, 1023, 0, 127); currentState = digitalRead (buttonPin1); if (currentState == HIGH && lastState == LOW) {MIDImessage (noteON, 60, velocity); // lülitage märkus 60 sisse 127 kiiruse viivitusega (200); // nuppude tühistamise toores vorm} else if (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // lülita märkus 60 välja viivitusest (2); // nuppude tagasilöögi toores vorm} lastState = currentState; currentState = digitalRead (buttonPin2); if (currentState == HIGH && lastState == LOW) {// kui nupule on just vajutatud MIDImessage (noteON, 61, kiirus); // lülitage märkus 60 sisse 127 kiiruse viivitusega (200); // nupu töötlemata vorm debouncing} else if (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // lülita märkus 60 välja viivitusest (2); // nupu tagasilöögi toores vorm} lastState = currentState; currentState = digitalRead (buttonPin3); if (currentState == HIGH && lastState == LOW) {// kui nupule on just vajutatud MIDImessage (noteON, 62, kiirus); // lülitage märkus 60 sisse 127 kiiruse viivitusega (200); // nupu töötlemata vorm debouncing} else if (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // lülita märkus 60 välja viivitusest (2); // nupu tagasilöögi toores vorm} lastState = currentState; currentState = digitalRead (buttonPin4); if (currentState == HIGH && lastState == LOW) {// kui nupule on just vajutatud MIDImessage (noteON, 63, kiirus); // lülitage märkus 60 sisse 127 kiiruse viivitusega (200); // nupu toorvorm debouncing} else if (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // lülita märkus 60 välja viivitusest (2); // nupu tagasilöögi toores vorm} lastState = currentState; } // saata MIDI -sõnum tühine MIDI -sõnum (baitkäsk, baitandmed1, baitandmed2) {Serial.write (käsk); Serial.write (andmed1); Serial.write (andmed2); }
Üldiselt olen alles koodi kirjutamisega väga uus ….. kellel on vähe kogemusi, võiksid selle ilmselt koristada …
3. samm: karvutu MIDI ja sisemiste MIDI -silmuste mõistmine
![Karvutu MIDI ja sisemiste MIDI -silmuste mõistmine Karvutu MIDI ja sisemiste MIDI -silmuste mõistmine](https://i.howwhatproduce.com/images/012/image-33237-5-j.webp)
![Karvutu MIDI ja sisemiste MIDI -silmuste mõistmine Karvutu MIDI ja sisemiste MIDI -silmuste mõistmine](https://i.howwhatproduce.com/images/012/image-33237-6-j.webp)
![Karvutu MIDI ja sisemiste MIDI -silmuste mõistmine Karvutu MIDI ja sisemiste MIDI -silmuste mõistmine](https://i.howwhatproduce.com/images/012/image-33237-7-j.webp)
Arduino peab läbima jadasilla, näiteks karvutu MIDI, seejärel läbi sisemise MIDI -ahela, näiteks loopbe1 (või IAC -siini Maci jaoks).
Märkus: te ei saa eskiisi Arduinole üles laadida, kui see on ühendatud karvutu MIDI jadasillaga.
Valige oma Arduino juusteta MIDI jadaportis ja loopbe1 või IAC siin MIDI -väljundis.
Märkus: veenduge, et loopbe1 kasutamisel pole vaigistus sisse lülitatud.
Samm: DAW -ga ühenduse loomine
![DAW -ga ühenduse loomine DAW -ga ühenduse loomine](https://i.howwhatproduce.com/images/012/image-33237-8-j.webp)
Kui saate signaali karvutule MIDI -rakendusele, kui vajutate leivalaual nuppu (tuled vilguvad), peaksite saama MIDI -andmeid DAW -le saata. Ma kasutasin Abletoni, kuid iga DAW peaks töötama. Veenduge, et teie sisemine MIDI -ahel (loopbe1) on teie DAW -eelistustes lubatud (Abletonis soovite, et "track" oleks lubatud). Seejärel valige üks oma MIDI raja sisenditest MIDI silmusesse (loopbe1), nagu on näidatud ülaltoodud pildil.
Samm: mängige
![Image Image](https://i.howwhatproduce.com/images/012/image-33237-10-j.webp)
![](https://i.ytimg.com/vi/lw5NJ1GZUVY/hqdefault.jpg)
Nupud töötavad nüüd nagu iga teine MIDI -kontroller! Potentsiomeeter muudab DAW -le saadetavate nootide kiirust. Ülaltoodud (väga tume…) video näitab tiibklaveri heli tegevuses!
Soovitan:
HC-05 (bluetooth) Koduautomaatika moodul Põhiline: 3 sammu
![HC-05 (bluetooth) Koduautomaatika moodul Põhiline: 3 sammu HC-05 (bluetooth) Koduautomaatika moodul Põhiline: 3 sammu](https://i.howwhatproduce.com/images/001/image-126-9-j.webp)
HC-05 (bluetooth) Koduautomaatika moodul Põhiline: oma viimases projektis kontrollisin LED-i nupuvajutusega, kuid selles projektis asendasin PUSH BUTTON-i HC-05 mooduliga. Soovitan tungivalt need projektid enne läbi vaadata selle projektiga jätkates. Kõik üksikasjad leiate siit
NAIN 1.0 - põhiline humanoidrobot Arduino abil: 6 sammu
![NAIN 1.0 - põhiline humanoidrobot Arduino abil: 6 sammu NAIN 1.0 - põhiline humanoidrobot Arduino abil: 6 sammu](https://i.howwhatproduce.com/images/001/image-776-9-j.webp)
NAIN 1.0 - põhiline humanoidrobot, mis kasutab Arduino: Nain 1.0 -l on põhimõtteliselt 5 eemaldatavat moodulit- 1) Arm - mida saab juhtida servode kaudu. 2) Rattad - mida saab juhtida alalisvoolumootoritega. 3) Jalad - Nain saab liikumiseks rataste või jalgade vahel vahetada. 4) pea ja
Põhiline Arduino valgustugevuslamp!: 5 sammu
![Põhiline Arduino valgustugevuslamp!: 5 sammu Põhiline Arduino valgustugevuslamp!: 5 sammu](https://i.howwhatproduce.com/images/008/image-21958-j.webp)
Põhiline Arduino valgustugevuslamp!: Tänane ring on lõbus väike Arduino projekt karantiiniks! See vooluring keskendub kahele huvitavale materjalile; relee SPDT & Fototakisti. Lisaks on relee eesmärk olla lüliti elektroonilises ahelas. Lisaks on fotod
Arduino Uno õpetus #1 - Põhiline vilkumisprogramm: 4 sammu
![Arduino Uno õpetus #1 - Põhiline vilkumisprogramm: 4 sammu Arduino Uno õpetus #1 - Põhiline vilkumisprogramm: 4 sammu](https://i.howwhatproduce.com/images/009/image-25287-j.webp)
Arduino Uno õpetus #1 - põhiline vilkumisprogramm: Tere kõigile! Mul on hea meel avaldada oma esimene juhendatav! See mõte tekkis mul siis, kui mul oli raskusi oma Arduino Uno tööle saamisega, nii et kuna mul oli mõningaid raskusi, selgitan siinsetele aadlikutele, et sellised nagu mina, ei tea
Põhiline Arduino maavärinaandur: 7 sammu (koos piltidega)
![Põhiline Arduino maavärinaandur: 7 sammu (koos piltidega) Põhiline Arduino maavärinaandur: 7 sammu (koos piltidega)](https://i.howwhatproduce.com/images/001/image-504-96-j.webp)
Põhiline Arduino maavärina detektor: Tiny9 on tagasi ja täna valmistame lihtsa Arduino maavärinaanduri. Seadme seadistamiseks külastage alloleval lingil olevat juhendit, kuidas liituda Tiny9 LIS2HH12 -ga, nii et kõik, mida peate tegema, on lisada 3 takistit ja 3 valguskiirgust