Présentation du projet
Utilisation module 433Mhz avec arduino, j'ai fait cette recherche pour un projet qui m'a été demandé.
Les vues ont été faites avec fritzing
Pré-requis
- Deux arduinos UNO
- Module emetteur 433Mhz
- Module recepteur
Réalisation du projet
Cablage
Emetteur
- Un cable sur 5V
- Un cable sur GND
- Un cable sur la pin 3
Recepteur
- Un cable sur 5V
- Un cable sur GND
- Un cable sur la pin 5
Croquis
Ces croquis utilisent la bibliothèque VirtualWire.
Elle est disponible ici : airspayce.com
Emetteur
/*
Carte : Arduino Uno
Capteur : EMETTEUR 433
Synopsis: exemple d'utilisation du module 433
Biblio : utilisation de la bibliotheque VirtualWire
Source : http://www.airspayce.com/mikem/arduino/VirtualWire/
*/
#include <VirtualWire.h>
const int ledPin=9;
const int dataOutPin=3;
void setup()
{
Serial.begin(9600);
pinMode(dataOutPin, OUTPUT);
pinMode(ledPin, OUTPUT);
vw_setup(2000);
vw_set_tx_pin(dataOutPin);
Serial.println("SETUP EMETTEUR");
}
void loop()
{
const char *msg="HELLO";
vw_send((uint8_t *)msg, strlen(msg));
vw_wait_tx();
Serial.println("MSG PARTI");
digitalWrite(ledPin,HIGH);
delay(500);
digitalWrite(ledPin,LOW);
delay(500);
}
Recepteur
/*
Carte : Arduino Uno
Capteur : RECEPTEUR 433
Synopsis: exemple d'utilisation du module 433
Biblio : utilisation de la bibliotheque VirtualWire
Source : http://www.airspayce.com/mikem/arduino/VirtualWire/
*/
#include <VirtualWire.h>
const int ledPin = 9;
const int dataInPin = 5;
void setup()
{
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
pinMode(dataInPin, INPUT);
vw_setup(2000);
vw_set_rx_pin(dataInPin);
vw_rx_start();
Serial.println("SETUP RECEPTEUR");
}
void loop()
{
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message(buf, &buflen)) {
digitalWrite(ledPin, HIGH);
int i;
for (i = 0; i < buflen; i++)
{
Serial.write(buf[i]);
}
Serial.println("");
delay(100);
digitalWrite(ledPin, LOW);
}
}