IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Transfert données entre 2 HC 05 bluetooth


Sujet :

Arduino

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2017
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Transfert données entre 2 HC 05 bluetooth
    Bonjour
    je suis un nouveau dans la programmation des Arduino
    Après avoir fait quelques protos concluant aujourd'hui je suis bloqué sur le transfert d'une donné entre 2 Arduino en Bluetooth.
    tout le code fonctionne bien mais je ne transfert que le premier octet soit de 0 à 255.
    avec le map 0,1024,0,255,ça fonctionne très bien mais je souhaiterai récupérer un float pour afficher une valeur d'une T°.
    Es-ce possible avec des modules HC-05?
    voici le code du master:

    La T° et RH sont remplacés par des potards

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    #include <SoftwareSerial.h>
    SoftwareSerial Master (3,2);// RX,TX
    int c;
    // Arduino pin numbers
     int SW_pin = 4; // digital pin connected to switch output
     int X_pin = A0; // analog pin connected to X output
     int Y_pin = A1; // analog pin connected to Y 
     int valH;
     int valV;
     
    void setup() {
      pinMode(SW_pin, INPUT);
      digitalWrite(SW_pin, HIGH);
      pinMode (X_pin,INPUT);
      pinMode (Y_pin,INPUT);
      Serial.begin(9600);
      Master.begin(9600);
      c=200;
    }
     
    void loop() {
        valH= analogRead(X_pin);
        valV= analogRead (Y_pin);
        valH= map(valH,0,1023,0,255);
        valV= map (valV,0,1023,0,255);
     
     if (Master.available() >0);{ 
       Master.write(valH);
    delay(1500);
       Master.write(valV);
     
       }
      Serial.print("Switch:  ");
      Serial.print(digitalRead(SW_pin));
      Serial.print("\n");
      Serial.print("X-axis: ");
      Serial.print(analogRead (X_pin));
      Serial.print("\n");
      Serial.print("Y-axis: ");
      Serial.println(analogRead(Y_pin));
      Serial.print("\n\n");
     // Serial.print(c);
      delay(500);
    }
    puis celui du slave
     
     
    #include <SoftwareSerial.h>
    SoftwareSerial Slave(3, 2); // RX, TX
     
    int c;
     
    void setup()
    {
      Serial.begin(9600);
      Slave.begin(9600);
    }
     
    void loop()
    {
      if (Slave.available() >0)
        {
          c = Slave.read();
          Serial.println(c,DEC);
          delay(500);
        }
    }
    Merci d'avance si quelqu’un à une idée pour résoudre ce problème.
    Cordialement

    si quelqu'un av

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 620
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 620
    Points : 56 857
    Points
    56 857
    Billets dans le blog
    40
    Par défaut
    Bonjour,

    Tu peux mettre tes 2 octets dans un tableau ou une structure et envoyer le tout avec un seul write .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Serial.write(tableau, sizeof (tableau))

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2017
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour f-leb
    Merci pour ta réponse mais si tu avais un peut plus d'explication pour créer un tableau ce serait sympa.

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 620
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 620
    Points : 56 857
    Points
    56 857
    Billets dans le blog
    40
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    byte tableau[]={ octet1, octet2};
    Serial.write(tableau, 2);
    devrait fonctionner

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2017
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Ok Merci pour l'info je vais tenter d’écrire ce code.

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2017
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Apres recherche j'ai trouvé une fonction sans créer de tableau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Master.write(valH & 0xFF); // Envoi l'octet de poids faible
    Master.write((valH >> 8) & 0xFF); // puis l'octet de poids fort
    puis dans la réception

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     c = Slave.read() + (Slave.read() << 8);
    ça fonctionne mais il faut ralentir l’exécution du code sous pêne de perdre des infos à la réception.
    Comment peux t'on fiabiliser le transfert?
    Bonne soirée.

  7. #7
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 620
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 620
    Points : 56 857
    Points
    56 857
    Billets dans le blog
    40
    Par défaut
    Bonsoir,

    Avant de lire les données, as-tu testé si elles étaient disponibles dans le buffer avec Serial.available() ?

Discussions similaires

  1. [XL-2010] Trier et transfert données entre 2 tableaux
    Par gilou41 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 03/03/2014, 07h21
  2. Transfert Données entre Activity
    Par Invité dans le forum Android
    Réponses: 2
    Dernier message: 05/04/2012, 20h14
  3. Réponses: 5
    Dernier message: 30/11/2005, 16h41
  4. Réponses: 2
    Dernier message: 21/10/2005, 17h02
  5. [Designer] Problème de transfert de données entre modul
    Par BILLYPATOU dans le forum Designer
    Réponses: 11
    Dernier message: 09/03/2004, 18h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo