Arduino Lektion 34: 433 MHz Funksender

In diesem Tutorial möchte ich den 433 MHz Funksender & Empfänger beschreiben, welchen ich bei ebay.de erstanden habe.

Funksender & Empfänger 433MHz Version
Funksender & Empfänger 433MHz Version

Es gibt dieses als 433MHz und 315MHz Version. Bevor man eines von beiden erwirbt, muss im jeweiligen Land / Bundesland geprüft werden, ob dieses erlaubt ist.

Im Lieferumfang ist der Sender und der Empfänger enthalten, die Batterie für den Sender ist gem. den EU-Richtlinien nicht Bestandteil und muss extra erworben werden. Ich habe diese Batterie vom Typ „V27A“ wiederum bei ebay.de erstanden. Somit ergab sich ein Preis von 3 € für Sender / Empfänger und 3 € für die Batterie.

Version mit 315MHz

In dem Frequenzplan der Bundesnetzagentur ist der Frequenzbereich von 315 MHz unter anderem für das Militär reserviert. (Siehe Seite 36 im PDF Dokument.) daher empfehle ich die Version mit 433MHz, diese ist für die zivile Nutzung freigegeben. (Siehe Seite 272 im PDF Dokument.)

Technische Daten

Empfangseinheit

  • Betriebsspannung 5V

Sender

Schaltplan / Aufbau

Antenne

Das Modul kommt fertig aufgebaut, einzig muss noch eine Antenne angeschlossen werden. Dazu habe ich ein Stück (ca. 30 cm) Klingeldraht genommen.

In dem folgenden kurzen Video zeige ich wie eine einfache Antenne für dieses Modul erstellt werden kann.

Wickelantenne für das 433MHz, 4 Kanal Funkmodul

Diese Antenne wird an das Modul am Anschluss „ANT“ angelötet.

Antennenanschluss am 433MHz Funkmodul.
Antennenanschluss am 433MHz Funkmodul.

Wichtig

Bei dem mir gelieferten Modul war der IC nicht korrekt angelötet, daher war zuerst keine Funktion gegeben. Daher, wenn das Modul eventuell nicht funktioniert, einfach mal die Lötstellen prüfen und nachbessern. Bei einem Preis von ca. 3 € ist dieses verschmerzbar.

Aufbau

Das Empfangsmodul verfügt über die PINs

BezeichnungBeschreibungArduino UNO
5VBetriebsspannung5V
GNDGround / –GND
D0digitaler Ausgang 0digitaler PIN 2
D1digitaler Ausgang 1digitaler PIN 3
D2digitaler Ausgang 2digitaler PIN 4
D3digitaler Ausgang 3digitaler PIN 5
UT*digitaler Ausgang 5digitaler PIN 6

*Der PIN mit der Bezeichnung UT ist immer auf HIGH, wenn irgendein Taster auf dem Sender betätigt wurde.

Anschluss des 433MHz Funkempfängers am Arduino UNO
Anschluss des 433MHz Funkempfängers am Arduino UNO

Der Aufbau ist relativ simple, da jeder PIN vom Receivermodul als digitaler Eingang am Arduino UNO angeschlossen wird (außer natürlich 5V & GND).

Aufbau Empfänger 433MHz Funkmodul am Arduino UNO.
Aufbau Empfänger 433MHz Funkmodul am Arduino UNO.

Quellcode

Einfaches Beispiel

const int btnApin = 4; //digitaler PIN 2
const int btnBpin = 2; //digitaler PIN 3
const int btnCpin = 5; //digitaler PIN 4
const int btnDpin = 3; //digitaler PIN 5
const int btnAnyPin = 6; //digitaler PIN 6

void setup() {
  Serial.begin(9600); //Begin der Seriellen kommunikation
}

void loop() {
  //Abfragen der zustände
boolean btnApressed = digitalRead(btnApin)== HIGH ? true: false;
boolean btnBpressed = digitalRead(btnBpin)== HIGH ? true: false;
boolean btnCpressed = digitalRead(btnCpin)== HIGH ? true: false;
boolean btnDpressed = digitalRead(btnDpin)== HIGH ? true: false;
boolean btnAnyPressed = digitalRead(btnAnyPin)== HIGH ? true: false;

  //Ausgabe des zustandes auf dem Seriellen Ausgang.
  //Lesbar im Seriellen Monitor.
  printBtnState("A", btnApressed);
  printBtnState("B", btnBpressed);
  printBtnState("C", btnCpressed);
  printBtnState("D", btnDpressed);
  printBtnState("\'any\'", btnAnyPressed);
}

/**
 * Methode zum ausgeben eines Textes auf dem Seriellen Ausgang.
 * Es wird nur etwas ausgegeben wenn die Variable 'var' TRUE ist.
 */
