Projekt 1- RF Blink
Als erstens müssen wir testen, ob die HF-Module arbeiten. Also werden wir eine sehr einfachen Sende- und Empfangs Aufbau entwerfen, um die Funktion zu testen.
Wir benutzen die Arduino OnBoard LED um das senden und empfangen zu sehen. Es wird eine leichte Verzögerung zwischen den beiden Arduinos geben.
Man kann auch eine Antenne auf den Modulen löten um die Reichweite zu erhöhen, dies tu ich aber jetzt nicht.
Beim Versuchsaufbau fand ich heraus das ich eine bessere Genauigkeit mit 3.3 V bekomme anstatt mit 5 V um dem Empfänger zu versorgen.
Hier sind die Teile die erforderlich sind für den Aufbau:
Hier sind die Teile, die Sie benötigen, um dieses Projekt durchzuführen:
2 x Arduino UNO oder kompatiblen Boards (oder ATTiny85 und Uno) ect.
Breadboard
Kabel
RF-Modul (433 MHz)
Fritzing Aufbau:
Arduino - Sketch - Sender:
// 433 mhz Blink - Sender Sketch #define rfsenderPin 4 //RF Sender pin = digital pin 4 #define ledPin 13 //Onboard LED = digital pin 13 void setup(){ pinMode(rfsenderPin, OUTPUT); pinMode(ledPin, OUTPUT); } void loop(){ for(int i=4000; i>5; i=i-(i/3)){ digitalWrite(rfsenderPin, HIGH); //sendet ein HIGH Signal digitalWrite(ledPin, HIGH); //LED anschalten delay(2000); //1 Sekunde warten digitalWrite(rfsenderPin,LOW); //sendet ein LOW Signal digitalWrite(ledPin, LOW); //LED ausschalten delay(i); //variabler Delay } }
-------------------------------------------------------- Arduino - Sketch - Empfänger
// 433 mhz Blink - Sender Sketch #define rfReceivePin A0 //RF Empfänger Pin = Analog pin 0 #define ledPin 13 //Onboard LED = digital pin 13 unsigned int data = 0; // Variable zum speichern empfangener Daten const unsigned int upperThreshold = 70; //Höchster Schwellenwert const unsigned int lowerThreshold = 50; //niedrigster Schwellenwert void setup(){ pinMode(ledPin, OUTPUT); Serial.begin(9600); } void loop(){ data=analogRead(rfReceivePin); //warten auf Daten am Analog pin 0 if(data>upperThreshold){ digitalWrite(ledPin, LOW); //Wenn ein LOW Signal empfangen wird, LED AUS Serial.println(data); } if(data<lowerThreshold){ digitalWrite(ledPin, HIGH); //Wenn ein HIGH Signal empfangen wird, LED AN Serial.println(data); } }
Keine Kommentare:
Kommentar veröffentlichen