Arduino usb
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

Arduino usb



  1. #1
    Janosch

    Arduino usb


    ------

    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

    -----

  2. #2
    Janosch

    Re : Arduino usb

    personne ?

Discussions similaires

  1. pic18f2550 et USB CDC + USB HID
    Par ranouch dans le forum Électronique
    Réponses: 7
    Dernier message: 09/07/2012, 20h24
  2. Plusieurs Questions Arduino Et USB
    Par invite8f0ce5da dans le forum Électronique
    Réponses: 11
    Dernier message: 13/07/2011, 15h05
  3. spec USB => Micro-A USB sur OTG, câblage
    Par Shaiton dans le forum Électronique
    Réponses: 0
    Dernier message: 20/06/2011, 17h24
  4. Réponses: 2
    Dernier message: 25/04/2008, 20h10
  5. USB tripoté->démarrage impossible si USB pas branché
    Par invite91e50fe1 dans le forum Matériel - Hardware
    Réponses: 10
    Dernier message: 17/07/2004, 09h38
Découvrez nos comparatifs produits sur l'informatique et les technologies.