Teclado MIDI Super Simple - Super eenvoudige MIDI Keyboard (5 / 5 stap)

Stap 5: Subir código y verbinden - code uploaden en verbinden


El teclado MIDI se programa usando la IDE de Arduino. Tenés dos maneras de subir el código. Una es usar VN conector USB/serieel como el de Adafruit, Arduino o Sparkfun. Conectalo problem al conector de 6 pines een la derecha y subí el código (recordá elegir correctamente la placa correspondiente al bootloader de tu chip atmega328p).  También podés cargar el código usando la placa arduino y luego retirarlo para colocarlo nl el sócalo del teclado.
El código geen bevat aún las funciones octaaf omhoog, omlaag y Pitchbend (espero incorporarlas nl el futuro pŕóximo). Pero permite tocar las notas de la octava media para probar que todo funcione correctamente. Tampoco hooi funciones asignadas por código een los dos potes (otra wandelplaats een futuro). El schets hace uso de la librería MIDI y está basado nl un ejemplo extraído de la página de Adafruit

PRINCIPIO DEL CÓDIGO
/*
Deze sketch is gebaseerd op de voorbeeldcode van ADAFRUIT
http://www.adafruit.com/blog/2009/10/20/example-code-for-multi-button-Checker-with-debouncing/
en gebruik MIDI bibliotheek:
http://sourceforge.net/projects/arduinomidilib/

*/
#include < MIDI.h >
#define DEBOUNCE 10 / / button debouncer, hoeveel ms debounce, 5 + ms is meestal veel

Hier is waar we het definiëren van de knoppen die we zullen gebruiken. knop "1" is de eerste, knop "6" is de 6e, etc
byte knoppen [] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19}; de analoge 0-5 pinnen zijn ook bekend als 14-19
Deze handige macro laat ons bepalen hoe groot de array van boven is, door de grootte controleren
#define NUMBUTTONS sizeof(buttons)
Wij zullen volgen als een knop wordt gewoon ingedrukt, net vrijgegeven, of 'momenteel ingedrukt'
byte ingedrukt [NUMBUTTONS], justpressed [NUMBUTTONS], justreleased [NUMBUTTONS];

VOID Setup {}
MIDI.begin(1);             Lancering van MIDI met standaardopties

byte i;

pin13 LED
pinMode (13, OUTPUT);

Maak input & pull-up weerstanden op schakelaar pinnen inschakelen
voor (ik = 0; ik < NUMBUTTONS; i ++) {}
pinMode (knoppen [i], INPUT);
digitalWrite (knoppen [i], hoge);
}
}

VOID check_switches()
{
statische byte previousstate [NUMBUTTONS];
statische byte currentStatus [NUMBUTTONS];
statische lange lasttime;
byte index;

Als (millis() < lasttime) {}
We gewikkeld, laat gewoon probeer opnieuw
lastTime = millis();
}

Als ((lasttime + DEBOUNCE) > millis()) {}
Er is onvoldoende tijd verstreken om te debounce
terugkeer;
}
OK we hebben gewacht ONTDENDERING milliseconden, laat opnieuw instellen van de timer
lastTime = millis();

voor (index = 0; index < NUMBUTTONS; index ++) {}
justpressed [index] = 0;       Wanneer wij beginnen, duidelijk we uit de indicatoren "gewoon"
justreleased [index] = 0;

currentStatus [index] = digitalRead(buttons[index]);   Lees de knop

Als (currentStatus [index] == previousstate[index]) {}
Als ((gedrukt [index] == laag) & & (currentStatus [index] == LOW)) {}
gewoon ingedrukt
justpressed [index] = 1;
}
anders als ((gedrukt [index] == HIGH) & & (currentStatus [index] == HIGH)) {}
net vrijgegeven
justreleased [index] = 1;
}
ingedrukt [index] =! currentStatus [index];  Vergeet niet, digitaal hoge middel niet ingedrukt
}
Serial.println (gedrukt [index], DEC);
previousstate [index] = currentStatus [index];   houden van een lopende telling van de knoppen
}
}

void loop {}
check_switches();      Wanneer we de switches controleren zullen we de huidige stand

voor (byte ik = 0; ik < NUMBUTTONS; i ++) {}
Als (justpressed[i]) {}
MIDI.sendNoteOn(44+i,127,1);
}
Als (justreleased[i]) {}
MIDI.sendNoteOff(44+i,127,1);
}

}
}

