124
modifications
Modifications
→Programmation
On peut générer 1024 informations différentes avec les entrées analogiques de l'Arduino, de 0 à 1023.<br/>
On peut générer 2 informations différentes avec les entré numérique de l’Arduino, soit 0 soit 1, on peut aussi parler de l'état haut ("HIGHT" en anglais), et de l'état bas ("LOW" en anglais).<br/>
<br/>
Nous avons fait le choix de ne pas utiliser de blibliotheque midi pour l'arduino, pour deux raison:<br/> <big>Le fait d'''Attention écrire toute les fonction nous a permis comprendre plus profondément se code est en cours de rédaction il n'est pas utilisable pour le moment'''que nous faisions.<br/big><pre>//version 2.1: l'intrus (sans tableau) //Fait le 9/5/2018 par Al²//re-fait le 5/5/2020 par Al²: version visant à modifier le bug Pas de rajout de la sensibilité des cc // _____ A définir ____ //sensibilité: 2bibliothèque veux aussi dire, ça a l'air bienint sensibilite = 2; // _________ A ne pas modifier _____________ // déclaration des variables // déclaration des variables pour le bouton int digitalInBouton = 2;noteBouton = 20; boolean EtatBoutonAct = 0;boolean EtatBoutonPrec = 0;int i; // déclaration des variables pour le potentiomètre int const pot = A0; // attribution Control change Midi en hexadecimalint Cc =0x10; // valeur initialeint potVal; int j; #define midiChannel (byte) 0 // canal 1 void setup() { Serial.begin (31250); // attention vitesse de transmission MIDI = 31250, Moniteur Série = 9600 // initialisation des broches pinMode (digitalInBouton, INPUT_PULLUP); // initialisation des valeur du potentiomètre potVal=0; } void loop() { // Le bouton EtatBoutonAct = digitalRead (digitalInBouton); // lecture du bouton //Détection des changements problème d'état des boutons //De cette manière incompatibilité si on évite de "spamer" les messages midi //On envoie un message MIDIsouhaite rajouté d'autre fonctionnalité qui nécessiterais elles, uniquement lors du changement l’ajout d'état if (!EtatBoutonAct && EtatBoutonAnt) { sendMessage (0x90, noteBouton, 127); une bibliothèque.<br// envoie noteON } if (EtatBoutonAct && !EtatBoutonAnt) { sendMessage (0x80, noteBouton, 127); // envoie noteOFF } EtatBoutonAnt = EtatBoutonAct;} // Le potentiomètre potVal = rafraichir (pot , potVal, Cc); //delay (1);} int rafraichir (int const pot, int potVal, int Cc){ if (potVal + sensibilite < analogRead (pot) || potVal - sensibilite > analogRead (pot)){ potVal = analogRead (pot); int Val = potVal/8; sendMessage(0xB0, Cc, Val); //envoie valeur non-clippée } return potVal; }
==== Avec Tableau Le programme ====En plus dans fonction classique que l'on pourrais attendre d'un contrôleur midi classique, nous avons rajouter un switch, qui permet de choisir si on veux que les signaux des faders soit au maximum a 100 ou a 127, c'est notre pote jonas pour qui nous avons fait se controler qui nous l'a demandé. Il s'en sert pour évité de faire saturer le son commander par les faders. C'est une sorte d'assurance pour éviter de faire saturer le son quand, sa motricité lui ai momentanément empruntée par la frénésie de la fête électronique.<br/>Quoi qu'il en soit si vous ne brancher rien sur l'entrée numerique 12, votre valeur maximale atteindra par default 127. <br/>
[[file:MegaFinale.png|650px]] <br/>
Dans notre programme nous avons rajouté un fonctionement qui bloque a