• Post category:Uno
  • Commentaires de la publication :0 commentaire
  • Dernière modification de la publication :mars 12, 2022
  • Temps de lecture :4 min de lecture

Piloter une led par ondes radio 433mhz grace à un bouton avec 2 Arduinos Uno *

 

 

    Prérequis :

Matériel :

  • 2 x Cartes Arduino Uno
  • Module Rf 433mhz Emetteur + Récepteur
  • 1 x Led
  • 1 x Bouton
  • 1 x Résistances 220Ω (optionnel)
  • Fils de connexion
  • 1 x Breadboard

Version IDE :

Bibliothèque :

  • VirtualWire.h

 

 

Vidéo de démonstration :

 

Schéma de câblage de l’Emetteur :

 

Code :

#include <VirtualWire.h> 
int RF_TX_PIN = 12; // Broche DATA de l'émeteur

void setup()
{
Serial.begin(9600);
vw_set_tx_pin(RF_TX_PIN);
vw_setup(2000); // Vitesse de transmission en Bits par secondes
pinMode(2,INPUT_PULLUP);
}

void loop()
{
const char *msg ;
boolean etatBouton=digitalRead(2);
if (etatBouton == 0) {
msg = "on";
}
else {
msg = "off";
}
Serial.println(msg) ;
vw_send((uint8_t *)msg, strlen(msg)); // Envoi le message ...
delay(400); // ... toute les 400 millisecondes
}

 

Schéma de câblage du Récepteur :

 

Code :

#include <VirtualWire.h>
int RF_RX_PIN = 11; // Broche DATA du récepteur à la pin
char message_recu[VW_MAX_MESSAGE_LEN];

void setup()
{
Serial.begin(9600);
vw_setup(2000); // Transmission en Bits par seconde
vw_set_rx_pin(RF_RX_PIN);
vw_rx_start(); // On démarre le récepteur.
pinMode (ledverte, OUTPUT);
}

void loop()
{
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message(buf, &buflen)) // Si un message est recu...
{
for (int i = 0; i < buflen; i++)
{
Serial.write(buf[i]);
message_recu[i] = buf[i];
}
message_recu[buflen] = '\0';
Serial.println("");
}
String message = String(message_recu);
if (message == "on"){
digitalWrite (ledverte, HIGH);
}
else{
digitalWrite (ledverte, LOW);
}
delay(1000);
}

 


 

Laisser un commentaire