Qgelm

Nr.03 - Funkverbindung über 433mhz mit dem Arduino | Funduino

Originalartikel

Backup

<html> <h1 class=„western“><img class=„alignnone wp-image-1095“ src=„https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/433mhz-Bild1-1024x637.jpg?resize=846%2C526“ alt=„“ width=„846“ height=„526“ srcset=„https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/433mhz-Bild1.jpg?resize=1024%2C637&amp;ssl=1 1024w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/433mhz-Bild1.jpg?resize=300%2C187&amp;ssl=1 300w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/433mhz-Bild1.jpg?resize=768%2C478&amp;ssl=1 768w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/433mhz-Bild1.jpg?resize=830%2C516&amp;ssl=1 830w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/433mhz-Bild1.jpg?resize=230%2C143&amp;ssl=1 230w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/433mhz-Bild1.jpg?resize=350%2C218&amp;ssl=1 350w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/433mhz-Bild1.jpg?resize=480%2C299&amp;ssl=1 480w“ sizes=„(max-width: 846px) 100vw, 846px“ data-recalc-dims=„1“/></h1> <p>Die Sender und Empf&#228;nger f&#252;r das 433mhz Funksignal sind relativ kleine und g&#252;nstige Bauteile. Sie eignen sich f&#252;r kleine Datenverbindungen in einem Abstand von wenigen Metern. Die beiden Module k&#246;nnen jedoch mit kleinen Antennen ausgestattet werden, wodurch die Reichweite erh&#246;ht werden kann.</p> <p>Die Antennen k&#246;nnen jeweils an der daf&#252;r vorgesehenen Stelle an die Module gel&#246;tet werden:</p> <p><img class=„alignnone wp-image-1097“ src=„https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Antenne433-1024x502.png?resize=528%2C259“ alt=„“ width=„528“ height=„259“ srcset=„https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Antenne433.png?resize=1024%2C502&amp;ssl=1 1024w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Antenne433.png?resize=300%2C147&amp;ssl=1 300w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Antenne433.png?resize=768%2C377&amp;ssl=1 768w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Antenne433.png?resize=830%2C407&amp;ssl=1 830w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Antenne433.png?resize=230%2C113&amp;ssl=1 230w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Antenne433.png?resize=350%2C172&amp;ssl=1 350w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Antenne433.png?resize=480%2C235&amp;ssl=1 480w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Antenne433.png?w=1274&amp;ssl=1 1274w“ sizes=„(max-width: 528px) 100vw, 528px“ data-recalc-dims=„1“/></p> <p>Auf der 433mhz Frequenz werden die gesendeten Daten unverschl&#252;sselt &#252;bermittelt. Man sollte sich also dar&#252;ber im Klaren sein, dass andere Personen die Daten abfangen k&#246;nnten. Der Sender kann von ca. 3,5V bis 12V betrieben werden. Je h&#246;her die Spannung, desto h&#246;her ist die Reichweite.&#160;&#160;Mit einer zus&#228;tzlichen Antenne l&#228;sst sich die Reichweite ebenfalls erh&#246;hen.</p> <p>Sender:</p> <p>Es gibt bei diesen Modulen verschiedene Sendem&#246;glichkeiten und Protokolle , wie das senden von Bin&#228;rcode, Dezimalzahlen oder Tri-state. Wir werden uns in dieser Anleitung auf das Senden von Dezimalzahlen beschr&#228;nken, da diese am einfachsten weiterverarbeitet werden k&#246;nnen.</p> <p>Empf&#228;nger:</p> <p>Auf der 433mhz Frequenz pr&#252;ft der Empf&#228;nger stetig, ob Signale empfangen werden. Sobald der Empf&#228;nger ein Signal aufzeichnet, unterbricht der Arduino Mikrocontroller das Programm (Loop).&#160;Die&#160;empfangenen Daten k&#246;nnen dann im Serial Monitor angezeigt und verarbeitet werden. Der Empf&#228;nger wird mit 5V betrieben. Eine h&#246;here Spannung f&#252;hrt hier nicht zu einer h&#246;heren Reichweite. Jedoch macht eine Antenne auch beim Empf&#228;nger Sinn.</p> <p>F&#252;r den Empf&#228;nger und f&#252;r den Sender gibt es in den folgenden Anleitungen jeweils unterschiedliche Sketche, da beide v&#246;llig unterschiedliche Aufgaben zu erf&#252;llen haben.</p> <p>In dieser Anleitung verwenden wir die RCSwitch Library. Sie enth&#228;lt neben der notwendigen Library auch einige einfache Beispielcodes, die wir f&#252;r diese Anleitung verwenden und erweitern werden.</p> <p>Material: Arduino / Breadboard / Breadboardkabel / 433Mhz Sender und Empf&#228;nger / Stromversorgung oder ein zweites Arduino-Board, da Sender und Empf&#228;nger nicht gleichzeitig an einem Board betrieben werden.</p> <p>F&#252;r diese Anleitung wird die RCSwitch Library ben&#246;tigt: https://github.com/sui77/rc-switch</p> <p>Die Library muss installiert werden bevor man den Sketch verwendet.</p>

