Modifications

Aller à : navigation, rechercher

Controleur midi usb arduino

2 889 octets ajoutés, 4 août 2020 à 22:03
aucun résumé de modification
|ingrédients=arduino uno ou arduino mega, boutons poussoir, breadboard (au début), PCB prototype (si vous voulez remplacer la breadboard), des fils, faders (potentiomètres linéaires)(optionnel), potentiomètres (optionnel),
|machines=fer à souder (si vous ne gardez pas la breadboard), ordinateur (linux recommandé), programmeur AVR usb-isp (dans de rares cas),
}}
=== Contexte ===
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/>  ==== Sans Tableau ====Pour simplifier la compréhension du programme, nous allons d'abord expliquer une version avec un seul potentiomètre et un seul bouton, ce qui signifie que nous n'aurons pas de tableau d'entrée donc pas de boucle de lecture pour ces fameux tableaux.<br/>Dans ce cas-là, Nous avons fait le schéma choix de ne pas utiliser de câblage ressemble à çablibliotheque midi pour l'arduino, pour deux raison:<br/>[[file:SansTableauLe fait d'écrire toute les fonction nous a permis comprendre plus profondément se que nous faisions.png|700px]]<prebr/><syntaxhighlight lang="C++" line=Pas de rajout de bibliothèque veux aussi dire, pas de problème d'incompatibilité si on souhaite rajouté d'lineautre fonctionnalité qui nécessiterais elles, l’ajout d'une bibliothèque.<br/>
int entrePot = A0;
int entrebou = 2;
void setup(){
serial.begin(31250); //9600 pour le retour dans l'ide et 31250 pour le controleur midi
pinMode(entrebou, INPUT_PULLUP);
}
void loop(){ }==== 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/syntaxhighlight>Quoi qu'il en soit si vous ne brancher rien sur l'entrée numerique 12, votre valeur maximale atteindra par default 127. <br/pre==== Avec Tableau ====
[[file:MegaFinale.png|650px]] <br/>
Dans notre programme nous avons rajouté un fonctionement qui bloque a
int const pot [16]= {A0,A1,A2,A3,A4,A5,A6,A7 ,A8,A9,A10,A11,A12,A13,A14,A15};
// attribution canal control change Midi
int Cc [16]={0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17 ,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F};
=== Programation de l'atmega16u2 ===
Dans cette section , il va s'agir d'installer le logiciel qui pourra programmer l'atmega16u2en utilisant son mode [[wiki:Device_Firmware_Update|dfu]]. Suivant que vous possediez window mac os ou linux les étapes seront un peu differente et pour mac os il va falloir vous debrouiller tous seul pour l'instalation ensuite je crois que vous pourez vous caler sur les expliquations pour linux.<br/>'''Attention''', nous ont a avons linux sur nos ordinateur, il et nous n'allons pas expliquer la procédure avec Windows ou mac.<br/>Il nous semble que c'est possible sous windows avec le logiciel "flip" d'atmel que pour windows vous trouverez sur leur site.<br/>Sur mac, débrouillez vous, il y est des coquilles dans nos expliquations''nous semble néanmoins que dfu-programmer éxiste aussi sur mac, essayer d'adapter les commande linux, et bonne chance!!<br/>
====dfu-programmer et linux====Donc avec votre machine sous Linux, nous on a une Debian et une Ubuntu xfce, et sa fonctionne sur les deux système de la même manière, vous devez installer dfu-programmer.<br/>dfu-programmer est le logiciel que nous allons utiliser pour programmer l'atmega16u2 en branchant l'arduino l’Arduino à l'ordinateur de manière tous à fait habituel.<br/>cC'est un logiciel qui ne peut s'utiliser qu'en ligne de commande via le terminal.Pour l'installer, ouvrez il faut ouvrir un terminalPour updater et upgrader:<br/><pre>sudo apt updatesudo apt upgrade</pre><br/>Pour installer dfu-programmer:<br/><pre>sudo apt install dfu-programmer</pre><br/>Pour vérifier que notre versions de dfu-programmer prent en charge l'atmega16u2:<pre> dfu-programmer --targets</pre>se qui devrait faire apparaitre quelque chose comme ça:<pre>targets: at89c51snd1c at89c51snd2c at89c5130 at89c5131 at89c5132 at90usb1287 at90usb1286 at90usb1287-4k at90usb1286-4k at90usb647 at90usb646 at90usb162 at90usb82 atmega32u6 atmega32u4 atmega32u2 atmega16u4 atmega16u2 atmega8u2 at32uc3a0128 at32uc3a1128 at32uc3a0256 at32uc3a1256 at32uc3a0512 at32uc3a1512 at32uc3a0512es at32uc3a1512es at32uc3a364 at32uc3a364s at32uc3a3128 at32uc3a3128s at32uc3a3256 at32uc3a3256s at32uc3a4256s at32uc3b064 at32uc3b164 at32uc3b0128 at32uc3b1128 at32uc3b0256 at32uc3b1256 at32uc3b0256es at32uc3b1256es at32uc3b0512 at32uc3b1512 at32uc3c064 at32uc3c0128 at32uc3c0256 at32uc3c0512 at32uc3c164 at32uc3c1128 at32uc3c1256 at32uc3c1512 at32uc3c264 at32uc3c2128 at32uc3c2256 at32uc3c2512 atxmega64a1u atxmega128a1u atxmega64a3u atxmega128a3u atxmega192a3u atxmega256a3u atxmega16a4u atxmega32a4u atxmega64a4u atxmega128a4u atxmega256a3bu atxmega64b1 atxmega128b1 atxmega64b3 atxmega128b3 atxmega64c3 atxmega128c3 atxmega256c3 atxmega384c3 </pre>sur mon terminal "l'atmega16u2" se trouve bien sur la cinquième lignes et la deuxième colonnes. <br/>A partir de maintenant vous etes près pour la prochaine étape: passer ll'atmega16u2 en dfu mode.<br/><br/>====reprogrammer l'atmega16u2====
745
modifications

Menu de navigation