
Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-23 14:38

Intro:
Jsem ve spolupráci s Arduinem nováček, ale doufám, že své znalosti rozšířím tím, že budu učit ostatní a dostávat zpětnou vazbu. Jedná se o velmi základní MIDI ovladač se 4 tlačítky a potenciometrem. Osnova tohoto projektu vypadá takto:
1. Postavte prkénko
2. Nahrajte skicu do Arduina
3. Porozumět bezsrsté MIDI a interní MIDI smyčce (loopbe1)
4. směrujte MIDI do DAW (Ableton)
Zásoby
1 x Arduino Mega 2560
1 x chlebová deska
1 x kabel USB
1 x potenciometr
4 x Taktovací tlačítka
4 x 120Ohm odpory
14 x propojovací kabely pro prkénko
Krok 1: Vytvoření Breadboardu


Připojte prkénko tak, aby všechny součásti odpovídaly obrázku 1 výše. Každé tlačítko by mělo vypadat stejně jako na obrázku 2. Tlačítkové vstupy jsou 2, 3, 4 a 5 na Arduinu a prostřední pin potenciometru je připojen ke vstupu ANALOG A0.
Krok 2: Nahrání náčrtu

Zkopírujte a vložte níže uvedený kód do Arduino IDE. Pod „nástroji“vyberte správnou desku a nahrajte skicu do Arduina.
byte noteON = 144; // poznámka na příkazubyte note; // úložiště pro aktuálně přehrávanou notu int buttonPin1 = 2; int tlačítko Pin2 = 3; int tlačítko Pin3 = 4; int tlačítko Pin4 = 5; int potPin = A0; boolean currentState = LOW; // stroage pro aktuální stav tlačítka boolean lastState = LOW; // úložiště pro poslední stav tlačítka void setup () {pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); pinMode (buttonPin3, INPUT); pinMode (buttonPin4, INPUT); // tentokrát nastavíme pin jako INPUT Serial.begin (9600); // inicializace sériového připojení} void loop () {int PotVal = analogRead (potPin); bajtová rychlost = 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); // surová forma tlačítka debouncing} else if (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // turn note 60 off delay (2); // hrubá forma tlačítka debouncing} lastState = currentState; currentState = digitalRead (buttonPin2); if (currentState == HIGH && lastState == LOW) {// pokud bylo tlačítko právě stisknuto MIDImessage (noteON, 61, velocity); // zapne notu 60 se zpožděním 127 rychlosti (200); // hrubá forma tlačítka debouncing} else if (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // turn not 60 off off (2); // surová forma tlačítka debouncing} lastState = currentState; currentState = digitalRead (buttonPin3); if (currentState == HIGH && lastState == LOW) {// pokud bylo tlačítko právě stisknuto MIDImessage (noteON, 62, velocity); // zapne notu 60 se zpožděním 127 rychlosti (200); // hrubá forma tlačítka debouncing} else if (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // turn not 60 off off (2); // surová forma tlačítka debouncing} lastState = currentState; currentState = digitalRead (buttonPin4); if (currentState == HIGH && lastState == LOW) {// pokud bylo tlačítko právě stisknuto MIDImessage (noteON, 63, velocity); // zapnutí noty 60 se zpožděním 127 rychlosti (200); // hrubá forma tlačítka debouncing} else if (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // turn note 60 off delay (2); // surová forma tlačítka debouncing} lastState = currentState; } // odeslání MIDI zprávy neplatné MIDImessage (byte příkaz, byte data1, byte data2) {Serial.write (příkaz); Serial.write (data1); Serial.write (data2); }
Jsem stále velmi nový v psaní kódu obecně ….. ti, kteří mají trochu více zkušeností, by to pravděpodobně mohli vyčistit …
Krok 3: Porozumění bezsrstým MIDI a interním MIDI smyčkám



Arduino musí běžet přes sériový můstek jako Hairless MIDI, pak přes interní MIDI smyčku, jako je loopbe1 (nebo sběrnice IAC pro Mac).
Poznámka: nemůžete načíst skicu do Arduina, pokud je připojeno k bezsrstému MIDI sériovému můstku.
Vyberte si Arduino v sériovém portu Hairless MIDI a na MIDI výstupu smyčku loopbe1 nebo IAC.
Poznámka: ujistěte se, že při použití loopbe1 není zapnuto ztlumení.
Krok 4: Připojení k vašemu DAW

Pokud dostáváte signál do aplikace Hairless MIDI, když stisknete tlačítko na prkénku (kontrolky budou blikat), měli byste být schopni odesílat MIDI data do DAW. Použil jsem Ableton, ale každý DAW by měl fungovat. Ujistěte se, že je ve vašich předvolbách DAW povolena interní MIDI smyčka (loopbe1) (v Abletonu chcete povolit „track“). Dále vyberte jeden ze vstupů MIDI stopy do MIDI smyčky (loopbe1), jak je znázorněno na obrázku výše.
Krok 5: Hrajte


Tlačítka budou nyní fungovat jako všechny ostatní MIDI ovladače! Potenciometr změní rychlost poznámek odesílaných do DAW. (Velmi tmavé …) video výše ukazuje zvuk klavíru v akci!
Doporučuje:
Sestavte MIDI ovladač Arduino: 5 kroků (s obrázky)

Sestavte MIDI ovladač Arduino: Ahoj všichni! V tomto návodu vám ukážu, jak si postavit vlastní MIDI ovladač napájený Arduino. MIDI je zkratka pro Musical Instrument Digital Interface a je to protokol, který umožňuje počítačům, hudebním nástrojům a jinému hardwaru komunikovat
Lune - MIDI ovladač s Arduino (pro DJ nebo hudebníka): 5 kroků (s obrázky)

Lune - MIDI ovladač s Arduino (pro DJ nebo hudebníka): Toto je můj první projekt projektu Arduino (mikrokontrolér) Lune. Chtěl jsem se naučit arduino s užitečným a velkým projektem, a tak jsem se rozhodl vytvořit midi DJ ovladač, který bude mít všechny funkce potřebné k samostatnému mixování. Každý druh senzoru (potencio
Arduino MIDI ovladač pro Aalto: 7 kroků

Arduino MIDI ovladač pro Aalto: Jako amatérský hudebník často přecházím od analogových syntezátorů k VST. Když jsem v " VST " nálada, jsem opravdu na jeden úžasný nástroj: Madronalab's Aalto VSTTento neuvěřitelný VST je velmi flexibilní, generuje velmi dobré zvuky a je docela dobrý
Arduino DIY herní ovladač - Herní ovladač Arduino PS2 - Hra Tekken s gamepadem pro kutily Arduino: 7 kroků

Arduino DIY herní ovladač | Herní ovladač Arduino PS2 | Hraní Tekken s DIY Arduino Gamepad: Ahoj kluci, hraní her je vždy zábava, ale hraní s vaší vlastní DIY vlastní hrou je zábavnější. Takže v tomto návodu vytvoříme herní ovladač pomocí arduino pro micro
Arduino MIDI ovladač DIY: 8 kroků

Arduino MIDI ovladač DIY: Čau lidi! Doufám, že se vám už líbil můj předchozí instruktážní " Arduino CNC plotter (mini kreslící stroj) " a jste připraveni na nový, jako obvykle jsem vytvořil tento tutoriál, který vás krok za krokem provede při vytváření tohoto druhu super úžasného nízkého