<p><strong>Sketch 1: Senden und empfangen</strong></p> <p>Mit dem Sender soll ein 433mhz Signal gesendet werden. Ein zweiter Arduino Mikrocontroller empf&#228;ngt die Daten und zeigt sie im Serial-Monitor an.</p> <p><span class=„c1“>Der Sender:</span></p> <p>Der Sender hat drei Anschl&#252;sse.</p> <p>Beim Blick auf die Vorderseite:<br/> links: GND / in der Mitte: VCC / rechts: DATA</p> <p><img class=„alignnone wp-image-1098“ src=„https://i2.wp.com/funduino.de/wp-content/uploads/2016/04/Sender-vorne-433.jpg?resize=217%2C241“ alt=„“ width=„217“ height=„241“ srcset=„https://i2.wp.com/funduino.de/wp-content/uploads/2016/04/Sender-vorne-433.jpg?w=534&amp;ssl=1 534w, https://i2.wp.com/funduino.de/wp-content/uploads/2016/04/Sender-vorne-433.jpg?resize=270%2C300&amp;ssl=1 270w, https://i2.wp.com/funduino.de/wp-content/uploads/2016/04/Sender-vorne-433.jpg?resize=230%2C255&amp;ssl=1 230w, https://i2.wp.com/funduino.de/wp-content/uploads/2016/04/Sender-vorne-433.jpg?resize=350%2C389&amp;ssl=1 350w, https://i2.wp.com/funduino.de/wp-content/uploads/2016/04/Sender-vorne-433.jpg?resize=480%2C533&amp;ssl=1 480w“ sizes=„(max-width: 217px) 100vw, 217px“ data-recalc-dims=„1“/></p> <p>Um den Sender zu verkabeln, wird der Data-Pin mit Pin 10 des Arduinos, VCC mit 5V und GND mit GND verbunden.</p> <p><img class=„alignnone wp-image-1099“ src=„https://i2.wp.com/funduino.de/wp-content/uploads/2016/04/Sender-verkabelung-785x1024.png?resize=391%2C510“ alt=„“ width=„391“ height=„510“ srcset=„https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Sender-verkabelung.png?resize=785%2C1024&amp;ssl=1 785w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Sender-verkabelung.png?resize=230%2C300&amp;ssl=1 230w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Sender-verkabelung.png?resize=768%2C1002&amp;ssl=1 768w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Sender-verkabelung.png?resize=830%2C1083&amp;ssl=1 830w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Sender-verkabelung.png?resize=350%2C457&amp;ssl=1 350w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Sender-verkabelung.png?resize=480%2C626&amp;ssl=1 480w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Sender-verkabelung.png?w=910&amp;ssl=1 910w“ sizes=„(max-width: 391px) 100vw, 391px“ data-recalc-dims=„1“/></p> <p>Der Sketch (Sender):</p> <pre class=„western“>#include &lt;<strong>RCSwitch</strong>.h&gt; <strong>RCSwitch</strong> mySwitch = <strong>RCSwitch</strong>(); void setup() {

