Benutzer-Werkzeuge

Webseiten-Werkzeuge


433mhz_wireless-modul

433MHz Wireless-Empfänger & Sender

Abb. 1: Empfänger Abb. 2: Sender

Das 433MHz Sender-Empfänger-Set funkt auf einer Frequenz von 433MHz und kann dabei Daten übertragen. Für Projekte bei denen Daten über keine großen Entfernungen gesendet werden müssen ist dieses Set bestens geeignet. Kleine Roboterprojekte, z. B. Schwarmroboter können damit kommunizieren oder Daten an einen externen Computer senden.

Technische Daten:

Empfängermodul (Abb. 1 links)

  • Model: MX-05V (Bezeichnungen können unterschiedlich sein)
  • Betriebsspannung: 5V
  • Stromaufnahme: 4mA
  • Empfangsfrequenz: 433,92MHZ
  • Empfangsempfindlichkeit: -105dB
  • Abmessung: 30 x 14 x 7mm
  • Externe Antenne: 32cm spiralförmige Drahtantenne
  • Pinout (from left to right): (VCC, DATA, DATA, GND)

Sendermodul (Abb. 2 rechts)

  • Model: MX-FS-03V (Bezeichnungen können unterschiedlich sein)
  • Übertragungsentfernung: 20-200 Meter (Spannungsänderungen beeinflussen die Reichweite)
  • Betriebsspannung: 3,5-12V
  • Abmessungen:19 x 19mm
  • Übertragungsleistung: AM-Übertragung 4kb/Sek bei 10mW Sendeleistung (3,7V)
  • Sendefrequenz: 433MHz
  • Externe Antenne: 25cm Einzeldraht
  • Pinout (von links nach rechts): (DATA, VCC, GND)

Versuchsaufbau:

Der Versuchsaufbau erfolgte wie beschrieben.

Sender verbunden mit einem Beetle Controller mit ATAD-Pin an Pin D10 des Beetle. VCC und GND wurden ebenfalls vom Beetle bezogen. Der Beetle wird mit einem 3,7V LiPo-Akku betrieben und versorgt gleichzeitig den Sender.

Der Empfänger ist mit einem Arduino Leonardo verbunden. Auch hier wurde der Empfänger über den Arduino Leonardo mit Strom versorgt. Die Datenleitung wurde mit Pin 3 (Interrupt Pin) des Leonardo verbunden. Zusätzlich wurde ein Buzzer am digitalen Pin 10 angeschlossen, um die Reichweite bequem zu ermitteln.

Nach dem Verbinden aller Module wurde der Sender-Code auf den Beetle und der Empfängercode auf den Arduino Leonardo hochgeladen. Im seriellen Monitor kann man sehen, wenn die Daten empfangen werden. Um die Reichweite zu testen, wurde zusätzlich der Buzzer-Code eingefügt, um bei jedem erfolgreichen Empfang einen Zirpton auszugeben. Es wurde hierbei der Code und die Bibliothek von folgender Webseite verwendet: https://sites.google.com/site/summerfuelrobots/arduino-sensor-tutorials/rf-wireless-transmitter-receiver-module-433mhz-for-arduino

Sender-Code:

#include <RCSwitch.h>
 
RCSwitch mySwitch = RCSwitch();
 
void setup() {
  mySwitch.enableTransmit(10);  // Using Pin #10
}
 
void loop() {
  mySwitch.send("10000100011000000000010100");
  delay(1000);  
}

Empfänger-Code:

/*
  Simple example for receiving
  http://code.google.com/p/rc-switch/
  Need help? http://forum.ardumote.com
*/
#include <RCSwitch.h>
 
RCSwitch mySwitch = RCSwitch();
int counter = 0;
int buzzer = 10;
 
void setup() {
 
  Serial.begin(9600);
  mySwitch.enableReceive(0);  // Receiver on inerrupt 0 => that is pin #2 
                              //(for Leonardo please use Pin 3)
  pinMode(buzzer, OUTPUT);
}
 
void testtone(){
 
  for (int c = 0; c < 6; c++){
      digitalWrite(buzzer, HIGH);
      delay(30);
      digitalWrite(buzzer, LOW);
      delay(20);
  }
}
 
void loop() {
 
  if (mySwitch.available()) {
 
    int value = mySwitch.getReceivedValue();
 
    if (value == 0) {
      Serial.print("Unknown encoding");
    } else {
      counter = counter + 1;
      Serial.print("Received ");
      Serial.print( mySwitch.getReceivedValue() );
      Serial.print(" / ");
      Serial.print( mySwitch.getReceivedBitlength() );
      Serial.print("bit ");
      Serial.print("Protocol: ");
      Serial.println( mySwitch.getReceivedProtocol() );
      Serial.print("Counter: ");
      Serial.println(counter);
      testtone();
    }
    mySwitch.resetAvailable();
  }
}

Bei diesem Versuchsaufbau wurde am Empfänger eine ca. 10cm lange Drahtantenne und am Sender eine 20cm lange Drahtantenne aus Jumper-Kabel verwendet. Damit wurde im Raum eine Reichweite von ca. 10 Metern erreicht. Bei Verwendung der in den technischen Daten beschriebenen Antennen lässt sich die Reichweite und Zuverlässigkeit sicher noch steigern.

Pin-Belegung:

Abb.3 Empfänger-Pinout Abb.4 Sender-Pinout

Beim Anschluss der Module ist darauf zu achten, dass die Pins für VCC und GND (+ und -) korrekt angeschlossen werden. Der Sender (Abb. 4) hat VCC in der Mitte und GND rechts. Die Datenleitung wird am linken Pin angeschlossen.

Der Empfänger (Abb.3) besitzt 4 Anschluss-Pins. Links ist der Anschluss für VCC und rechts für GND. Die Datenleitung kann an einen der beiden mittleren Pins angeschlossen werden, diese sind beide miteinander verbunden.

Durch die geringe Größe und den geringen Stromverbrauch eignen sich diese 433MHz-Funkmodule gut für kleinere Projekte, bei denen es nicht auf große Reichweiten und die Übertragung von riesigen Datenmengen ankommt. Für die Bi-direktionale Kommunikation von z. B. Schwarmrobotern müssten in jedem Roboter ein Sender und ein Empfänger eingebaut werden, wobei eine Übertragung der Temperatur von einem Temperatursensor nur einseitig abläuft und der Temperatursensor nur mit einem Sender versehen wird.

433mhz_wireless-modul.txt · Zuletzt geändert: 2014/01/19 11:47 von lumi