Arduino - Module 433Mhz

Posted on ven. 22 juin 2018 in Projets

bandeau

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

emet.png

  • Un cable sur 5V
  • Un cable sur GND
  • Un cable sur la pin 3

Recepteur

recept.png

  • 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);
  }
}