mySwitch.enableTransmit(10);  // Der Sender wird an Pin 10 angeschlossen

} void loop() {

mySwitch.send(1234, 24); // Der 433mhz Sender versendet die Dezimalzahl &#8222;1234&#8220;
delay(1000);  // Eine Sekunde Pause, danach startet der Sketch von vorne

} </pre> <p><span class=„c1“>Der Empf&#228;nger</span></p> <p>Material: Arduino / Breadboard / Kabel (3x) / 433Mhz XY-MK-5V-Receiver / Stromversorgung</p> <p><br/> Der Empf&#228;nger hat 4 Anschl&#252;sse.</p> <p>Beim Blick auf die R&#252;ckseite:<br/> links: GND / in der Mitte(2x): Data / rechts: VCC</p> <p><img class=„alignnone wp-image-1103“ src=„https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Empf%C3%A4nger-r%C3%BCckseite.png?resize=295%2C200“ alt=„“ width=„295“ height=„200“ srcset=„https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Empf&#228;nger-r&#252;ckseite.png?w=631&amp;ssl=1 631w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Empf&#228;nger-r&#252;ckseite.png?resize=300%2C203&amp;ssl=1 300w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Empf&#228;nger-r&#252;ckseite.png?resize=230%2C156&amp;ssl=1 230w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Empf&#228;nger-r&#252;ckseite.png?resize=350%2C237&amp;ssl=1 350w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Empf&#228;nger-r&#252;ckseite.png?resize=480%2C325&amp;ssl=1 480w“ sizes=„(max-width: 295px) 100vw, 295px“ data-recalc-dims=„1“/></p> <p>Zur Verwendung wird ein (beliebiger) Data-Pin mit dem Pin 2 Arduinos verbunden.<br/> Im Sketch wird diese als Pin 0 beschrieben, da er dieser der Interrupt-Pin 0 ist.</p> <p><img class=„alignnone wp-image-1104“ src=„https://i1.wp.com/funduino.de/wp-content/uploads/2016/04/Empf%C3%A4nger-aufbau-825x1024.png?resize=456%2C566“ alt=„“ width=„456“ height=„566“ srcset=„https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Empf&#228;nger-aufbau.png?resize=825%2C1024&amp;ssl=1 825w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Empf&#228;nger-aufbau.png?resize=242%2C300&amp;ssl=1 242w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Empf&#228;nger-aufbau.png?resize=768%2C954&amp;ssl=1 768w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Empf&#228;nger-aufbau.png?resize=830%2C1031&amp;ssl=1 830w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Empf&#228;nger-aufbau.png?resize=230%2C286&amp;ssl=1 230w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Empf&#228;nger-aufbau.png?resize=350%2C435&amp;ssl=1 350w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Empf&#228;nger-aufbau.png?resize=480%2C596&amp;ssl=1 480w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Empf&#228;nger-aufbau.png?w=835&amp;ssl=1 835w“ sizes=„(max-width: 456px) 100vw, 456px“ data-recalc-dims=„1“/></p> <p>Der Sketch (Empf&#228;nger):</p> <pre class=„western“>#include &lt;<strong>RCSwitch</strong>.h&gt; <strong>RCSwitch</strong> mySwitch = <strong>RCSwitch</strong>(); void setup() {

