Donnerstag, 28. Januar 2016

Arduino 433 MHz Modul

433 MHz sender empfänger

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:

433mhz Fritzing schaltung

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