To MIDI superenkel - Super enkel MIDI Keyboard (5 / 5 steg)

Steg 5: Subir código y conectar - ladda upp koden och ansluta



El to MIDI se programa usando la IDE de Arduino. Tenés dos maneras de subir el código. UNA es usar FN kvällarna-USB/seriell como el de Adafruit, Arduino o Sparkfun. Conectalo utgående al kvällarna de 6 pines en la Izquierda y subí el código (recordá elegir correctamente la Plaça correspondiente al bootloader de tu chip atmega328p). También podés cargar el código usando la placa arduino y luego retirarlo para colocarlo en el sócalo del to.
El código ingen incluye aún las funciones oktav upp, ner y pitch bend (espero incorporarlas en el futuro pŕóximo). Pero permite Camilo las anmärkningar de la octava media para probar que todo funcione correctamente. Tampoco hö funciones asignadas por código en los dos potes (otra promesa en futuro). El skiss hare uso de la librería MIDI y está basado sv FN ejemplo extraído de la página de Adafruit

PRINCIPIO DEL CÓDIGO
/*
Denna skiss är baserad på exempelkod från ADAFRUIT
http://www.adafruit.com/blog/2009/10/20/example-Code-for-multi-Button-Checker-with-debouncing/
och använder MIDI-biblioteket:
http://sourceforge.net/projects/arduinomidilib/

*/
#include < MIDI.h >
#define DÄMPNINGSTID 10 / / debouncer, hur många ms-knappen till Dämpningstid, 5 + ms är oftast gott

här är där vi definiera de knappar som vi använder. knapp "1" är först, "6"-knappen är den 6: e, etc
byte knappar [] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19}; den analoga 0-5 stift är också känd som 14-19
Denna behändiga makro låter oss att avgöra hur stor matrisen upp ovan är, genom att kontrollera storleken
#define NUMBUTTONS sizeof(buttons)
Vi kommer att följa upp om en knapp är bara tryckte, just släppt eller "för närvarande tryckt"
byte tryckte [NUMBUTTONS], justpressed [NUMBUTTONS], justreleased [NUMBUTTONS];

void setup() {
MIDI.begin(1); Lansera MIDI med standardalternativen

byte i.

pin13 LED
pinMode (13, OUTPUT);

Gör ingång & aktiverar pull-up motstånd på switch pins
för (jag = 0; jag < NUMBUTTONS; i ++) {
pinMode (knapparna [i], ingång);
digitalWrite (knappar [i], hög);
}
}

void check_switches()
{
statiska byte previousstate [NUMBUTTONS];
statiska byte currentstate [NUMBUTTONS];
statiska lång lasttime;
byte index.

om (millis() < lasttime) {
vi lindade runt, kan bara försöka igen
lasttime = millis();
}

om ((lasttime + DEBOUNCE) > millis()) {
inte tillräckligt med tid har passerat för att Dämpningstid
hemkomst.
}
OK vi har väntat DEBOUNCE millisekunder, kan nollställa timern
lasttime = millis();

för (index = 0; index < NUMBUTTONS; index ++) {
justpressed [index] = 0; När vi börjar, rensa vi ut de "bara" indikatorerna
justreleased [index] = 0;

CurrentState [index] = digitalRead(buttons[index]); Läs på-knappen

om (currentstate [index] == previousstate[index]) {
om ((tryckte [index] == låg) & & (currentstate [index] == låg)) {
bara tryckte
justpressed [index] = 1;
}
annars om ((tryckte [index] == hög) & & (currentstate [index] == hög)) {
precis släppt
justreleased [index] = 1;
}
tryckte [index] =! currentstate [index]; kom ihåg att digital hög betyder inte intryckt
}
Serial.println (pressad [index], DEC);
previousstate [index] = currentstate [index]; hålla en kör stämmer av knappar
}
}

void loop() {
check_switches(); När vi kontrollera växlarna får vi aktuella tillstånd

för (byte jag = 0; jag < NUMBUTTONS; i ++) {
om (justpressed[i]) {
MIDI.sendNoteOn(44+i,127,1);
}
om (justreleased[i]) {
MIDI.sendNoteOff(44+i,127,1);
}

}
}

SLUTLIGA DEL CÓDIGO

