Bygga en grundläggande MIDI-Controller del 1 - lätt 3 effekter Pot (Potentiometer) Arduino Uno MIDI-Controller (Serial-USB)... Snabb, enkel och billig! (4 / 7 steg)

Steg 4: Koden

Här är den trevlig lite enkel kod baserat på ett exempel gjorde tillbaka i 2009 av starfiretech. De viktiga justeringar som jag har gjort till denna kod var att kontrollera nya värden mot gamla värderingar, bara skicka MIDI-data när en förändring upptäcks; och andra lägga till en liten fördröjning att ta bort några små variationer ges i värde när potten inte är beröring, något berört eller blir lite slå. Innan jag lagt detta jag fick viss variation (av + /-1) i värde vid lätt beröring som förseningen hjälper till att ta bort.

int val = 0; Våra inledande pott värderingar. Vi behöver en för första värdet och en andra att testa om det har skett en ändring som gjorts. Detta måste göras för alla 3 krukor.
int lastVal = 0;
int värde2 = 0;
int lastVal2 = 0;
int val3 = 0;
int lastVal3 = 0;
void setup()
{
Serial.BEGIN(9600); Ställa in hastigheten på MIDI-port till samma som vi kommer att använda i programvaran Hairless Midi
}
void loop()
{
Val = analogRead (0) / 8; Dela med 8 att få antal 0-127 för midi
om (val! = lastVal) / / om värdet inte = det sista värdet kommandot görs. Detta beror på potten har förvandlats. Annars potten förblir densamma och inga MIDI-meddelandet är utgång.
{
MIDImessage(176,1,val);} 176 = CC kommando (kanal 1 kontroll ändra), 1 = som kontroll, val = värdet läsa från Potentionmeter 1 Obs här säger VAL inte VA1 (små bokstäver förstås)
lastVal = val;
värde2 = analogRead 1/8. Dela med 8 att få antal 0-127 för midi
om (värde2! = lastVal2)
{
MIDImessage(176,2,val2);} 176 = CC kommando, 2 = som kontroll, val = värdet läsa från Potentionmeter 2
lastVal2 = värde2;

val3 = analogRead (2) / 8. Dela med 8 att få antal 0-127 för midi
om (val3! = lastVal3)
{
MIDImessage(176,3,val3);} 176 = CC kommando, 3 = som kontroll, val = värdet läsa från Potentionmeter 3
lastVal3 = val3;
Delay(10); här lägger vi till en kort fördröjning för att förhindra smärre fluktuationer, smällar på krukor etc. Att lägga till detta bidragit till att förhindra min krukor från jumpin upp eller ner ett värde när något berört eller knackade.
}
void MIDImessage (byte kommando, byte data1, byte data2) //pass värden ut genom standard MIDI-kommando
{
Serial.write(Command);
Serial.write(Data1);
Serial.write(data2);
}

Se Steg
Relaterade Ämnen

Hur man bygger en snabb, enkel och billig loudspeakerbox med stuprör material

Hej allaDetta är en mycket kort och universal instructable att bygga en enkel och billig loudspeakerbox. Det fungerar med ett enkelt trick och är snabbt gjort i tre steg.Jag behöver sådana boxar för min nästa steampunk instructable arbetar med två ga...

Bygga en grundläggande lap steel-gitarr

i detta, min första Instructable, kommer jag försöka krönika byggandet av en enkel Lap Steel guitar. Ansvarsfriskrivning; elverktyg och skarp skärande verktyg kommer att användas och jag tar inget ansvar för människor som använder dessa saker slarvig...

Hur man bygger en grundläggande badrum väggskåp

Badrummet i källaren i vårt hem är en halv bad och kunde använda lite mer lagringsutrymme. Den tidigare ägaren byggd i några skåp runt diskbänken och används mycket grundläggande konstruktion med tall och målade projektet. Det ser mycket grundläggand...

Hur till: Bygg en grundläggande 2 våningshus i Minecraft!

Hello everybody!Jag är tillbaka med en annan enkel och rolig minecraft tutorial... orsaken inte im göra dessa instructables är eftersom skolan har börjat (BOOOOOO) en jag har kunnat hantverk så mycketMen som jag alltid säger jag hoppas du gillar dett...

Grundläggande transformator fallet

Detta instructable ger du anvisningarna för att bygga ett grundläggande nakna ben fall som sedan kan modifieras för att vara perfekt för någon särskilt behov som du har. Genom att göra små förändringar till detta grundläggande fall kan det vara ett s...

Grundläggande bromstrumman Forge för under $40

