Contrôleur Midi boîte noire (10 / 14 étapes)

Étape 10 : Télécharger une esquisse sur l’Arduino

L’appareil est physiquement terminé, reste plus qu’à charger le code sur it.below est une copie du code, de bout en bout, que j’ai utilisé quand j’ai construit ma boîte noire. L’esquisse de l’arduino est également fournie en pièce jointe.

 <p>#define rowOne 0 // Defines the midi note played by the first row.<br>#define rowTwo 1 // Defines the midi note played by the second row. #define rowThree 2 // Defines the midi note played by the third row. #define rowFour 3 // Defines the midi note played by the fourth row. #define columnOne 2 // Defines the pin connected to the first column. #define columnTwo 3 // Defines the pin connected to the first column. #define columnThree 4 // Defines the pin connected to the first column. #define columnFour 5 // Defines the pin connected to the first column. int delayTime; // Holds the number of milliseconds the program waits between columns.</p><p>byte noteOne; byte noteTwo; byte noteThree; byte noteFour;</p><p>// Sets the pin modes for all of the inputs and outputs of the arduino</p><p>void setup() { pinMode(7, INPUT); pinMode(8, INPUT); pinMode(9, INPUT); pinMode(10, INPUT); pinMode(11, INPUT); pinMode(12, INPUT); digitalWrite(12, HIGH); pinMode(columnOne, OUTPUT); pinMode(columnTwo, OUTPUT); pinMode(columnThree, OUTPUT); pinMode(columnFour, OUTPUT); }</p><p>void loop() { setDelay(); flashColumn(columnOne); flashColumn(columnTwo); flashColumn(columnThree); flashColumn(columnFour); if(digitalRead(12) == 0){ playTimingNotes(); } else { playNormalNotes(); delay(delayTime); } noteOne = 0; noteTwo = 0; noteThree = 0; noteFour = 0; }</p><p>// First parameter is the event type (0x09 = note on, 0x08 = note off). // Second parameter is note-on/note-off, combined with the channel. // Channel can be anything between 0-15. Typically reported to the user as 1-16. // Third parameter is the note number (48 = middle C). // Fourth parameter is the velocity (64 = normal, 127 = fastest).</p><p>void noteOn(byte channel, byte pitch, byte velocity) { MIDIEvent noteOn = {0x09, 0x90 | channel, pitch, velocity}; MIDIUSB.write(noteOn); }</p><p>void noteOff(byte channel, byte pitch, byte velocity) { MIDIEvent noteOff = {0x08, 0x80 | channel, pitch, velocity}; MIDIUSB.write(noteOff); }</p><p>// Combines note on and note off information into one method</p><p>void playNote(byte channel, byte pitch, byte velocity){ noteOn(channel, pitch, velocity); MIDIUSB.flush(); noteOff(channel, pitch, velocity); MIDIUSB.flush(); }</p><p>// Powers a column of the matrix, then reads out which switches are closed // then sets the column back down to low</p><p>void flashColumn(byte column){ digitalWrite(column, HIGH); readColumn(column); digitalWrite(column, LOW); }</p><p>// Reads each row, then plays the respective notes if the switches are closed</p><p>void readColumn(int column){ int noteNumber = 100; if(digitalRead(8) == 1){ noteNumber = rowOne + (column-1)*12; } else if(digitalRead(9) == 1){ noteNumber = rowTwo + (column-1)*12; } else if(digitalRead(10) == 1){ noteNumber = rowThree + (column-1)*12; } else if(digitalRead(11) == 1){ noteNumber = rowFour + (column-1)*12; } if(column == 2){ noteOne = noteNumber; } else if(column == 3){ noteTwo = noteNumber; } else if(column == 4){ noteThree = noteNumber; } else if(column == 5){ noteFour = noteNumber; } }</p><p>void playTimingNotes(){ for(int i = 0; i < 4; i++){ playNote(0, 100, 64); delay(delayTime/32); } }</p><p>void playNormalNotes(){ if(noteOne != 0){ playNote(0, noteOne, 64); } if(noteTwo != 0){ playNote(0, noteTwo, 64); } if(noteThree != 0){ playNote(0, noteThree, 64); } if(noteFour != 0){ playNote(0, noteFour, 64); } }</p><p>void setDelay(){ delayTime = ((analogRead(A0)/2)+300)*32; }</p> 

Articles Liés

Contrôleur MIDI DJ de arcade style

Contrôleur MIDI DJ de arcade style

>>> ce n'est pas encore tout à fait fini car j'ai armé un peu du circuit vers le haut. Je vais mettre à jour l'instructable et charger une vidéo lorsqu'elle est triée <<<J'ai été DJ pendant une dizaine d'années maintenant, et pour les de
Teensy Monster v1.0 / / bricolage contrôleur MIDI

Teensy Monster v1.0 / / bricolage contrôleur MIDI