La placa puede alimentarse utgående del puerto USB o por el uttag de alimentación (7 en 15 Volt / positivo al medio). El interruptor (o bygel) ubicado a la Izquierda (cerca del kvällarna de 6 tallar) debe estar sv la posición que corresponda en cada caso. Recordá desconectar cualquier dispositivo MIDI de la placa para cargar el código ya que återvi los mismos puertos de comunicación sv ambos casos. ESO es todo! Solo resta conectar un kabel MIDI entre el to 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 sv FN dispositivo MIDI con esta placa. Gracias po tu atención!
Jorge (Laboratorio de Juguete)

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

Du kan programmera detta tangentbord använder Arduino IDE. Det finns två sätt att ladda upp koden. En använder en typisk USB till seriell adapter som de från Adafruit, Arduino eller Sparkfun (andra kort inte kan ha samma pinut men du kan dirigera om dem, titta bara taggarna på den sex stift på bilden nedan). Om du har en av dem, bara ansluta den till styrelsen. Kom ihåg att välja samma styrelse starthanteraren ditt atmega har inuti. Om du inte har någon dessa kort du kan också Programmera chip på din arduino ombord, sedan dra ut en sätta det i uttaget tangentbord.
Koden är mycket grundläggande ännu och har inte oktav upp / ner funktioner eller pitchbend (hoppas att lägga till dem i en nära framtid). Varken göra thei har koden asigned till de två potentiometrar (A4 och A5). Den skiss använder MIDI bibliotek och är baserad på ett exempel från Adafruitsida.
Styrelsen kan vara strömförsörjning via USB-Adapter eller dess stickkontakt (7-15 volt - positiva till center). Växel (eller bygel) på den övre högra sidan av styrelsen måste vändas till en av dessa val. Kom ihåg att koppla bort alla MIDI-enheten är ansluten till styrelsen när du försöker ulpload kod eftersom den använder samma port för både kommunikation. Det är allt. Kom ihåg att du kan använda denna styrelse att hacka någon anordning med knappar och förvandla det till en MIDI-controller. Under tiden, bara Anslut styrelsen med en MIDI-kabel till en ljudmodul eller tangentbord med MIDI IN-uttaget och njut! Tack för er uppmärksamhet!
Jorge (Laboratorio de juguete)

Se Steg
Relaterade Ämnen

Laser MIDI-Controller - (Laser utlösta Midi Keyboard)

Projektets målsättning:"Bygga en laser utlösta MIDI-controller, med hjälp av standard elektriska komponenter och en återvunnen midi keyboard."Steg 1.Hitta en återvunnen midi keyboard / controller.Steg 2.Konstruera en laser utlöste switch.Steg 3....

Arduino Touch kapacitiv MIDI Keyboard

Detta Instructable visar dig hur man gör en touch kapacitiv MIDI keyboard. Om du följer alla steg korrekt, fungerar det ungefär så här:Videoanteckning: detta fungerar inte med normal färg. För denna video använde jag Konduktiv färg.Vad du behöver:-Ar...

Bly-O-Lyzer, en Midi Keyboard omgjorda i Arduino

Bly-O-Lyzer är en enhet ive ville göra ett tag. Jag ville göra en enhet som skulle kunna göra musikaliska leder och så småningom användas som en MIDI-controller. tonhöjden kan styras av en ultrasonic sensor på sidan.så småningom hoppas jag att göra d...

Super enkel Firestarter

dag jag kommer att visa dig hur man gör en super enkel brand starter som fungerar utmärkt. Dess superenkel eftersom det endast krävs 3 ingredienser, ännu bättre du förmodligen redan dem!!! Om du är ett barn, som jag, få en vuxen att hjälpa dig.Ingred...

Super enkel Workshop cykelställ

.Jag har två cyklar att sätta ihop - med ett är ett frame ersättning jobb, och den andra är under ombyggnad och uppgradering av en gammal racing cykel med nya pulverlackering, vevaxel, vevar, pedaler, svanhals, etc., etc., etc.Jag funderar över behov...

DIY ROOM DECOR ❤ Super enkel COOKIE kudde! (Sy/nej sy)

Hi!!Idag en bring du en super enkel och rolig DIY: cookie kudde!Du behöver:Någon form av tyg (storlek beror på hur stor du vill att din kudde vara)Brun filt (kan du använda svart, men jag tror att brown kommer att se mycket bättre)Sy kit: sax, tråd o...

