Modifications

Controleur midi usb arduino

982 octets ajoutés, 15 juin 2020 à 19:40
aucun résumé de modification
'''Attention !!''' : certains fabricants remplacent la 16u2 par un CH340, les cartes sont alors parfois moins chères, mais on ne peut pas les transformer en périphérique MIDI. Les Firmware des CH340 sont propriétaires, merci pour ce cadeau empoisonné ! <br/>
exemple de carte uno et méga avec des CH340 (qu'il ne faut pas choisir, pour se projet): <br/>
[[file:UnoCh340.png|325px]]
[[file:MegaCH340.png|325px]]
exemple de carte uno et méga avec des CH340 (qu'il ne faut pas choisir, pour ce projet): <br/>
<br/>
<br/>
[vous pouvez passer cette rubrique et juste utiliser la fonction qu'on a écrite ou cette bibliothèque [https://github.com/FortySevenEffects/arduino_midi_library] si ça vous intéresse pas trop]
Le langage MIDI est un protocole de communication spécialement créer pour la communication musicale numérisénumérisée, il peut etre utiliser être utilisé pour toute sorte d'utilisation, y compris non musicale, par exemple pour contrôler des jeux de lumière. <br/>
Les messages sont constitués de 3 [[Wikipedia:Octet|octets]] (24 [[Wikipedia:Bit|bits]]).
Le premier bit du premier octet est toujours à 1 et le premier bit des deuxième et troisième octets est toujours à 0 afin de systématiquement identifier le début du message lorsqu'il y a de l'information en continu.
=== Câblage ===
Savoir quoi brancher sur quoi est assez simple en théorie, c'est beaucoup moins évident dans la pratique...<br/>
en generale En général avec trois ou quatre fils , ça passe tranquiltranquille, une dizaine sa ça se complique, pour . Pour nous avec la boite qu'on avais choisisavait choisie ( un livre de 23cm x 18cm x 3.5cm), pour et 8 faders, 8 potentiomètre potentiomètres et 16 boutons, ça a très vite été bien galère.<br/>Dans l'idée, il faut bien différencier les entrées numériquenumériques, des entrées analogiques.<br/>Le but ici, est vous expliquer comment câblé, vous câbler. Vous devez adapter le concept a à votre contrôleur midi a à vous.<br/>
====les entrées analogiques====
Dans cet équipe , on retrouve toute les résistances variables: photorésistance, potentiomètres, faders, etc.<br/>Les potentiomètre et fader on ont généralement 3 pattes, les deux extrémités sont a branché à brancher respectivement sur le 5v et le GND et , alors que la patte du milieu doit être branchée sur une broche entrée analogique de l'Arduino.<br/>Les photorésistances Il est très important (pour grandement se branche entre simplifier la programmation) de brancher tous les faders et potentiomètres dans le 5v et une entrée analogique de l'Adruinomême sens. <br/>Certain fader on Certains faders ont 6 pattes, se ce sont des fader faders double pistepistes, composer composés de 2X3 pattes, pour notre projet la deuxième piste ne va pas nous servir. On le branche donc comme expliqué ci-dessus et on laisse trois broches libres.<br/>Dans les fait l'information on peut générer 1024 informations différentes avec les entrées analogiques Les photorésistances se branchent entre le 5v et une entrée analogique de l'Arduino, de 0 à 1023Adruino.<br/> 
[[file:megaCablageExemple.png|500px]]
====les entrées numériques====
Ici, c'est l'équipes équipe des interrupteurs, nous avons utiliser des bouton poussoir classiqueclassiques, mais il est aussi possible d'utiliser des switchs (il me semble qu'en français on dit interrupteur a à bascule).<br/>Dans les fait Ils se branchent entre le GND et l'information on peut générer 2 informations différentes avec les entré entrée numérique de l’Arduino, soit 0 soit 1, on peut aussi parler de sans résistance car nous utilisons la résistance interne à l'état haut Arduino appelée résistance pull-up. Attention cela a un impact sur la programmation ("HIGHT" cela inverse l'information en anglaisla rendant contre intuitive). Si vous ne comprenez pas trop ce passage, et on l'état bas ("LOW" en anglais)explique dans la partie programmation.<br/> 
[[file:MegaCablageExempleNumerique.png|500px]]
<br/>
=== Programation Programmation ===Dans cette partie , on va essayer d’être claireclaires, pour que sa ça vous paraisse simple, mais la programmation, c'est pas simple, si vous n'avez jamais écris écrit un programme , la programmation, c'est normal pas simple et il est possible que sa ça vous paraisse obscureobscur, très obscureobscur. on On ne peux peut que vivement vous conseiller de faire un tutoriel de programmation de l'Arduino (celui-la par exemple [https://zestedesavoir.com/tutoriels/686/arduino-premiers-pas-en-informatique-embarquee/]).<br/>Surtout ne lâcher lâchez pas l'affaire. Vous êtes une dorade qui vient de faire l'acquisition sur d'un dîné dîner succulent. Malheureusement , il y a un hameçon dans votre repas, au bout de cet hameçon , un fil puis une canne a à pêche, puis un bateau. Il vas va falloir tirer pour casser , soit le fil , soit la canne , soit le bateau , parce que ce repas c'est le votre et vôtre, y'a pas moyens moyen de négocier et accessoirement aussi que vous n'êtes le repas de personne.C'est pas vous qui aller allez vous faire grailler par la programmation, c'est la programmation qui va vous servir de casse croûte.<br/> ====Informations générales==== 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 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, se ce qui signifie que nous n'aurons pas de tableau d'entré entrée donc pas de boucle de lecture pour ces fameux tableaux.<br/>Dans se ce cas la -là, le schéma de câblage ressemble a à ça:<br/>
[[file:SansTableau.png|700px]]
<code lang='"s'">
//sans tableau
int entrePot = A0;
==== Avec Tableau ====
 
====Débuggage====
Inverser le 5v et le GND en branchant les potentiomètres et faders, inverse les bornes (0-1024 ou 1024-0), ce qui a un impact sur la manière dont on se comporte le contrôleur avec les logiciels. Il faut donc faire attention de les brancher tous dans le même sens. Basiquement, "il fonctionne à l'envers".
124
modifications