Étape 7: programmation
Commençons tout d’abord, nous avons besoin programmer la carte Arduino. Si il s’agit de votre première rencontre avec une carte Arduino, vous aurez besoin de configurer l’IDE Arduino sur votre PC, alors il peut parler à l’Arduino, et vous pouvez charger des programmes sur elle. Pour faire cela il suffit de suivre le guide de mise en route sur la page d’accueil de l’Arduino. Vous aurez également besoin d’installer la bibliothèque Timer1 . Téléchargez-le et décompressez-le sur/hardware/bibliothèques/Timer1 /
Edit: À partir de la MIDI_Controller_2011-03-21.zip, Timer1 n’est plus nécessaire.
Une fois votre Arduino est en marche, nous aurons besoin de charger un sketch sur elle qui lit la totalité du numérique et analogique canaux et convertit cette info en messages MIDI. Les messages MIDI sont ensuite envoyées en série via le câble USB au PC.
Téléchargez le croquis ci-joint et transférez-le sur votre Arduino. Le code a été établi afin de voir ce qui se passe. En un mot le code interroge sans cesse toutes les entrées numériques et analogiques, vérification des changements. Si une modification est détectée (un bouton a été activé ou un curseur a été déplacé), un message MIDI correspondant à l’entrée est envoyé à l’ordinateur.
Une chose à noter est que la logique pour quand un bouton est enfoncé et relâché peut sembler un peu en arrière. Quand un bouton est pressé l’entrée numérique va « faible », et quand il est libéré, il va « élevé ». Il s’agit de faire avec l’arrachage résistance et les boutons étant reliés au sol à l’étape précédente.
Quand il n’y a aucune entrée à la broche numérique (aucun bouton n’est enfoncé), l’entrée est tirée jusqu'à, ou élevé, d'où le nom. L’État par défaut de la broche numérique est donc élevé. Chaque bouton a été raccordé au sol pour que lorsqu’une touche est pressée, la broche lira faible.
Historique de révision de code :
2012-01-20
-Mise à jour de soutien Arduino 1.0 (mise à jour Serial.print à Serial.write)
2011-10-23
-Ajout par défaut #defines pour broches numériques Teensy 2.0 et 2.0 Teensy++
-Suppression #defines pour Teensy 1.0 comme usbMIDI n’est pas pris en charge
2011-04-11
-Teensy code USB (Merci à Tim Crawford).
-Mis à jour avec #defines pour Arduino Mega et Teensy USB pour compilation facile
2011-03-21
-Suppression TimerOne bibliothèque. Chaque broche analogique maintient désormais son temps puisqu’il est enfin proposé, plutôt que d’une minuterie pour toutes les broches. Cela cesse d’envoyer des mouvements nerveux sur les entrées analogiques qui n’ont pas été touchées.
2011-03-14
-Mis à jour l’analogique entrée logique donc seuls épingles au sein de la période de minuterie sont mises à jour, pas tous.
-Lit experimental code ajouté pour supérieur analogue de vitesse (mais moins précis)
-Réduit longueur horloge analogique de 1000ms à 250ms
2011-03-01
-Mise à jour sortie MIDI pour envoyer les mêmes signaux MIDI comme officiel MIDI Fighter
-Longueur de debounce réduction de 5 ms à 2 ms
2011-02-22
-Première version