Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-23 14:47
Uvod:
Ja sam tek počeo raditi s Arduinom, ali nadam se da ću proširiti svoje znanje poučavajući druge i primajući povratne informacije. Ovo je vrlo osnovni MIDI kontroler s 4 tipke i potenciometrom. Okvir ovog projekta izgleda ovako:
1. Izradite matičnu ploču
2. Prenesite skicu na Arduino
3. Shvatite MIDI bez dlake i unutarnju MIDI petlju (loopbe1)
4. usmjerite svoj MIDI na DAW (Ableton)
Pribor
1 x Arduino Mega 2560
1 x Daska za kruh
1 x USB kabel
1 x potenciometar
4 x taktilna gumba
4 x 120Ohm otpornici
14 x kratkospojni kablovi za ploču
Korak 1: Izrada tlocrta
Spojite svoju matičnu ploču tako da sve komponente odgovaraju gornjoj slici 1. Svaki gumb trebao bi izgledati isto kao na slici 2. Ulazi gumba su 2, 3, 4 i 5 na Arduinu, a srednji pin potenciometra spojen je na ANALOG ulaz A0.
Korak 2: Prijenos skice
Kopirajte i zalijepite donji kod u Arduino IDE. Odaberite ispravnu ploču pod "alati" i prenesite skicu na Arduino.
byte noteON = 144; // bilješka na commandbyte note; // spremište za trenutno reproduciranu notu int buttonPin1 = 2; int buttonPin2 = 3; int buttonPin3 = 4; int buttonPin4 = 5; int potPin = A0; boolean currentState = LOW; // stroage za trenutno stanje gumba boolean lastState = LOW; // spremište za stanje zadnjeg gumba void setup () {pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); pinMode (buttonPin3, INPUT); pinMode (buttonPin4, INPUT); // ovaj put ćemo pin postaviti kao INPUT Serial.begin (9600); // inicijalizirati serijsku vezu} void loop () {int PotVal = analogRead (potPin); brzina bajtova = karta (PotVal, 0, 1023, 0, 127); currentState = digitalRead (buttonPin1); if (currentState == HIGH && lastState == LOW) {MIDImessage (noteON, 60, velocity); // uključite bilješku 60 sa 127 kašnjenja brzine (200); // grubi oblik otkazivanja gumba} else if (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // kašnjenje isključenja bilješke 60 (2); // grubi oblik otkazivanja gumba} lastState = currentState; currentState = digitalRead (buttonPin2); if (currentState == HIGH && lastState == LOW) {// ako je gumb upravo pritisnut MIDImessage (noteON, 61, velocity); // uključite bilješku 60 sa 127 kašnjenja brzine (200); // grubi oblik gumba debouncing} else if (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // isključenje bilješke 60 (2); // grubi oblik otkazivanja gumba} lastState = currentState; currentState = digitalRead (buttonPin3); if (currentState == HIGH && lastState == LOW) {// ako je gumb upravo pritisnut MIDImessage (noteON, 62, velocity); // uključite bilješku 60 sa 127 kašnjenja brzine (200); // grubi oblik gumba debouncing} else if (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // isključenje bilješke 60 (2); // grubi oblik otkazivanja gumba} lastState = currentState; currentState = digitalRead (buttonPin4); if (currentState == HIGH && lastState == LOW) {// ako je gumb upravo pritisnut MIDImessage (noteON, 63, velocity); // uključite bilješku 60 sa 127 kašnjenja brzine (200); // grubi oblik gumba debouncing} else if (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // isključenje bilješke 60 (2); // grubi oblik otkazivanja gumba} lastState = currentState; } // slanje MIDI poruke void MIDImessage (naredba byte, data byte1, byte data2) {Serial.write (naredba); Serial.write (data1); Serial.write (data2); }
Još sam vrlo nov u pisanju koda općenito ….. oni s malo više iskustva vjerojatno bi ovo mogli očistiti …
Korak 3: Razumijevanje MIDI i internih MIDI petlji bez dlake
Arduino mora proći kroz serijski most poput Hairless MIDI, a zatim kroz unutarnju MIDI petlju, poput loopbe1 (ili IAC sabirnice za Mac).
Napomena: ne možete prenijeti skicu na Arduino dok je spojen na MIDI serijski most bez dlake.
Odaberite svoj Arduino u serijskom MIDI portu bez dlake i loopbe1 ili IAC sabirnicu u MIDI izlazu.
Napomena: pazite da isključenje zvuka nije uključeno kada koristite loopbe1.
Korak 4: Spajanje na vaš DAW
Ako primate signal MIDI aplikaciji Hairless kada pritisnete gumb na ploči (svjetla će bljeskati), trebali biste moći poslati MIDI podatke na DAW. Koristio sam Ableton, ali svaki DAW bi trebao raditi. Provjerite je li vaša unutarnja MIDI petlja (loopbe1) omogućena u vašim DAW postavkama (u Abletonu želite da je "track" omogućen). Zatim odaberite jedan od vaših ulaza za MIDI zapis u MIDI petlju (loopbe1) kao što je prikazano na gornjoj slici.
Korak 5: Igrajte se
Gumbi će sada raditi kao i svaki drugi MIDI kontroler! Potenciometar će promijeniti brzinu bilješki koje se šalju u DAW. Gornji (vrlo mračan …) video prikazuje zvuk velikog klavira na djelu!
Preporučeni:
Napravite Arduino MIDI kontroler: 5 koraka (sa slikama)
Napravite Arduino MIDI kontroler: Pozdrav svima! U ovom uputstvu pokazat ću vam kako izgraditi vlastiti MIDI kontroler s pogonom na Arduinu. MIDI označava digitalno sučelje glazbenih instrumenata i to je protokol koji omogućuje računalima, glazbenim instrumentima i drugom hardveru da komuniciraju
Arduino MIDI kontroler za Aalto: 7 koraka
Arduino MIDI kontroler za Aalto: Budući da sam glazbenik amater, često idem od Analog Synthsa do VST -a. Kad sam u " VST " raspoloženje, zbilja sam za jedan nevjerojatan instrument: Madronalabov Aalto VSTOvaj nevjerojatni VST vrlo je fleksibilan, stvara vrlo dobre zvukove i prilično je ukusan
Arduino kontroler za igre DIY - Arduino PS2 kontroler igre - Igranje Tekkena s DIY Arduino gamepadom: 7 koraka
Arduino kontroler za igre DIY | Arduino PS2 kontroler igre | Igranje Tekkena s DIY Arduino gamepad -om: Zdravo dečki, igranje igara uvijek je zabavno, ali igranje sa vlastitim DIY prilagođenim kontrolorom igara je zabavnije. Zato ćemo u ovim uputama napraviti kontroler igre pomoću arduino pro micro
YABC - Još jedan kontroler Blynk - IoT kontroler temperature i vlažnosti u oblaku, ESP8266: 4 koraka
YABC - Još jedan kontroler Blynk - IoT kontroler temperature i vlažnosti u oblaku, ESP8266: Zdravo proizvođači, nedavno sam počeo uzgajati gljive kod kuće, gljive kamenice, ali već sam 3 puta imao ove kontrolere kod kuće za kontrolu temperature fermentatora za moju domaću marinu, supruga sada radi i ovu stvar Kombucha, a kao termostat za toplinu
MIDI 5V LED kontroler svjetla za Spielatron ili drugi MIDI Synth: 7 koraka (sa slikama)
MIDI 5V LED svjetlosni kontroler za Spielatron ili drugi MIDI Synth: Ovaj regulator treperi trobojna LED svjetla za 50 mS po bilješci. Plavo za G5 do D#6, crveno za E6 do B6 i zeleno za C7 do G7. Upravljač je ALSA MIDI uređaj pa MIDI softver može izlaziti na LED diode istovremeno s MIDI sintetičkim uređajem