Bemerkung
Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten.
Warum beitreten?
Expertenunterstützung: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams.
Lernen & Teilen: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern.
Exklusive Vorschauen: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken.
Spezialrabatte: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte.
Festliche Aktionen und Gewinnspiele: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil.
👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [hier] und treten Sie heute bei!
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.
Erforderliche Komponenten

Schematische Darstellung

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.

Code
Bemerkung
Sie können die Datei
2.20_irReceiver.ino
unter dem Pfadsunfounder_vincent_kit_for_arduino\code\2.20_irReceiver
direkt öffnen.Oder kopieren Sie diesen Code in Arduino IDE.
Die Bibliothek
IRremote
wird hier verwendet. Sie können sie über den Bibliotheksmanager installieren.
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
Dieser Code ist dafür ausgelegt, mit einer Infrarot (IR) Fernbedienung unter Verwendung der IRremote
Bibliothek zu arbeiten. Hier die Erklärung:
Bibliotheken einbinden: Dies beinhaltet die IRremote Bibliothek, welche Funktionen für die Arbeit mit IR Fernbedienungen bereitstellt.
#include <IRremote.h>
Definiert den Arduino-Pin, an den der Signalpin des IR-Sensors angeschlossen ist, und deklariert eine Variable, um den zuletzt decodierten IR-Wert zu speichern.
const int IR_RECEIVE_PIN = 11; // Define the pin number for the IR Sensor String lastDecodedValue = ""; // Variable to store the last decoded value
Initialisiert die serielle Kommunikation mit einer Baudrate von 9600. Startet den IR-Empfänger am angegebenen Pin (
IR_RECEIVE_PIN
) und aktiviert die LED-Rückmeldung (falls zutreffend).void setup() { Serial.begin(9600); // Start serial communication at 9600 baud rate IrReceiver.begin(IR_RECEIVE_PIN, ENABLE_LED_FEEDBACK); // Start the IR receiver }
Die Schleife wird kontinuierlich ausgeführt, um eingehende IR-Fernbedienungssignale zu verarbeiten.
void loop() { if (IrReceiver.decode()) { String decodedValue = decodeKeyValue(IrReceiver.decodedIRD ata.command); if (decodedValue != "ERROR" && decodedValue != lastDecodedValue) { Serial.println(decodedValue); lastDecodedValue = decodedValue; // Update the last decoded value } IrReceiver.resume(); // Enable receiving of the next value } }
Überprüft, ob ein IR-Signal empfangen und erfolgreich decodiert wurde.
Decodiert den IR-Befehl und speichert ihn in
decodedValue
unter Verwendung der benutzerdefinierten FunktiondecodeKeyValue()
.Überprüft, ob der decodierte Wert kein Fehler ist und sich von dem zuletzt decodierten Wert unterscheidet.
Gibt den decodierten IR-Wert auf dem seriellen Monitor aus.
Aktualisiert
lastDecodedValue
mit dem neu decodierten Wert.Setzt den IR-Signalempfang für das nächste Signal fort.
Phänomen Bild
