Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-23 15:05
Úvod:
V práci s Arduinom som nováčik, ale dúfam, že si rozšírim svoje znalosti tým, že budem učiť ostatných a dostávať spätnú väzbu. Jedná sa o úplne základný MIDI ovládač so 4 tlačidlami a potenciometrom. Osnova tohto projektu vyzerá takto:
1. Vybudujte dosku na pečenie
2. Nahrajte skicu do Arduina
3. Porozumieť bezsrstej MIDI a internej MIDI slučke (loopbe1)
4. smerujte svoje MIDI do DAW (Ableton)
Zásoby
1 x Arduino Mega 2560
1 x chlebová doska
1 x kábel USB
1 x potenciometer
4 x dotykové tlačidlá
4 x 120Ohm odpory
14 x prepojovací kábel pre nepájivú dosku
Krok 1: Vybudovanie Breadboardu
Pripojte dosku, aby všetky komponenty zodpovedali obrázku 1 vyššie. Každé tlačidlo by malo vyzerať rovnako ako obrázok 2. Tlačidlové vstupy sú 2, 3, 4 a 5 na Arduine a stredný pin potenciometra je pripojený k ANALOGOVÉMU vstupu A0.
Krok 2: Odovzdanie náčrtu
Skopírujte a prilepte nižšie uvedený kód do Arduino IDE. V časti „Nástroje“vyberte správnu dosku a nahrajte skicu do Arduina.
bajtová nota ON = 144; // poznámka k príkazovej bote; // úložisko pre aktuálne prehrávanú notu int buttonPin1 = 2; int tlačidloPin2 = 3; int tlačidloPin3 = 4; int tlačidloPin4 = 5; int potPin = A0; boolean currentState = LOW; // stroage pre aktuálny stav tlačidla boolean lastState = LOW; // úložisko pre posledný stav tlačidla void setup () {pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); pinMode (buttonPin3, INPUT); pinMode (buttonPin4, INPUT); // tentokrát nastavíme pin ako INPUT Serial.begin (9600); // inicializácia sériového pripojenia} void loop () {int PotVal = analogRead (potPin); bajtová rýchlosť = mapa (PotVal, 0, 1023, 0, 127); currentState = digitalRead (buttonPin1); if (currentState == HIGH && lastState == LOW) {MIDImessage (noteON, 60, velocity); // turn note 60 on with 127 velocity delay (200); // hrubá forma odskakovania tlačidiel} else if (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // turn note 60 off delay (2); // hrubá forma odskakovania tlačidiel} lastState = currentState; currentState = digitalRead (buttonPin2); if (currentState == HIGH && lastState == LOW) {// ak bolo tlačidlo práve stlačené MIDImessage (noteON, 61, velocity); // zapne notu 60 s oneskorením 127 rýchlosti (200); // hrubá forma tlačidla debouncing} else if (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // turn not 60 off off (2); // surová forma odskakovania tlačidiel} lastState = currentState; currentState = digitalRead (buttonPin3); if (currentState == HIGH && lastState == LOW) {// ak bolo tlačidlo práve stlačené MIDImessage (noteON, 62, velocity); // zapne notu 60 s oneskorením 127 rýchlosti (200); // hrubá forma tlačidla debouncing} else if (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // turn not 60 off off (2); // surová forma odskakovania tlačidiel} lastState = currentState; currentState = digitalRead (buttonPin4); if (currentState == HIGH && lastState == LOW) {// ak bolo tlačidlo práve stlačené MIDImessage (noteON, 63, velocity); // zapne notu 60 s oneskorením 127 rýchlosti (200); // hrubá forma tlačidla debouncing} else if (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // turn not 60 off off (2); // surová forma odskakovania tlačidiel} lastState = currentState; } // odoslanie MIDI správy neplatné MIDImessage (príkaz byte, byte data1, byte data2) {Serial.write (príkaz); Serial.write (data1); Serial.write (data2); }
Som stále veľmi nový v písaní kódu všeobecne ….. tí, ktorí majú trochu viac skúseností, by to pravdepodobne mohli vyčistiť …
Krok 3: Pochopenie bezsrstých MIDI a interných MIDI slučiek
Arduino musí bežať po sériovom moste, ako je Hairless MIDI, potom vnútornou MIDI slučkou, ako je loopbe1 (alebo zbernica IAC pre Mac).
Poznámka: skicu nemôžete nahrať do Arduina, pokiaľ je pripojený k bezsrstému sériovému mostu MIDI.
Vyberte svoje Arduino v sériovom porte Hairless MIDI a vo výstupe MIDI na zbernici loopbe1 alebo IAC.
Poznámka: uistite sa, že pri použití loopbe1 nie je zapnuté stlmenie zvuku.
Krok 4: Pripojenie k vášmu DAW
Ak dostávate signál do aplikácie Hairless MIDI po stlačení tlačidla na doske (kontrolky budú blikať), mali by ste byť schopní odoslať MIDI údaje do DAW. Použil som Ableton, ale každý DAW by mal fungovať. Uistite sa, že je vo vašich predvoľbách DAW povolená vnútorná MIDI slučka (loopbe1) (v Abletone chcete, aby bola povolená „stopa“). Ďalej vyberte jeden zo svojich MIDI stopových vstupov do MIDI slučky (loopbe1), ako je to znázornené na obrázku vyššie.
Krok 5: Hrajte
Tlačidlá budú teraz fungovať ako všetky ostatné MIDI ovládače! Potenciometer zmení rýchlosť poznámok odosielaných do DAW. (Veľmi tmavé …) video vyššie ukazuje zvuk klavíra v akcii!
Odporúča:
NAIN 1.0 - základný humanoidný robot využívajúci Arduino: 6 krokov
NAIN 1.0 - základný humanoidný robot využívajúci Arduino: Nain 1.0 bude mať v zásade 5 odnímateľných modulov - 1) Arm - ktoré je možné ovládať pomocou serva. 2) Kolesá - ktoré je možné ovládať jednosmernými motormi. 3) Noha - Nain bude môcť prepínať medzi kolesami alebo nohami a pohybovať sa. 4) Hlava a
Základný návod Bluetooth pre Arduino: 6 krokov (s obrázkami)
Arduino Bluetooth Základný návod: AKTUALIZÁCIA: AKTUALIZOVANÚ VERZIU TÉTO ČLÁNKU NACHÁDZAJETE HERE, Mysleli ste na ovládanie akýchkoľvek elektronických zariadení pomocou svojho inteligentného telefónu? Ovládanie robota alebo iných zariadení pomocou smartfónu bude skutočne skvelé. Tu je jednoduchý a základný
DIY herný ovládač založený na Arduine - Herný ovládač Arduino PS2 - Hra Tekken s gamepadom DIY Arduino: 7 krokov
DIY herný ovládač založený na Arduine | Herný ovládač Arduino PS2 | Hranie Tekkenu s gamepadom pre domácich majstrov Arduino: Dobrý deň, chlapci, hranie hier je vždy zábavné, ale hranie s vlastným ovládačom pre vlastnú potrebu je zábavnejšie. Preto v tomto návode vytvoríme herný ovládač pomocou arduino pro micro
Základný počítač Arduino s výstupom VGA: 5 krokov (s obrázkami)
Základný počítač Arduino s výstupom VGA: Vo svojom predchádzajúcom návode som ukázal, ako postaviť retro 8-bitový počítač so systémom BASIC pomocou dvoch Arduino a výstupným signálom v čiernobielom formáte pre televíznu obrazovku. Teraz ukážem, ako vytvoriť rovnaký počítač, ale s výstupným signálom v
Základný návod Arduino pre začiatočníkov: 6 krokov
Základný návod Arduino pre začiatočníkov: 1. Čo je Arduino? Arduino je platforma pre vstavané systémy, založená väčšinou na 8-bitových mikrokontroléroch z rodiny AVR. Výnimkou je Arduino Due, ktorý používa 32-bitové jadro ARM Cortex. Inými slovami, je to doska s plošnými spojmi s mikro