<strong>Serial</strong>.begin(9600);
mySwitch.enableReceive(0);  // Empf&#228;nger ist an Interrupt-Pin "0" - Das ist am UNO der Pin2

} void loop() {

if (mySwitch.available()) // Wenn ein Code Empfangen wird...
{
  int value = mySwitch.getReceivedValue(); // Empfangene Daten werden unter der Variable "value" gespeichert.

  if (value == 0) // Wenn die Empfangenen Daten "0" sind, wird "Unbekannter Code" angezeigt.
  {
    <strong>Serial</strong>.println("Unbekannter Code");
  } 
  
  else // Wenn der Empfangene Code brauchbar ist, wird er hier an den Serial Monitor gesendet.
  {
    <strong>Serial</strong>.print("Empfangen: ");
    <strong>Serial</strong>.println( mySwitch.getReceivedValue() );
  }
  mySwitch.resetAvailable(); // Hier wird der Empf&#228;nger "resettet"
}

} </pre> <h3 class=„western“><strong>Sketch 2</strong><strong>:</strong> <strong>Kommunikation zwischen Arduino Mikrocontrollern.</strong></h3> <p>Wenn beim ersten Arduino ein Taster gedr&#252;ckt wird, soll beim zweiten Arduino eine LED leuchten. Dazu schlie&#223;en wir an Pin 12 des Empf&#228;nger-Arduinos zus&#228;tzlich eine LED an (Die Onboard-LED an Pin13 kann in diesem Fall nicht verwendet werden).</p> <p>Aufbau Sender:</p> <p><img class=„alignnone wp-image-1106“ src=„https://i2.wp.com/funduino.de/wp-content/uploads/2016/04/Sender-Steckplan-1024x803.jpg?resize=746%2C585“ alt=„“ width=„746“ height=„585“ srcset=„https://i1.wp.com/funduino.de/wp-content/uploads/2016/04/Sender-Steckplan.jpg?resize=1024%2C803&amp;ssl=1 1024w, https://i1.wp.com/funduino.de/wp-content/uploads/2016/04/Sender-Steckplan.jpg?resize=300%2C235&amp;ssl=1 300w, https://i1.wp.com/funduino.de/wp-content/uploads/2016/04/Sender-Steckplan.jpg?resize=768%2C603&amp;ssl=1 768w, https://i1.wp.com/funduino.de/wp-content/uploads/2016/04/Sender-Steckplan.jpg?resize=830%2C651&amp;ssl=1 830w, https://i1.wp.com/funduino.de/wp-content/uploads/2016/04/Sender-Steckplan.jpg?resize=230%2C180&amp;ssl=1 230w, https://i1.wp.com/funduino.de/wp-content/uploads/2016/04/Sender-Steckplan.jpg?resize=350%2C275&amp;ssl=1 350w, https://i1.wp.com/funduino.de/wp-content/uploads/2016/04/Sender-Steckplan.jpg?resize=480%2C377&amp;ssl=1 480w“ sizes=„(max-width: 746px) 100vw, 746px“ data-recalc-dims=„1“/></p> <p>Sketch f&#252;r den Sender:</p> <pre class=„western“>#include &lt;<strong>RCSwitch</strong>.h&gt; <strong>RCSwitch</strong> mySwitch = <strong>RCSwitch</strong>(); int taster=7; Das Wort &#8222;taster&#8220; steht jetzt f&#252;r den Wert 7. int tasterstatus=0; Das Wort &#8222;tasterstatus&#8220; steht jetzt zun&#228;chst f&#252;r den Wert 0. Sp&#228;ter wird unter dieser Variable gespeichert, ob der Taster gedr&#252;ckt ist oder nicht. void setup() Hier beginnt das Setup. { mySwitch.enableTransmit(10); Der Sender wird an Pin 10 angeschlossen

pinMode(taster, INPUT); //Der Pin mit dem Taster (Pin 7) ist jetzt ein Eingang.

} void loop() { Mit dieser Klammer wird der Loop-Teil ge&#246;ffnet. tasterstatus=digitalRead(taster); Hier wird der Pin7 ausgelesen (Befehl:digitalRead). Das Ergebnis wird unter der Variable &#8222;tasterstatus&#8220; mit dem Wert &#8222;HIGH&#8220; f&#252;r 5Volt oder &#8222;LOW&#8220; f&#252;r 0Volt gespeichert. if (tasterstatus == HIGH)Verarbeitung: Wenn der taster gedr&#252;ckt ist (Das Spannungssignal ist hoch) {Programmabschnitt des IF-Befehls &#246;ffnen. mySwitch.send(5678, 24); Der 433mhz Sender versendet die Dezimalzahl &#8222;5678&#8220; delay (50); 50 Millisekunden Pause } Programmabschnitt des IF-Befehls schlie&#223;en. else …ansonsten… { Programmabschnitt des else-Befehls &#246;ffnen. mySwitch.send(1234, 24); Der 433mhz Sender versendet die Dezimalzahl &#8222;1234&#8220; } Programmabschnitt des else-Befehls schlie&#223;en. } Mit dieser letzten Klammer wird der Loop-Teil geschlossen. </pre>

<p>Aufbau Empf&#228;nger:</p> <p><img class=„alignnone wp-image-1107“ src=„https://i1.wp.com/funduino.de/wp-content/uploads/2016/04/Empf%C3%A4nger-Steckplan-1024x793.jpg?resize=750%2C581“ alt=„“ width=„750“ height=„581“ srcset=„https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Empf&#228;nger-Steckplan.jpg?resize=1024%2C793&amp;ssl=1 1024w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Empf&#228;nger-Steckplan.jpg?resize=300%2C232&amp;ssl=1 300w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Empf&#228;nger-Steckplan.jpg?resize=768%2C594&amp;ssl=1 768w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Empf&#228;nger-Steckplan.jpg?resize=830%2C642&amp;ssl=1 830w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Empf&#228;nger-Steckplan.jpg?resize=230%2C178&amp;ssl=1 230w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Empf&#228;nger-Steckplan.jpg?resize=350%2C271&amp;ssl=1 350w, https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/Empf&#228;nger-Steckplan.jpg?resize=480%2C372&amp;ssl=1 480w“ sizes=„(max-width: 750px) 100vw, 750px“ data-recalc-dims=„1“/></p> <p>Sketch f&#252;r den Empf&#228;nger:&#160;</p> <pre class=„western“>#include &lt;<strong>RCSwitch</strong>.h&gt; int LED=12; <strong>RCSwitch</strong> mySwitch = <strong>RCSwitch</strong>(); void setup() {

<strong>Serial</strong>.begin(9600);
mySwitch.enableReceive(0);  // Empf&#228;nger ist an Interrupt-Pin "0" - Das ist am UNO der Pin2
pinMode(LED, OUTPUT); //Der Pin mit der LED (Pin13) ist jetzt ein Ausgang.

} void loop() {

if (mySwitch.available()) // Wenn ein Code Empfangen wird...
{
int value = mySwitch.getReceivedValue(); // Empfangene Daten werden unter der Variable "value" gespeichert.
if (value == 0) // Wenn die Empfangenen Daten "0" sind, wird "Unbekannter Code" angezeigt.
  {
    <strong>Serial</strong>.println("Unbekannter Code");
  } 
  
  else // Wenn der Empfangene Code brauchbar ist, wird er hier an den Serial Monitor gesendet.
  {
    <strong>Serial</strong>.print("Empfangen: ");
    <strong>Serial</strong>.println( value );
      if (value == 5678)   //Verarbeitung: Wenn der Arduino die Zahl "5678" empf&#228;ngt, dann... 
      {   //Programmabschnitt des IF-Befehls &#246;ffnen.
      digitalWrite(LED, HIGH); //dann soll die LED leuchten
      delay (500);   //und zwar f&#252;r 0,5 Sekunden (500 Millisekunden).
      digitalWrite(LED, LOW); //danach soll die LED aus sein.
      }   //Programmabschnitt des IF-Befehls schlie&#223;en.   
  }
  mySwitch.resetAvailable(); // Hier wird der Empf&#228;nger "resettet"
}
}

