Arduino Infrarot (IR) Übertragung
Zusätzliche Infrarotfunktionen (IR):
Software
Bibliotheken auf Github für Arduino:
Name | Link | Beschreibung | Problemen |
---|---|---|---|
Arduino-IRremote | https://github.com/z3t0/Arduino-IRremote/tree/master/examples | Die Codierung der unterschiedlichsten Fernbedienungen finden Sie auch hier. | Kann nicht mit Neopixeln (auch bekannt als WS2811 / WS2812 / WS2812B) arbeiten (stören sich gegenseitig) |
A1100-with-PV-Energy-Monitor | https://github.com/dmworking247/A1100-with-PV-Energy-Monitor | Kommunikation mit dem Elster A1100 Meter | |
IRLremote 2.0.0 | https://github.com/NicoHood/IRLremote | Lesen die Lightweight -Fernbedienung | |
ESP8266-IR-Remote-Example | https://github.com/witnessmenow/ESP8266-IR-Remote-Example | ESP8266 und IR-Kommunikation |
Verdrahtung
Es ist am besten, den IR gemäß den Softwareanweisungen zu verdrahten. Bei UNO wird normalerweise der 3. Pin für den LED-Ausgang empfohlen:
38-kHz-IR-Sendermodul KY-005
HX1838 NEC IR-Fernbedienung
Der HX1838, auch als VS1838 bekannt, ist eine Fernbedienung, die mit dem NEC IR-Protokoll vertrieben wird. Die Übertragungseigenschaften sind die gleichen wie beim KY-005. Der KY-022 kann hier auch als Empfangseinheit verwendet werden.
Beispielprogramm
Zwei Beispielprogramme für den HX1838: https://gist.github.com/ryanamaral/34726743c4adbf0002d5
Die IRremote-Bibliothek kann von hier aus installiert werden: https://github.com/z3t0/Arduino-IRremote
38-kHz-IR-Empfängermodul KY-022
Identisch mit dem Modul ST1089.
Die Datenübertragung zwischen den Modulen KY-005 und KY-022 kann nur implementiert werden, wenn das Umgebungslicht <500 Lux ist.
Das Modul übernimmt das Übertragungsprinzip IR1838.
- Betriebsspannung: 2,7 ~ 5,5V
- Frequenz: 37,9 kHz
- Reichweite ca. 18m
Beispielprogramm
Die IRremote-Bibliothek kann von hier aus installiert werden: https://github.com/z3t0/Arduino-IRremote
# Include <IRremote.h> int RECV_PIN = 11; // define input pin on Arduino IRrecv irrecv (RECV_PIN); decode_results results; void setup () { Serial.begin (9600); irrecv.enableIRIn (); // Start the receiver } void loop () { if (irrecv.decode (& results)) { Serial.println (results.value, HEX); irrecv.resume (); // Receive the next value } }