Modifications

Aller à : navigation, rechercher

Controleur midi usb arduino

2 584 octets ajoutés, 5 février 2021 à 19:46
aucun résumé de modification
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/>Le fait d'écrire toute les fonction nous a permis comprendre plus profondément se que nous faisions.<br/>Pas de rajout de bibliothèque veux aussi dire, pas de problème d'incompatibilité si on souhaite rajouté d'autre fonctionnalité qui nécessiterais elles, l’ajout d'une bibliothèque.<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à, le schéma de câblage ressemble à ça:<br/>
[[file:SansTableau.png|700px]]
<pre>
<syntaxhighlight lang="C++" line='line'>
int entrePot = A0;
int entrebou = 2;
void setup(){==== Le programme ====serialEn 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é.begin(31250); //9600 Il s'en sert pour évité de faire saturer le retour dans lson commander par les faders. C'est une sorte d'ide et 31250 assurance pour éviter de faire saturer le controleur midipinMode(entrebouson quand, INPUT_PULLUP);} void loop(){ } 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/>
====Linux: dfu-programmer====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'ordinateur de manière tous à fait habituel.<br/>
C'est un logiciel qui ne peut s'utiliser qu'en ligne de commande via le terminal.
</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