Partage
  • Partager sur Facebook
  • Partager sur Twitter

Programme Arduino Liaison Radio (TDL2A 433MHz)

    20 mars 2019 à 10:39:32

    Bonjour,

    Je suis étudiant en 2ème année de BTS SNIR (Systèmes Numérique Informatique et Réseau). Je réalise cette année un projet qui nécessite la communication et l'envoi de données entre 2 Arduino (Arduino Mega 2560 et Arduino Uno). Pour cela j'utilise un modem de type TDL2A 433MHz de la marque Radiometrix (Lien Datasheet). Pour le moment j'ai réussi à configurer les adresses et les channels des modems pour qu'ils puissent communiquer entre eux. Il ne me reste plus qu'a développer le programme d'envoi et de réception des données. Pour cela j'utilise la bibliothèque SoftwareSerial, voici le code que j'ai inséré dans les deux arduinos :

    Code Arduino Mega 2560

    #include <SoftwareSerial.h>
    
    SoftwareSerial mySerial(15, 14); // RX, TX
    
    void setup() {
      // Open serial communications and wait for port to open:
      Serial.begin(9600);
      while (!Serial) {
        ; // wait for serial port to connect. Needed for native USB port only
      }
    
    
      Serial.println("Goodnight moon!");
    
      // set the data rate for the SoftwareSerial port
      mySerial.begin(9600);
      mySerial.println("Hello, world?");
    }
    
    void loop() {
      if (mySerial.available()) {
        Serial.write(mySerial.read());
      }
      if (Serial.available()) {
        mySerial.write(Serial.read());
      }
    }

    Code Arduino Uno

    #include <SoftwareSerial.h>
    
    SoftwareSerial mySerial(0, 1); // RX, TX
    
    void setup() {
      // Open serial communications and wait for port to open:
      Serial.begin(9600);
      while (!Serial) {
        ; // wait for serial port to connect. Needed for native USB port only
      }
    
    
      // set the data rate for the SoftwareSerial port
      mySerial.begin(9600);
    }
    
    void loop() { // run over and over
      if (mySerial.available()) {
        Serial.write(mySerial.read());
      }
      if (Serial.available()) {
        mySerial.write(Serial.read());
      }
    }

    Pour faire simple je n'arrive pas à recevoir les données d'un terminal (Serial) à un autre. C'est pour cela que je demande votre aide pour m'orienter afin de savoir si mon code est bon ou mauvais. Peu de monde utilise ce modem et il y a peu de tuto en anglais ou français. 

    Cordialement Mathieu.

    • Partager sur Facebook
    • Partager sur Twitter
      23 mars 2019 à 18:39:11

      Le code semble correct, mais je te conseil d'utiliser un USB UART adapteur que tu connecte sur un terminal PC. Ce qui te permet de tester la communication en envoie puis en réception avant de faire communiquer les 2 appareils avec le module (3 inconnue). Sinon il reste l'oscilloscope ;)

      • Partager sur Facebook
      • Partager sur Twitter

      GZE, un moteur multiplateforme, adapté pour de la 2D, 3D et création de logiciels.

        27 mars 2019 à 10:19:31

        Bonjour,

        Merci pour ta réponse Maeiky. Mais le problème étant que l'on possède déjà un FTDI232 et nous avons réalise le montage avec un oscilloscope et nous avons remarqué que l'on arrive à transmettre mais impossible de recevoir. (Impulsion pour TX et rien en retour sur RX).

        Cordialement Mathieu.

        • Partager sur Facebook
        • Partager sur Twitter
          27 mars 2019 à 14:56:25

          Tu ouvre 2 ports série sur chaque Arduino, est-ce que celui usb fonctionne pour les 2? Sur quel pins sont-ils configuré?
          • Partager sur Facebook
          • Partager sur Twitter

          GZE, un moteur multiplateforme, adapté pour de la 2D, 3D et création de logiciels.

            28 mars 2019 à 16:43:09

            Yo !

            C'est bon au final c'était un problème de croisement le modem est en ETCD alors que l’Arduino fonctionne en ETTC. En gros le TX va sur le TX et idem pour le RX.

            Cordialement

            • Partager sur Facebook
            • Partager sur Twitter

            Programme Arduino Liaison Radio (TDL2A 433MHz)

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown