Bonjour a tous.
J’ai des problèmes pour faire fonctionner un système émetteur récepteur a l’aide d’arduino et de la bibliothèque virtual wire. L’objectif et de transmettre un message a distance et de vérifier si c’est bien le message que l’on voulais recevoir.
J’utilise les des transmetteur 433mhz fait pour arduino
Voila le code de mon émetteur:
#include <VirtualWire_Config.h>
#include <VirtualWire.h>
//déclatation des broches
const int led_jaune = 12;
const int emission = 13;
void setup() {
pinMode(led_jaune, OUTPUT);
Serial.begin(9600); //initialisation en baudes
vw_setup(2000); //initialiqation en baudes
vw_set_tx_pin(emission); //déclaration broche emission
//vw_rx_start();
}
void loop() {
byte paquet[27];
strcpy(paquet, "Hello World!"); //création du message
vw_send(paquet, 27); //envoie du message
delay(2000);
digitalWrite(led_jaune,HIGH);
vw_wait_tx(); //attente de la fin de l'envoie du message
delay(100);
digitalWrite(led_jaune,LOW);
delay(2000);
}
et voila le code du récepteur:
#include <VirtualWire_Config.h>
#include <VirtualWire.h>
const int reception = 13;
const int rouge = 9;
const int vert = 8;
void setup() {
pinMode(rouge,OUTPUT);
pinMode(vert,OUTPUT);
Serial.begin(9600);
vw_setup(2000);
vw_set_rx_pin(reception); // déclaration broche reception
vw_rx_start();
}
void loop() {
delay(1000);
digitalWrite(rouge,LOW); //on éteint toutes les diodes
digitalWrite(vert,LOW);
byte paquet[27]; //espace de reception du paquet
byte taille = 27; //déclaration de la taille du
vw_wait_rx_max(900);
if (vw_get_message(paquet,&taille))
{
digitalWrite(vert,HIGH);
}
else;
{
digitalWrite(rouge,HIGH);
}
delay(5000);
}
voici les images du circuit:
récepteur
émetteur:
+0
-0