Bonjour a tous,
après une absence relative du forum pour cause de PC crashé je reprend enfin mes petits bidouillages et je vous expose un pb sur lequel je sèche sévèrement (et qui fera sûrement l'objet d'un tuto quand j'aurais la soluce car je galère bien à trouver des infos...)
je me suis procuré li y a qques mois ceci :
https://fr.aliexpres...2311.0.0.Ww8qmW
j'utilise ces modules avec deux arduino nano chinois (V3), un qui (devrait) balance® des trames et l'autre qui reçoit...
les ports RX et TX sont respectivement câblés physiquement sur les ports 10 et 11 des arduinos (sur les deux, j'ai essayé de croiser sur un des deux également sans succès).
J'utilise la librairie SoftwareSerial pour faire causer tout ça...
voici le code de l'arduino qui émet :
#include <SoftwareSerial.h> #define LED 13 #define TXPIN 11 #define RXPIN 10 int cpt = 0; SoftwareSerial mySerial(TXPIN, RXPIN); // TX, RX (ports Arduino) void setup() { // initialize the digital pin as an output. pinMode(LED, OUTPUT); pinMode(RXPIN, INPUT); pinMode(TXPIN, OUTPUT); digitalWrite(LED, HIGH); mySerial.begin(9600); Serial.begin(9600); delay(500); Serial.println("Sending..."); digitalWrite(LED, LOW); } //Serial data transceiver void loop() { // if(mySerial.available()>0){ digitalWrite(LED, HIGH); cpt++; mySerial.print((cpt == 1)?'H':'L'); delay(2); Serial.print((cpt == 1)?'H':'L'); if (cpt > 1) cpt = 0; /*} else{ Serial.print(". "); }*/ delay(500); digitalWrite(LED, LOW); }
et le code de l'arduino qui recoit :
#include <SoftwareSerial.h> // programme de reception // recupère les commandes via la liaison serie radio et allume / eteinds les diodes en conséquence // Pin 13 has an LED connected on most Ardiuno boards. #define LED1 2 #define LED2 3 #define LED3 4 #define LED13 13 #define TXPIN 11 #define RXPIN 10 //SoftwareSerial mySerial(RXPIN,TXPIN); // TX, RX (ports Arduino) SoftwareSerial mySerial(TXPIN, RXPIN); // TX, RX (ports Arduino) char commande; void setup() { // initialize the digital pin as an output. pinMode(LED1, OUTPUT); pinMode(LED2, OUTPUT); pinMode(LED3, OUTPUT); pinMode(LED13, OUTPUT); pinMode(RXPIN, INPUT); pinMode(TXPIN, OUTPUT); digitalWrite(LED1, HIGH); delay(200); mySerial.begin(9600); Serial.begin(9600); Serial.println("init done..."); } //Serial data transceiver void loop() { digitalWrite(LED13, HIGH); while(mySerial.available()>0 ) { commande = mySerial.read(); delay(2); Serial.print(commande); // traitement des commandes if (commande == 'H') { digitalWrite(LED2,HIGH ); digitalWrite(LED3, LOW); delay(500); } else if (commande == 'L') { digitalWrite(LED2, LOW); digitalWrite(LED3, HIGH); delay(500); } else { digitalWrite(LED2, LOW); digitalWrite(LED3, LOW); } digitalWrite(LED13, LOW); } }
évidemment, si je vous écrit c'est que rien n'est reçu par le récepteur...
l'émetteur affiche bien alternativement HLHLHLHL dans la console si je monitore
rien ne se passe côté récepteur à priori...
j'arrive à balancer des commandes AT aux modules radio et j'ai des réponses donc je ne les ai pas grillés (ouf)
ils sont configurés sur le même canal et à la même vitesse (9600 bauds)
si qqu'un a une idée ça serait cool car là je suis sec :\
merci à tous de votre attention et surtout bonnes fêtes !
@+
zav