bara en grundläggande köra genom på en beprövad standard. Småskalig hobby smith kol smedja, med uppgraderingar snart skulle komma. Jag tillbringade många timmar i min ungdom vänder ut dussintals blad blad throwers hamrade av hydrauliska lyftare med e...

Grundläggande modifierbara Lödstation

Välkommen till min första Instructable för en Lödstation.Det finns många lödning stationer på denna webbplats så varför är detta en speciell?Det är mycket material effektivt, kan fungera för en variant av brödunderläggen, du kan arbeta i olika vinkla...

YourDuino: Grundläggande Arduino-kompatibel att undvika kollision Robot

Hur man bygger en grundläggande Arduino-kompatibel kollision-undvika RobotObs: Se de tillgängliga Arduino programvara Test skisser och kollisionsundvikande programvara här (klicka)Obs: Senare måste du ha Arduino "IDE" programvara utvecklingssyst...

Grundläggande läder halvmask

Välkommen!Här hittar du en handledning om att göra en grundläggande läder halfmask (som visar på 2: a bilden).Jag har arbetat med läder i över 15 år, och ville bara dela en grundläggande gå igenom om hur man gör en bra mask av din alldeles egna :)Gär...

Hur man syr en grundläggande söm / Automotive klädsel

Hur man syr en grundläggande söm!Steg 1: Grundläggande söm del 1Steg 2: Grundläggande söm del 2Steg 3: Grundläggande söm del 3...

De grundläggande fundamenta sång

Hej alla, jag ska lära dig rätt sätt att sjunga med de Grundläggande fundamenta av sjungande : andning, hållning och diktion . När du har bemästrat dessa färdigheter du kommer att kunna sjunga någon sång, oavsett vilken genre, med hjälp av dessa tekn...

Bygga en bågreaktorn med grundläggande verktyg och kompetens

jag trodde det skulle vara häftigt att gå som Tony Stark för Halloween, och jag vände mig till Instructables för idéer om hur man bygger en bågreaktorn. Problemet är att de bästa och mest korrekta Arc reaktorerna på webbplatsen som Honus' och Kyling...

Bygga Quadcopters, drönare och Uav: s-en förklaring och lätt bygga av en grundläggande Quad.

Så du är intresserad av Quadcopters, Quadrotors, UAV, drönare och vad de kallar dem.Men vilka är de består av, och varför? Kan jag bygga en eller är de för mer avancerade elektroniska typ individer.Väl aldrig rädsla. Jag presentera en grundläggande ö...

FPV markstationer - enkel guide och en grundläggande översikt över min GS bygga

TackDess varit 6 månader sedan min senaste instructable.Tack till de många människor som gillade och röstade för min sista. Dess på grund av dig jag har gjort tid att skriva denna FPV markstation instructable!!! WOOOOO.Om du tycker att detta hjälper...

Lätt grundläggande Arduino Ethernet Controller

jag nyligen gick ut och köpte en Arduino Ethernet Shield men kunde inte riktigt ta den i bruk som jag inte kunde hitta några lätt tutorials så jag började att försöka kod själv. Jag kunde komma med en enkel del av koden som visade på en LED från din...

Bygga en Android grundläggande programmerbara Tank för mindre än $50,00

The Smartphone baserad robot tank är s stort projekt att bygga med dina barn. Projektet kan avslutas inom en timme och kräver ingen lödning eller speciella verktyg. När du är klar, bara ladda ner och installera programmet EMGRobotics Audio Robot på t...

Skeksil, mörka Crystal Chamberlain (How-to version) del #1, struktur och grundläggande form.

Innan jag börjar, det är värt att notera att detta projekt var varken snabbt eller billigt. Det tog flera månader av hårda arbete för att nå ett stadium som jag kände att projektet var fullständig.Som sagt, är att slutföra ett projekt av denna omfatt...

Bygga en Gaming dator, eller lära sig de grundläggande delarna

Min son älskar teknik, vi har byggt en massa projekt tillsammans men detta är hans favorit. Detta gaming dator är hans stolthet och glädje. Den kan hantera alla av hans spel, streaming & inspelning behov, FPS är top notch och den grafiska kvaliteten...

Bygga en mänsklig förbättring enhet (grundläggande TDC leverans)

Webbplats för olika TDC placeringar och effekter.Visa detta projekt i samband med mitt liv och inriktad på min egen webbplats här om du vill.Edit: Vill du hårdvara för att göra TAC och tRNS förutom TDC, jag har byggt lite av det också.Jag blev förvån...