2.20 IR-Empfängermodul

Überblick

In dieser Lektion lernen Sie, das IR-Empfängermodul zu verwenden. Der IR-Empfänger ist eine Komponente mit Fotozelle, die auf den Empfang von Infrarotlicht abgestimmt ist. Es wird fast immer zur Fernbedienungserkennung verwendet - jeder Fernseher und DVD-Player hat eine davon an der Vorderseite, um das IR-Signal vom Clicker zu empfangen. In der Fernbedienung befindet sich eine passende IR-LED, die IR-Impulse aussendet, um dem Fernseher mitzuteilen, dass er ein- oder ausschalten oder den Kanal wechseln soll.

Schematische Darstellung

../_images/image182.png

Fritzing-Schaltung

In diesem Beispiel verbinden wir den linken Pin (-) des IR-Empfängermoduls mit GND, den mittleren Pin mit 5 V und den rechten Pin (S) mit Pin 11.

../_images/image183.png

Code

Bemerkung

  • Sie können die Datei 2.20_irReceiver.ino unter dem Pfad sunfounder_vincent_kit_for_arduino\code\2.20_irReceiver direkt öffnen.

  • Oder kopieren Sie diesen Code in Arduino IDE 1/2.

  • Laden Sie dann Laden Sie den Code hoch auf das Board hoch.

  • Bitte stellen Sie sicher, dass Sie die Bibliothek IRremote hinzugefügt haben, detaillierte Anleitungen finden Sie unter Bibliotheken hinzufügen.

Nach dem Hochladen der Codes auf die Mega2560-Platine können Sie sehen, dass der aktuelle Wert der gedrückten Taste der IR-Fernbedienung auf dem seriellen Monitor angezeigt wird.

Code-Analyse

Es gibt zwei wichtige Teile, die in diesem Programm zu beachten sind.

  1. Der Code verwendet eine zusätzliche Datei decodeKeyValue.ino, um die Werte in der Klasse decode_result in den Schlüsselwert zu decodieren. Die Datei wird zusammen mit der Hauptdatei geöffnet.

  2. Die IR-Remote-Funktion wird durch Aufrufen von Funktionen der IRremote.h-Bibliothek erreicht.

#include <IRremote.h>

Bibliotheksfunktionen:

IRrecv(int recvpin)

Erstellen Sie ein IRrecv-Objekt, um ein IR-Empfängermodul zu steuern.

decode_result

In diesem Kit sind die Ergebnisse normalerweise 8-stellige Hexadezimalzahlen, beginnend mit 00FF. Sie können die Datei decodeKeyValue.ino in der Beispieldatei überprüfen.

void enableIRIn()

Initialisieren Sie das IR-Empfängermodul.

int decode(decode_results *results);

Dekodiert die empfangene IR-Nachricht. Gibt 0 zurück, wenn keine Daten bereit sind, 1, wenn Daten bereit sind. Ergebnisse der Decodierung werden in Ergebnissen gespeichert.

void resume()

Neustart, um einen anderen Wert zu erhalten.

Phänomen Bild

../_images/image184.jpeg