Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

transmition bluetooth arduino



  1. #1
    pegazix

    Question transmition bluetooth arduino


    ------

    j'ai un programme pour réceptionner un mot en bluetooth.

    le problème, c'est qu'il affiche sans arrêt YYYY dans le moniteur, comment changer ce problème ?

    Comment modifier le programme pour pouvoir mettre n'importe quel nombre de caractères?


    Code:
    Code:
    #define LED 13
    
    void setup() {
      pinMode(LED, OUTPUT);
      Serial.begin(9600);
    }
    
    void loop() {
      int i;
      char command[5];
      for (i = 0; i < 4; i++) {
        command[i] = Serial.read();
      }
      command[4] = '\0';
    
      Serial.println(command);
    
      if (strcmp(command, "high") == 0) {
        digitalWrite(LED, HIGH);
        
      } else if (strcmp(command, "1452") == 0) {
        digitalWrite(LED, LOW);
      }
    }

    Merci

    -----
    Dernière modification par JPL ; 16/07/2014 à 18h48. Motif: Ajout de la balise Code (#) pour garder l'indentation

  2. Publicité
  3. #2
    paulfjujo

    Re : transmition bluetooth arduino

    bonjour,

    Je ne connais pas le monde ARduino..mais
    La vitesse 9600bauds est-elle OK avec l'equipement bluetooth ?

    Est-ce que serial.read(); ATTEND chaque caractere

    Coté bluetooth tu envoies chaque caractere suivit d'un <CR>(enter)?
    ou le string (texte de commande) complet ?

    Je ne vois pas comment tu peux synchroniser la reception
    sur le debut ou la fin d'envoi de chaine via l'equipement bluetooth..

  4. #3
    Yoruk

    Re : transmition bluetooth arduino

    Tu devrais tester si le buffer série contient des caractères ou non avant de faire la lecture. Dans ton cas, il doit lire n'importe quoi.

    Exemple d'après cette page :

    Code:
    int incomingByte = 0;   // for incoming serial data
    
    void setup() {
            Serial.begin(9600);     // opens serial port, sets data rate to 9600 bps
    }
    
    void loop() {
    
            // send data only when you receive data:
            if (Serial.available() > 0) {
                    // read the incoming byte:
                    incomingByte = Serial.read();
    
                    // say what you got:
                    Serial.print("I received: ");
                    Serial.println(incomingByte, DEC);
            }
    }
    La robotique, c'est fantastique !

  5. #4
    PA5CAL

    Re : transmition bluetooth arduino

    Bonjour

    A priori, Serial.read() n'attend pas l'arrivée d'un caractère, mais retourne le dernier caractère déjà reçu et pas encore lu. Si aucun caractère n'a été reçu, la fonction retourne –1.

    –1 correspond au caractère (char) dont le code est 255, soit « ÿ ». Cela pourrait expliquer le résultat observé.

    Pour n'exécuter Serial.read() que lorsqu'un caractère est disponible, il convient d'en faire le test préalablement à l'aide de Serial.available().

    Par exemple, le code pourrait être :
    Code:
    #define LED 13
    
    int i;
    char command[5];
    
    void setup() {
      pinMode(LED, OUTPUT);
      Serial.begin(9600);
      i = 0;
    }
    
    void loop() {
      if (Serial.available()) {
        command[i++] = Serial.read();
        if (i==4) {
          command[4] = '\0';
          Serial.println(command);
    
          if (!strcmp(command, "high")) {
            digitalWrite(LED, HIGH);
          } else
          if (!strcmp(command, "1452")) {
            digitalWrite(LED, LOW);
          }
    
          i = 0;
        }
      }
    }
    [EDIT: grillé par Yoruk]
    Dernière modification par PA5CAL ; 16/07/2014 à 16h31.

  6. A voir en vidéo sur Futura
  7. #5
    Cram 64

    Re : transmition bluetooth arduino

    Les doublons ne sont pas acceptés, je viens de supprimer la première discussion pour la modération Cram 64.
    Le football, c'est comme les échecs...mais sans les dés. Lukas PODOLSKI, un expert, The Guardian.

Discussions similaires

  1. transmition bluetooth arduino
    Par pegazix dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 14/07/2014, 18h34
  2. [PROJET SI] Aide pour programme Arduino avec Bluetooth
    Par Soyalorea dans le forum TPE / TIPE et autres travaux
    Réponses: 1
    Dernier message: 04/03/2014, 09h37
  3. Réponses: 4
    Dernier message: 16/02/2013, 21h48
  4. Arduino UNO detecté en port de communication bluetooth
    Par benoitsuau dans le forum Matériel - Hardware
    Réponses: 3
    Dernier message: 02/07/2012, 20h20
  5. Module bluetooth et arduino
    Par clempar55 dans le forum Électronique
    Réponses: 0
    Dernier message: 01/06/2010, 14h49
Découvrez nos comparatifs produits sur l'informatique et les technologies.