Skip to content

Wireless 433 Mhz

Van de verschillende manieren om draadloos te communiceren is 433 Mhz een veelgebruikte frequentie. Met bepaalde aanpassingen kan je deze frequentie gebruiken om draadloos te communiceren over lange afstanden.

433 Mhz onderdelen

Er zijn verschillende modules beschikbaar die werken op 433 Mhz. De meest gangbare modules zijn de 433 Mhz transmitter en de 433 Mhz receiver. De transmitter stuurt een signaal uit op 433 Mhz en de receiver kan dit signaal ontvangen.

433 Mhz Transmitter 433 Mhz Receiver
bron: studiopieters

Aansluiten

Beide modules hebben drie pinnen die aangesloten moeten worden op je microcontroller.

Let op

Volgorde

De volgorde van de pinnen verschillen per module. Zorg ervoor dat je de juiste pinnen aansluit op je microcontroller.

Voltage

De modules werken op 5V. Zorg ervoor dat je de modules aansluit op een 5V pin van je microcontroller. Als je geen 5V pin hebt kan je een externe voeding gebruiken. 3.3V kan werken maar dan is het bereik van de modules een stuk minder.

Library

Om de 433 Mhz modules te gebruiken in je projecten kan je gebruik maken van de Radiohead library. Deze library is een populaire library voor het werken met verschillende draadloze modules.

Code voorbeeld

Hieronder staat een voorbeeld van een transmitter en receiver die data kunnen versturen en ontvangen op 433 Mhz. Deze voorbeelden gaan uit van de volgende situatie:

  • het gebruik van de Radiohead library.
  • de receiver wordt aangesloten op pin 4 van je microcontroller
  • de transmitter wordt aangesloten op pin 5 van je microcontroller

Receiver

Hieronder staat een voorbeeld van een receiver die data ontvangt op 433 Mhz en deze data doorstuurt naar de serial monitor.

#include <RH_ASK.h>
#include <SPI.h>

RH_ASK driver(2000, 4, 5, 0); // set up the driver. Pin 4 for receiving, Pin 5 for transmitting.

void setup()
{
    Serial.begin(9600);
    driver.init();
}

void loop()
{
    uint8_t buf[RH_ASK_MAX_MESSAGE_LEN]; // Reserve some memory for the received bytes
    uint8_t buflen = sizeof(buf);

    if (driver.recv(buf, &buflen)) // put received data in the buffer    
        Serial.write(buf, buflen); //Write the buffer to the serial port            
}

Transmitter

Hieronder staat een voorbeeld van een transmitter die data verstuurt op 433 Mhz. Dit voorbeeld verstuurt een zin die je zelf kan aanpassen.

#include <RH_ASK.h>
#include <SPI.h>

RH_ASK driver(2000, 4, 5, 0);  // ESP8266 or ESP32: do not use pin 11 or 2
char *pSentence = "Soufflé ligt zwaar op de maag!\n";
uint8_t nChars = 0;

void setup() {
  driver.init();
  nChars = strlen(pSentence);
}

void loop() {
  for (int iChar=0; iChar<nChars; iChar++){
    driver.send((uint8_t *)(pSentence + iChar), 1);
    delay(50);
  }
}