DEFINITIEVE DEL CÓDIGO

La placa puede alimentarse problem del puerto USB o por el conector de alimentación (7 een 15 Volt / positivo al medio). El interruptor (o jumper) esmerarse a la derecha (cerca del conector de 6 dennen) debe estar en la posición que corresponda een cada caso. Recordá desconectar cualquier dispositivo MIDI de la placa para cargar el código ya que bruikbaar los mismos puertos de comunicación nl ambos casos. Eso es todo! Solo resta verbinden VN kabel MIDI entre el teclado y un dispositivo con MIDI IN. espero que lo disfrutes. Si hacés algo con él, mostrame! Rercordá que podés hackear cualquier dispositivo con botones para transformarlo nl VN dispositivo MIDI con esta placa.  Gracias po tu atención!
Jorge (Laboratorio de Juguete)

---------------------------------------------------------------------

Dit toetsenbord met behulp van de Arduino IDE kun je programmeren. Er zijn twee manieren van het uploaden van de code. Een is met behulp van een typische USB naar seriële adapter zoals die van Adafruit, Arduino of Sparkfun (andere adapters wellicht niet de dezelfde pinout maar kunt u ze omleiden, kijk de tags op de zes-pinsconnector op de afbeelding hieronder). Als u een van deze, gewoon aansluiten op de Raad van bestuur. Vergeet niet om te kiezen van dezelfde boord van de bootloader die uw atmega heeft binnen.   Als u niet een van deze adapters kunt u ook de chip programmeren op je arduino board en vervolgens het uitlichten van een put in de aansluiting van het toetsenbord.
De code is nog erg basic en hoeft niet octaaf omhoog / omlaag functies of pitchbend (hopen dat ze in de nabije toekomst toevoegen). Geen van beide thei hebben code asigned aan de twee potentiometers (A4 en A5). De schets de MIDI bibliotheek gebruikt en is gebaseerd op een voorbeeld van Adafruitpagina.
De Raad van bestuur kunnen powerd via USB-Adapter of de stekker (7 tot en met 15 volt - positief naar het centrum). Switch (of trui) op de hogere rechterkant van het bord moet worden omgezet naar een van deze keuzes.  Vergeet niet om de stekker uit elke midi-apparaat dat is aangesloten op het bord wanneer u te ulpload code, probeert omdat het gebruik maakt van dezelfde poort voor beide communicatie. Dat is alles. Vergeet niet dat u dit bord gebruiken kunt voor kappen van elk apparaat met knoppen en zet hem in een MIDI-controller. Ondertussen gewoon het bord met behulp van een midi-kabel aan op een klankmodule of keyboard met MIDI IN-aansluiting aansluiten en genieten! Bedankt voor uw aandacht!
Jorge (Laboratorio de juguete)

Gerelateerde Artikelen

Arduino Touch capacitieve MIDI Keyboard

Arduino Touch capacitieve MIDI Keyboard

Dit Instructable zal u tonen hoe te maken van een touch capacitieve MIDI keyboard. Als je alle stappen correct te volgen, werkt het zoiets als dit:Video Opmerking: dit werkt niet met normale verf. Voor deze video heb ik gebruikt geleidende verf.Wat u
Laser Midi-Controller - (Laser geactiveerde Midi Keyboard)

Laser Midi-Controller - (Laser geactiveerde Midi Keyboard)

Het doel van het project:"Het bouwen van een laser geactiveerde midi-controller, met behulp van standaard elektrische componenten en een gerecycled midi keyboard."Stap 1.Vind een gerecycleerde midi keyboard / controller.Stap 2.Construeer een las
Super eenvoudig dashboarding rechtstreeks op het linkit een

Super eenvoudig dashboarding rechtstreeks op het linkit een

Dit begon als een gezocht naar soort van een poort van dit idee van een intel edison project ben ik begonnen met: Intel Edison Sensor Dashboard met behulp van Vrijboord en PythonHet is ook soort van een vergroting van dit instructable:Toen ik begon m
Lood-O-Lyzer, een Midi Keyboard herontworpen in Arduino

Lood-O-Lyzer, een Midi Keyboard herontworpen in Arduino