Super enkel Gluten fri jordnötssmör (Chocolate Chip) Cookies

Super enkel Gluten fri jordnötssmör (Chocolate Chip) CookiesGör 2 dussin eller mer beroende på storlek.Saker som behövs:MätglasetBlandning skedMatskedCookie blad (icke-stick visas)Kylning Rack X2Objekt som inte visas *GaffelSpatelIngredienser:1 kopp...

Super enkel gardin

detta instructable kommer att berätta hur man gör en riktigt enkel gardin från någon gammal bit av tyg som du har liggande.Jag gjorde en av dessa gardiner för min hemliga den eftersom jag är fattig och har inte råd att köpa gardiner, även om inte rik...

Super enkel arkivskåp Upcycle

det är gratis och löjligt enkelt! Upcycle din tråkiga arkivskåp i 1 timme.Steg 1: Hitta en tråkig arkivskåp Under våra office remodel, och medan jag tittade på färgen torka - inget skämt - jag hade en titt på våra plain vit metall arkivskåp i mitten...

Super enkel ignition coil drivrutiner

Steg 1: låter start med bacicsOK, är en tändning coil (eller spark spole) en typ av induktionsspolar liknar en Tesla coil . den används i förbränningsmotorer. och producerar upp till 50.000 volt (en 2-4 CM gnista) vid en dödlig ström på 25ma.för att...

Super enkel hund kex!

Det var en lärorik erfarenhet att räkna ut de exakta proportionerna för att få rätt konsistens, men jag är stolt över att dela min sista recept! Dessa är super enkel, med få ingredienser och friheten att lägga till några ingredienser som du tycker pa...

Hemgjord förgyllning (super enkel)

Super enkel väg till guld tallrik din fav blad eller verktyg(eller vad du vill till plattan, så länge som dess metall :)Steg 1: Material och verktyg:-Lödkolv och vissa tråd-Gummihandskar och skyddande öga slitage-Li Ion cell-AA-hållare-Dest. vatten-A...

Super enkel justerbar LED förare eller Laser

göra din egen drivrutin för din led eller laser-diod, schematisk är super enkel bara 2 komponenter LM317 spänningsregulator och justerbar trim kruka 50 ohm.LM317 kommer att nuvarande tillsynsmyndigheten, med trimm pot vi gona ange önskan nuvarande.Se...

SUPER ENKEL NYBÖRJARE ROBOT II (ARDUINO UNO VER.)

Detta "vänners kompatibla är baserad på min ganska populära SUPER enkel nybörjare ROBOT" vänners kompatibla. Efter många, många förfrågningar att tillhandahålla en uppdaterad version Arduino, är här det!Jag skapade detta Instructable, och dess f...

Super enkel nybörjare Robot!

'''ROBOT VIDEO'' 'Här är en extern länk till video medan YouTube bearbetar den inbäddade versionen...Jag skapade detta Instructable för den absoluta n00by robot wannabe. Jag har märkt ett stort hopp i antalet nybörjare att komma in på hobby och antal...

Super enkel strandväska

* lite sömnad erfarenhet krävs * har du någonsin känt behovet av att gå till stranden, men hade ingen strandväska att sätta din handduk i? Som aldrig kommer att hända igen tack vare Super enkel strandväska! Jag gjorde detta för ett tag sedan så jag h...

Min Super enkel genväg vitlöksbröd

behöver vitlöksbröd med spaghetti i en blixt? Prova min Super enkel genväg vitlöksbröd recept!Steg 1: Steg ett: samla dina ingredienser Värm ugnen till 350 grader. Samla dina ingredienser. För detta recept behöver du:Tjocka skivor (Texas Toast) köpta...

Super enkel gummisnodd penna pistol

Gummiband penna pistolen är mycket enkel och tar ca 2 minuter för att göra!Låt oss komma igång!De material du behöver är:1 billig kulspetspenna2 gummibandSteg 1: Ta pennan isärTa bort den gemensamma jordbrukspolitiken, patron, ändlock och plast bit s...

Super enkel 30 andra papper plånbok

jag gjorde denna plånbok på en lång bil rida in i new york för flera år sedan. Super super enkel.Steg 1: material PapperHäftar / tejp30 sekunder av din tidDet är detSteg 2: I hälften Bara Vik in hälftenSteg 3: 1/4 väg upp Vik ihop den nedre delen hal...