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

transmition bluetooth arduino



  1. #1
    invite712e037c

    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. #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..

  3. #3
    invite1d577638

    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);
            }
    }

  4. #4
    invite936c567e

    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]

  5. A voir en vidéo sur Futura
  6. #5
    invite728b013d

    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.

Discussions similaires

  1. transmition bluetooth arduino
    Par invite712e037c 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 invite142bdbde 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 invite922f9b6e dans le forum Matériel - Hardware
    Réponses: 3
    Dernier message: 02/07/2012, 20h20
  5. Module bluetooth et arduino
    Par invite92b6e5eb dans le forum Électronique
    Réponses: 0
    Dernier message: 01/06/2010, 14h49
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...