Bonjour,
J'ai un souci que je n'arrive pas à résoudre (ni a comprendre):
Lorsque mon arduino mega est branché par usb, tout marche nickel,
mais quand je branche une alim ou une pile 9v dessus, il s'allume mais il ne fait plus ce qu'il devrait faire.
C'est PA5CAL qui me l'a fait (merci) je ne pense pas que ça vienne de là...
je le met quand même au cas ou:
Code:#include <Wire.h> // Niveau de déclenchement anti-rebond (minimum 1=immédiat) #define THRESHOLD 16 // Nombre de touches configurées #define NBKEYS 3 // Tableau des pins utilisées par les touches const int keyPin[NBKEYS] = { 53, 52, 51 }; // Tableau des notes MIDI correspondant aux touches const int keyPitch[NBKEYS] = { 0x29, 0x2A, 0x2B }; // Tableau des états des touches int keyState[NBKEYS]; int velocity; void setup() { Serial3.begin(31250); // interface MIDI à 31250 bauds int i; for (i=0; i<NBKEYS; i++) { // Pour chaque touche : keyState[i] = 0; // état initial de la touche = OFF pinMode(keyPin[i], INPUT); // pin configurée en entrée digitalWrite(keyPin[i], HIGH); // résistance de pullup activée } velocity = 0x45; // Volume par défaut } void loop() { int i; //(...) // Autres travaux for (i=0; i<NBKEYS; i++) { if (digitalRead(keyPin[i]) == HIGH) { // Détection touche enfoncée : if (keyState[i] < THRESHOLD) { // vérifie que la note est actuellement OFF keyState[i]++; if (keyState[i] == THRESHOLD) { // délai anti-rebond atteint ? sendNote(keyPitch[i], velocity); // envoie commande note ON keyState[i] = THRESHOLD<<1; // mémorise note ON } } } else { // Détection touche relâchée : if (keyState[i] > THRESHOLD) { // vérifie que la note est actuellement ON keyState[i]--; if (keyState[i] == THRESHOLD) { // délai anti-rebond atteint ? sendNote(keyPitch[i], 0); // envoie commande note OFF keyState[i] = 0; // mémorise note OFF } } } } } void sendNote(int pitch, int velocity) { Serial3.write(0x90); Serial3.write(pitch); Serial3.write(velocity); }
merci
-----