Eine Möglichkeit über kürzere Distanzen Daten zwischen zwei Arduinos auszutauschen ist der Einsatz des Modulpaares XD-FST/XD-RF-5V. Dies besteht aus einem Sender und einem Empfänger, die mit der Trägerfrequenz von 433MHz arbeiten.
Pin | Verwendung |
---|---|
VCC | Spannungsversorgung +5V |
Data | serial data-Schnittstelle |
Data | serial data-Schnittstelle |
GND | Masse (-) |
Die Reichweite hängt von folgenden Faktoren ab:
Auf der 433MHz-Frequenz werden die gesendeten Daten unverschlüsselt übermittelt. Man sollte sich also darüber im Klaren sein, dass andere Personen die Daten abfangen können.
Pin | Verwendung |
---|---|
VCC | Spannungsversorgung +3,5V bis +12V |
DATA (ATAD) | serial data-Schnittstelle |
GND | Masse (-) |
Test eines anderen Empfänger-Moduls siehe: 433MHz-Module für Arduino II. (RXB8)
Für die folgenden beiden Sketche wird die Library https://github.com/sui77/rc-switch verwendet. Es werden zwei LEDs (rot und blau) durch das Drücken von zwei Tastern mit einer drahtlosen Verbindung zu Leuchten gebracht.
#define PIN_BUTTON_RED 2
#define PIN_BUTTON_GREEN 3
#define PIN_DATA 9
#include <RCSwitch.h>
RCSwitch rcSwitch = RCSwitch();
unsigned long lastAction = 0;
void setup()
{
pinMode(PIN_BUTTON_RED, INPUT_PULLUP);
pinMode(PIN_BUTTON_GREEN, INPUT_PULLUP);
rcSwitch.enableTransmit(PIN_DATA);
}
void loop()
{
if (millis() - lastAction >= 200) {
if (digitalRead(PIN_BUTTON_RED) == LOW) {
lastAction = millis();
rcSwitch.send(1, 24);
}
if (digitalRead(PIN_BUTTON_GREEN) == LOW) {
lastAction = millis();
rcSwitch.send(2, 24);
}
}
}
#define PIN_DATA 2
#define PIN_LED_RED 8
#define PIN_LED_BLUE 9
#include <RCSwitch.h>
RCSwitch rcSwitch = RCSwitch();
unsigned long val = 0;
void setup()
{
pinMode(PIN_LED_RED, OUTPUT);
pinMode(PIN_LED_BLUE, OUTPUT);
rcSwitch.enableReceive(digitalPinToInterrupt(PIN_DATA));
}
void loop()
{
if (rcSwitch.available()) {
val = rcSwitch.getReceivedValue();
rcSwitch.resetAvailable();
}
if (val == 1) {
digitalWrite(PIN_LED_RED, HIGH);
} else if (val == 2) {
digitalWrite(PIN_LED_BLUE, HIGH);
}
}
Nun sollte die entsprechende LED auf der Empfängerseite aufleuchten, sobald einer der Taster auf der Senderseite gedrückt wurde.
Ohne eine zusätzliche Antenne (v.a. am Sende-Modul) werden gewöhnlich nur sehr geringe Übertragungs-Reichweiten
innerhalb weniger Meter erreicht. Abhilfe schafft das Anlöten von Antennen an den dafür vorgesehen Lötpunkten
auf den Platinen der Module.
Als simpelste aller möglichen Antennen kann man einfach einen langen Draht anbringen, jedoch sollte optimalerweise
eine Antenne immer so lange sei wie ein Viertel der Wellenlänge des verwendeten Moduls (oder ein Vielfaches
bzw. ganzzahliger
Bruchteil dieser Wellenlänge).
λ = c / f (Wellenlänge = Lichtgeschwindigkeit / Frequenz)
Dies wären in diesem Fall:
λ = 299.792.458 m/s / 433MHz = 0,6923 m/(sHz)
Damit ergibt sich für die Länger der Antenne:
LAnt = λ / 4
LAnt = 0,6923 / 4 = 0,173
Damit sollte die Antenne 17,3cm lang sein.
Um die Antenne etwas kompakter zu halten, kann sie auch zu einer Spirale verbogen werden.
Solche Antennen kann man aber auch fertig kaufen.
(siehe: Rechner für Antennenlänge)