Bienvenue sur le monstre Teensy Instructable !Ce Instructable vous aidera à monter votre monstre Teensy, comprendre comment le programmer et fournir de nombreux conseils pour la création d'un contrôleur de bricolage grand.teensymonster.ccAcheter votr
Contrôleur MIDI USB teensy pour contrôler Mobius Looper

Contrôleur MIDI USB teensy pour contrôler Mobius Looper

Motivation :Jouer dans un groupe de 2 pièces, avec les tambours et beaucoup d'autres échantillons en cours de lecture comme playbacks, il fallait utiliser un looper pour ajouter en plus d'éléments de la voie ferrée. Un looper temps basé ne parvient p
Convertir un jouet secouru un contrôleur MIDI

Convertir un jouet secouru un contrôleur MIDI

dans ce Instructable, je vous guidera dans le processus de conversion de jouet d'enfant secouru faire du bruit en un instrument de musique vraiment utile à l'aide de MIDI ! Prenez un moment pour juste coup d'oeil sur les titres des étapes de ce Instr
Contrôleur MIDI Arduino - techshop à l’aide de scarff boarduino

Contrôleur MIDI Arduino - techshop à l’aide de scarff boarduino

j'ai regardé autour d'un certain nombre de solutions différentes arduino pour MIDI. Mon concept de projet implique plus de 100 entrées analogiques que chacun l'impression de vitesse et offrir une sortie MIDI.   À l'aide de l'info de fond que j'ai obt
Contrôleur MIDI d’arcade

Contrôleur MIDI d’arcade

Je suis sûr que vous avez vu ces cool vidéos des gens jam session sur une boîte avec un tas de boutons dessus. Eh bien, aujourd'hui, je vais vous montrer comment vous pouvez aussi faire une boîte avec laquelle vous pouvez faire des confitures. < > I
Contrôleur MIDI avec claviers

Contrôleur MIDI avec claviers

Aujourd'hui, nous construisons la touche 400 contrôleur MIDI à l'aide d'un Arduino et ordinateur claviers !Pour les producteurs de musique consciente budget là-bas, ce projet est un excellent moyen de construire un peu coûteux de contrôle des stupéfi
Contrôleur MIDI contrôlé la flamme

Contrôleur MIDI contrôlé la flamme

Un énorme problème dans le monde de la production musicale numérique garde cette chaleur analogique (qui a résonné de tubes et systèmes de bobine à bobine) en musique numérique moderne. Beaucoup jurent que les systèmes analogiques ont un son qui ne p
Makey contrôleur MIDI Makey

Makey contrôleur MIDI Makey

Makey makey est un microcontrôleur qui agit comme un clavier quand il est branché sur votre ordinateur. J'ai reprogrammé il afin qu'il envoie les notes midi. Pourquoi ? Parce que lorsque vous utilisez un clavier pour contrôler les choses la fenêtre q
Faire votre propre clavier ou contrôleur MIDI USB pas cher

Faire votre propre clavier ou contrôleur MIDI USB pas cher

Je cherchais un périphérique contrôleur USB MIDI (ou interface) pour les applications de musique comme le clavier de piano ou orgue ou pédalier. Après quelques recherches, j'ai voulu aller vers une solution plus « fait maison ». Mon choix a été final
BeatSauce - un hybride de contrôleur Midi portable

BeatSauce - un hybride de contrôleur Midi portable

Pendant longtemps, j'ai voulu construire un contrôleur Midi personnalisé, et alors que ce n'est pas exactement un nouveau contrôleur j'ai fait de nouveau souffle dans certains vieux matériel.À l'aide de quelques pièces que j'avais accumulé et de dépe
Laser de contrôleur Midi - (clavier Midi déclenchée au Laser)

Laser de contrôleur Midi - (clavier Midi déclenchée au Laser)

Objectif du projet :« Construire un contrôleur midi déclenchée laser, en utilisant des composants électriques standard et un clavier midi recyclés. »Étape 1.Trouver un clavier midi recyclé / contrôleur.Étape 2.Construire un laser déclenché interrupte
Contrôleur Midi de Arduino avec une Distance de ZX et geste capteur

Contrôleur Midi de Arduino avec une Distance de ZX et geste capteur

Bienvenue sur ce instructable comment construire un contrôleur Midi très basique avec le SparkFun ZX Distance et le capteur de mouvement. Cette instructable fait partie d'un travail scolaire.Remarque : Il s'agit d'aucun tutoriel codage. Le code final
Contrôleur MIDI de Cigar Box

Contrôleur MIDI de Cigar Box

ici est un contrôleur MIDI DIY qui peut être utilisé avec Max/MSP, Ableton Live et n'importe quel autres logiciels de musique ou tout autre matériel qui offre des e/s MIDI.Le projet utilise le CPU de MIDI, ce qui peut être utilisé comme un "cerveau&q