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.
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
GZE, un moteur multiplateforme, adapté pour de la 2D, 3D et création de logiciels.
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).
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
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.
GZE, un moteur multiplateforme, adapté pour de la 2D, 3D et création de logiciels.
GZE, un moteur multiplateforme, adapté pour de la 2D, 3D et création de logiciels.