De lood-O-Lyzer is een apparaat ive wilde maken voor een tijdje. Ik wilde een apparaat dat kon maken muzikale leidt en uiteindelijk worden gebruikt als een midi-controller. de toonhoogte kan worden gecontroleerd door een ultrasone sensor op de kant.u
Eenvoudige daling Snare voor klein wild. SUPER eenvoudige

Eenvoudige daling Snare voor klein wild. SUPER eenvoudige

Stap 1: Wat, waarom, en voor Dus ik ben al op zoek rond instructables voor een goede snare en heb niet kunnen vinden. Dus ik heb deze gemaakt. Het is super eenvoudig en gemakkelijk en ontworpen voor klein wild, vogels, konijnen, possums, coons enz.St
Zelfgemaakte vergulden (super eenvoudig)

Zelfgemaakte vergulden (super eenvoudig)

Super eenvoudige manier aan gouden plaat uw fav blade of gereedschap(of wat je wilt plaat, zolang zijn metaal :)Stap 1: Materialen en gereedschappen:-Soldeerbout en wat draad-Rubber handschoenen en beschermende eye slijtage-Li Ion celAA-houder-Dest.
Super eenvoudige hond koekjes!

Super eenvoudige hond koekjes!

Het was een leerervaring te achterhalen van het exacte verhoudingen te krijgen van de juiste consistentie, maar ik ben er trots op deel mijn laatste recept! Deze zijn super eenvoudig, met weinig ingrediënten en vrijheid om toe te voegen van alle ingr
Super eenvoudig pompoen Cider mouw / gezellige

Super eenvoudig pompoen Cider mouw / gezellige

maken uw "Cheers" meer vrolijke met dit super eenvoudig haakwerk cider mouw/cozy.Stap 1: Start Gegoten op 25-40. Ik heb 36.Stap 2: Bewegen op Doen de tricotsteek stitch-knit één rij, brei averecht van de volgende.Stap 3: afwerkingNa ongeveer 25
Super eenvoudige Naan

Super eenvoudige Naan

Curry is heerlijk. Jij rijst is heerlijk met uw hoofdgerecht, maar wat als je moe bent van rijst?Neem een nota uit India en sommige super eenvoudig Naan maken. Naan is een yoghurt brood dat is zacht en licht zoete.Niet alleen is het eenvoudig, maar h
Super eenvoudige vakantie-Helper

Super eenvoudige vakantie-Helper

als u bij allen als me bent, je vaak merkt dat je behoefte aan een kalmerende invloed tijdens de vakantie. Misschien heb je peper gespoten tijdens het winkelen op zwarte vrijdag. Misschien is uw neef zojuist gezegd dat ze je oude vriend mist. Voor uw
Super eenvoudige Scones

Super eenvoudige Scones

Snel en gemakkelijk chocolade Chip SconesDit is een super eenvoudig recept voor chocolade chip scones. Het duurt slechts ongeveer 30 minuten van start tot finish, en is gemakkelijk en leuk genoeg om te doen met kinderen. Ik voor het eerst begonnen te
DIY Super eenvoudig stalen staaf plank

DIY Super eenvoudig stalen staaf plank

Om die industriële sfeer in uw huis zou gemakkelijk met deze DIY stalen staaf plank, waar u meestal assembleren bent, bouwen niet! Stalen staven, eindkappen en flenzen zijn gemakkelijk te halen in de sanitair-afdeling van uw thuis verbetering winkel.
Super eenvoudige ontsteking spoel stuurprogramma's

Super eenvoudige ontsteking spoel stuurprogramma's

Stap 1: laten we beginnen met de bacicsOK, is een ontsteking coil (of vonk coil) een soort vonkinductor vergelijkbaar met een Tesla coil . het wordt gebruikt in verbrandingsmotoren. en produceert tot 50.000 volt (een vonk van 2-4 CM) op een dodelijke
Super eenvoudig 30 tweede papier portemonnee

Super eenvoudig 30 tweede papier portemonnee

ik heb gemaakt deze portemonnee op een lange auto rit in new york enkele jaren geleden. Super super eenvoudig.Stap 1: materialen PapierNieten / tape30 seconden van uw tijdThats itStap 2: Doormidden Just vouw doormiddenStap 3: 1/4 weg omhoog Het onder