</pre> <p><strong>Sketch 3: Messwerte per Funk &#252;bertragen</strong></p> <p>Am Arduino mit dem Sendemodul ist zus&#228;tzlich ein Temperatursensor angeschlossen, Der Messwert des Sensors soll per 433mhz an einen zweiten Arduino gesendet und dort am Serial Monitor angezeigt werden. Au&#223;erdem soll am Empf&#228;nger-Arduino eine &#8220;Warn-LED&#8221; leuchten, wenn die Temperatur 25&#176;C oder h&#246;her ist.</p> <p>Der Temperatursensor wird mit der Datenleitung an Pin A0 angeschlossen.</p> <p><img class=„alignnone wp-image-1108“ src=„https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/RF-Transmitte_Sketch3as-1024x835.jpg?resize=749%2C611“ alt=„“ width=„749“ height=„611“ srcset=„https://i2.wp.com/funduino.de/wp-content/uploads/2016/04/RF-Transmitte_Sketch3as.jpg?resize=1024%2C835&amp;ssl=1 1024w, https://i2.wp.com/funduino.de/wp-content/uploads/2016/04/RF-Transmitte_Sketch3as.jpg?resize=300%2C245&amp;ssl=1 300w, https://i2.wp.com/funduino.de/wp-content/uploads/2016/04/RF-Transmitte_Sketch3as.jpg?resize=768%2C626&amp;ssl=1 768w, https://i2.wp.com/funduino.de/wp-content/uploads/2016/04/RF-Transmitte_Sketch3as.jpg?resize=830%2C677&amp;ssl=1 830w, https://i2.wp.com/funduino.de/wp-content/uploads/2016/04/RF-Transmitte_Sketch3as.jpg?resize=230%2C188&amp;ssl=1 230w, https://i2.wp.com/funduino.de/wp-content/uploads/2016/04/RF-Transmitte_Sketch3as.jpg?resize=350%2C285&amp;ssl=1 350w, https://i2.wp.com/funduino.de/wp-content/uploads/2016/04/RF-Transmitte_Sketch3as.jpg?resize=480%2C391&amp;ssl=1 480w“ sizes=„(max-width: 749px) 100vw, 749px“ data-recalc-dims=„1“/></p> <p>Sketch f&#252;r Sender:</p> <pre class=„western“>#include &lt;<strong>RCSwitch</strong>.h&gt; <strong>RCSwitch</strong> mySwitch = <strong>RCSwitch</strong>(); int TMP36 = A0; Der Sensor soll am analogen Pin A0 angeschlossen werden. Wir nennen den Pin ab jetzt „TMP36“ int sensorwert; Erstellen einer Variablen f&#252;r den Sensorwert. int temperatur = 0; Unter der Variablen „temperatur“ wird sp&#228;ter der Temperaturwert abgespeichert. void setup() Hier beginnt das Setup. { mySwitch.enableTransmit(10); Der Sender wird an Pin 10 angeschlossen } void loop() { Mit dieser Klammer wird der Loop-Teil ge&#246;ffnet. sensorwert=analogRead(TMP36); Auslesen des Sensorwertes. temperatur= map(sensorwert, 0, 410, -50, 150); Umwandeln des Sensorwertes mit Hilfe des „map“ Befehls. mySwitch.send(temperatur, 24); Der 433mhz Sender versendet die Temperatur als Dezimalzahl. delay (1000); Eine Sekunde Pause. } Mit dieser letzten Klammer wird der Loop-Teil geschlossen. </pre> <p>Aufbau Empf&#228;nger:</p> <p><img class=„alignnone wp-image-1109“ src=„https://i0.wp.com/funduino.de/wp-content/uploads/2016/04/RF-Transmitte_Sketch3-1024x793.jpg?resize=748%2C579“ alt=„“ width=„748“ height=„579“ srcset=„https://i2.wp.com/funduino.de/wp-content/uploads/2016/04/RF-Transmitte_Sketch3.jpg?resize=1024%2C793&amp;ssl=1 1024w, https://i2.wp.com/funduino.de/wp-content/uploads/2016/04/RF-Transmitte_Sketch3.jpg?resize=300%2C232&amp;ssl=1 300w, https://i2.wp.com/funduino.de/wp-content/uploads/2016/04/RF-Transmitte_Sketch3.jpg?resize=768%2C594&amp;ssl=1 768w, https://i2.wp.com/funduino.de/wp-content/uploads/2016/04/RF-Transmitte_Sketch3.jpg?resize=830%2C642&amp;ssl=1 830w, https://i2.wp.com/funduino.de/wp-content/uploads/2016/04/RF-Transmitte_Sketch3.jpg?resize=230%2C178&amp;ssl=1 230w, https://i2.wp.com/funduino.de/wp-content/uploads/2016/04/RF-Transmitte_Sketch3.jpg?resize=350%2C271&amp;ssl=1 350w, https://i2.wp.com/funduino.de/wp-content/uploads/2016/04/RF-Transmitte_Sketch3.jpg?resize=480%2C372&amp;ssl=1 480w“ sizes=„(max-width: 748px) 100vw, 748px“ data-recalc-dims=„1“/></p> <p>Sketch f&#252;r Empf&#228;nger:</p> <pre class=„western“>#include &lt;<strong>RCSwitch</strong>.h&gt; int LED=12; <strong>RCSwitch</strong> mySwitch = <strong>RCSwitch</strong>(); void setup() { <strong>Serial</strong>.begin(9600); mySwitch.enableReceive(0); Empf&#228;nger ist an Interrupt-Pin „0“ - Das ist am UNO der Pin2

pinMode(LED, OUTPUT); //Der Pin mit der LED (Pin12) ist jetzt ein Ausgang.

} void loop() {

if (mySwitch.available()) // Wenn ein Code Empfangen wird...
{
  int value = mySwitch.getReceivedValue(); // Empfangene Daten werden unter der Variable "value" gespeichert.
  <strong>Serial</strong>.print("Temperatur: ");
  <strong>Serial</strong>.println( value );
  if (value &gt;= 25) //Verarbeitung: Wenn die Temperatur &#252;ber 25&#176;C ist...
    { //Programmabschnitt des IF-Befehls &#246;ffnen.
     digitalWrite(LED, HIGH); //dann soll die LED leuchten
    } //Programmabschnitt des IF-Befehls schlie&#223;en.
  else //...ansonsten...
    { //Programmabschnitt des else-Befehls &#246;ffnen.
    digitalWrite(LED, LOW); // ...soll die LED aus sein.
    } //Programmabschnitt des else-Befehls schlie&#223;en.
 }
  mySwitch.resetAvailable(); // Hier wird der Empf&#228;nger "resettet"
}</pre>

</html>

Cookies helfen bei der Bereitstellung von Inhalten. Diese Website verwendet Cookies. Mit der Nutzung der Website erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Computer gespeichert werden. Außerdem bestätigen Sie, dass Sie unsere Datenschutzerklärung gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information