IR-Fernbedienungen senden ein Signal im unsichtbaren Infrarotbereich aus. Als "Sender" dient eine Infrarotleuchtdiode. Das Signal "LED" wird mit einer Frequenz von 40 kHz aus- und eingeschaltet. Durch eine Modulation (Ein-und Ausschalten) des Sendesignals (LED) werden Informationen zum Empfänger übertragen. Die IR Übertragung hat eine Reichweite von ca. 8-10 Metern auf Sichtweite. Sender und Empfänger sollten sich "sehen" können,.

Auf dieser Seite möchte ich euch zeigen wir ihr mit Ardublock, einem Infrared Transmitter (Emitter), dem infrarot Sender und einem infrared receiver, dem infrarot Empfänger zwischen zwei Arduino Daten senden und empfangen könnt.

0 ardublock ir lichtschranke selber bauen

 Verdrahtung von infrarot Sender und Empfänger

Um über infrarot senden und empfangen zu können bracht es immer zwei Arduinos, sonst macht es keinen Sinn Daten zu übertragen. Wenn auf den folgenden Bildern zwei LOOP Blöcke zu sehen sind, dann bitte den einen LOOP auf den Sender hochlanden und den anderen LOOP auf den Empfänger hochlanden.

TIPP: Um zu prüfen ob die LED auch sendet, einfach eine Digitalkamera vor die LED halten, dann sieht man die LED blinken.

uv led testen mit camera

 

Ich verwende zwei fertige infrarot Module von SEEED aus dem Grove Programm. Diese sind fertig aufgebaut und funktionieren super. Die Module bekommen jeweils VCC und GND vom Arduino, sowie eine Signal Leitung zum einem digitalen PIN. Für den IR Sender muss PIN 3 verwendete werden. Für den IR Empfänger muss PIN 2 verwendet werden.

0 ardublock infrared remote control light barriers

 Senden und Empfangen über IR von Zahlen mit Ardublock 

 In dem Beispiel unten wird eine Zahl von einem Arduino zum anderen übertragen. Der obere LOOP ist der Empfänger und der untere LOOP ist der Sender.

Empfänger:

Mit dem Block "receiver IR : receiver number" wird das Empfänger Modul ausgelesen. Sind Daten vorhanden, werden sie in die integer Variable geschrieben und über den Serial Monitor angezeigt. Verliert der Empfänger den Kontakt zum Sender, wird keine Zahl mehr übertragen. Hat der Empfänger den Kontakt zur Sender wieder wird die empfange Zahl sofort wieder angezeigt.

Sender:

Über den Block "transmitter IR : send number" wird eine Zahl die bei Wert eingetragen wird gesendet. Zur Funktionskontrolle wird nicht immer die gleiche Zahl gesendet, sondern alle 500ms eine veränderte Zahl. Alle 500ms wird die Variable um +1 hochgezählt und dann gesendet. Der Sender sendet unabhängig davon ab er Kontakt zum Empfänger hat oder nicht.

Das senden kann durch eine delay Zeit, einen Taster oder eine Bedingung auch unterbrochen bzw. erst gestartet werden.

1 ardublock tutorial ir control send number

 Prüfen der IR Verbindung mit Ardublock

Über die Infrarot Schnittstelle müssen aber nicht unbedingt Daten gesendet und empfangen werden. Es besteht auch die Möglichkeit zur Verbindungsüberprüfung. Mit dem Block "loss of signal und light barrier" prüft Ardublock lediglich ob der Kontakt zwischen Empfänger und Sender noch besteht. Ideal zum Bespiel als Lichtschranke oder zur Zählung von Objekte oder Umdrehungen.

Empfänger:

Im ersten LOOP wird über einen "falls" Block getestet ob die Bedingungen im Block "loss of signal" wahr oder falsch ist. Ist keine Verbindung zwischen zwischen Receiver und Transmitter vorhanden wird der "dann" Teil ausgeführt. In diesem Fall wird im serial Monitor nur geöffnet angezeigt. Hier könnten aber auch LEDs geschaltet oder Zähler bedient werden. Ist die Bedingung wieder erfüllt, also die Lichtschranke geschlossen, wird der Block nicht mehr ausgeführt.

Sender:

Im zweiten LOOP wird nur der "activate" Block eingefügt. Dieser muss nicht direkt in den LOOP gesetzt werden. Er kann auch erst über einen Taster oder ähnliches aktiviert werden.
Ist die Verbindung lange unterbrachen kann es sein dann der Block neu gestartet werden muss. Sonst erkennt der Empfänger die Signale nicht. Genauso sollte beim ersten Starten des Blockes der Empfang zwischen Sender und Empfänger da sein.

2 ardublock infrared remote control light barriers

 Hier ein kleines Beispiel. Immer wenn der Kontakt vorhanden ist. Wird eine Variable hochgezählt.

3 ardublock infrared remote control tutorial

 Interrupt PIN über Infrarot auslösen mit Ardublock

 

 Der interrupt PIN des Arduino kann auch über den infrarot Empfänger angesprochen werden. Dazu bracht es nur den "receiver IR : interrupt and do if" Block. Hier den gewünschten interrupt PIN, den Event und das eingeben was im Falle einer Trennung zwischen receiver und transmitter geschehen soll. Der LOOP Teil kann frei verwendet werden. 

4 ardublock ir control tutorial interrupt event

Schlüssel über IR mit Ardublock senden

Mit diesem Block kann man einen IR Schlüssel über die Schnittelle senden, da dies etwas komplizierter ist, werde ich darüber mal ein separates Tutorial machen.

5 ardublock infrared remote control tutorial key of

Länge des IR Signal mit Ardublock bestimmen

Unter dem "pin#" Feld befindet sich ein "option:" Feld. In diesem können mehrer Optionen ausgewählt werden. Auf diese Optionen möchte ich kurz eingehen. Diese Auswahl bestimmt nämlich wir lange das empfangenen Signal an den Arduino bzw. an das Programm übertragen wird.

6 ardublock tutorial infrared remote control

  • Empfängt das Modul einen Wert, dann wird er mit "touch mem" dann wird dieser im serial Monitor so lange angezeigt bis ein neues Wert empfangen wird. 
  • Empfängt das Modul einen Wert, dann wird er mit "no mem" nur einmal angezeigt. Solange kein Wert gesendet wird, werden nur "0 0 0 0 0 0" im serial Monitor angezeigt. Wenn der Empfänger die eingegangen Signale zählen soll, kommt es so nicht zu einer doppelten Zählung.
  • Empfängt das Modul einen Wert, dann wird er mit 200MS bzw. 2000Ms, nur eine bestimmt Zeit angezeigt. Nach dieser Zeit werden nur "0 0 0 0 0 0 0" im serial Monitor angezeigt.
    Im Beispiel unten wird eine 255 empfangen, diese zahl wird 200ms angezeigt, danach gibt es kein Signal mehr.

7 ardublock ir control tutorial


Cookies erleichtern die Bereitstellung unserer Dienste. Mit der Nutzung unserer Dienste erklären Sie sich damit einverstanden, dass wir Cookies verwenden.
Weitere Informationen Ok