void printBtnState(String text, boolean var){
  if(var){ //Wenn TRUE dann:
    Serial.print("Button "+text+" pressed ="); //Text ausgeben ohne Zeilenumbruch.
    Serial.println(var); //Status True / False ausgeben. Und einen Zeilenumbruch ausführen.
  }
}

Beispiel steuern eines 4 fach Relaismoduls

Ein einfaches Beispiel ist das Steuern eines 4fach Relaismoduls. Wie man ein 2fach Relaismodul ansteuert habe ich im Tutorial Arduino Lektion 13: 2 fach Relaisplatine ansteuern beschrieben. Das 4fach Relaismodul unterscheidet sich „nur“ darin, dass nun 2 Adern mehr angeschlossen werden müssen und auch 2 digitale Pins mehr benötigt werden.

4fachRelaismodul mit 433MHz Funksender
4fachRelaismodul mit 433MHz Funksender

Quellcode

const int btnApin = 2; //digitaler PIN 2
const int btnBpin = 3; //digitaler PIN 3
const int btnCpin = 4; //digitaler PIN 4
const int btnDpin = 5; //digitaler PIN 5
//const int btnAnyPin = 6; //digitaler PIN 6

const int relais1Pin = 8;
const int relais2Pin = 9;
const int relais3Pin = 10;
const int relais4Pin = 11;

//Variablen zum speichern der Zustände der einzelnen PINs des Receivermodules.
boolean btnApressed = false; 
boolean btnBpressed = false;
boolean btnCpressed = false;
boolean btnDpressed = false;

//boolean btnAnyPressed = false;

void setup() {
  Serial.begin(9600);
  pinMode(relais1Pin, OUTPUT);
  pinMode(relais2Pin, OUTPUT);
  pinMode(relais3Pin, OUTPUT);
  pinMode(relais4Pin, OUTPUT);
}

void loop() {
  if(digitalRead(btnApin) == HIGH){
    activateRelais(relais2Pin);
  }

 if(digitalRead(btnBpin) == HIGH){
  activateRelais(relais4Pin);
  }

   if(digitalRead(btnCpin) == HIGH){
    activateRelais(relais1Pin);
  }

   if(digitalRead(btnDpin) == HIGH){
    activateRelais(relais3Pin);
  }

}

void activateRelais(int relaisPin){
 digitalWrite(relaisPin, HIGH); //Relais an
  delay(500);  //500ms warten
  digitalWrite(relaisPin, LOW);  //Relais aus
  delay(1000);// 1000ms warten  
}

Video

Steuern eines 4fach Relaismoduls mit dem 433MHz Funksender

Reichweite

Das Modul ist mit einer Reichweite von ca. 100 m angegeben. Dieses habe ich auf gerader Strecke probiert und hier nun das Ergebnis. In der Grafik sind 2 Strecken erkennbar, die Blaue ist ca. 50 m lang und die grüne ca. 100 m lang. Dieses wurde mit der Anwendung Google Earth gemessen.

Strecke zum Testen der Reichweite des 433MHz, 4 Kanal Funkmoduls.
Strecke zum Testen der Reichweite des 433MHz, 4 Kanal Funkmoduls.

Testergebnis

Mein Ziel war es wie aus der Grafik zu erkennen 2 Strecken auszutesten 50 m & 100 m jedoch war schon nach 6 m Schluss mit der Sende bzw. Empfangsleistung.

Fazit

Die Funkfernbedienung macht auf dem Bild einen stabilen Eindruck, jedoch wenn man diese in die Hand nimmt, ändert sich das ziemlich schnell. Des Weiteren sitzt die Batterie sehr ungünstig locker, so dass ich diese mit etwas Klebeband und Papier fixieren musste.

433MHzFunksender Batterie
433MHzFunksender Batterie

Im Kapitel Schaltplan / Aufbau > Wichtig habe ich bereits erwähnt, dass die Qualität des gelieferten Empfangsmoduls etwas niedrig ist, jedoch ist dieses bei 3 € auch nicht verwunderlich.

Nachdem alle „Probleme“ beseitigt wurden, war der Bausatz jedoch schnell betriebsbereit und die Programmierung des selbigen ist auch sehr einfach, da die PINs D1 bis D4 als digitale Eingänge am Arduino angeschlossen werden.

Schwierig ist dabei jedoch dass, das Programm / Sketch die Signale erkennt und verarbeitet da sobald man die Taste los lässt der PIN von „HIGH“ auf „LOW“ wechselt.

Die Sende und Empfangsleistung ist mit 50 m bis 100 m angegeben. Jedoch ist diese ein vielfaches weniger, nämlich  ca. 6 m.

5 Kommentare

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert