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!

5.11.2 IR-Empfänger

In diesem Projekt lernen Sie die Verwendung eines IR-Empfängers kennen.

Ein Infrarot-Empfänger ist eine Komponente, die Infrarotsignale empfängt und in der Lage ist, Infrarotstrahlen unabhängig zu empfangen und Signale auszugeben, die mit dem TTL-Niveau kompatibel sind. Er hat ungefähr die Größe eines gewöhnlichen Transistors in Plastikverpackung und eignet sich für alle Arten von Infrarot-Fernbedienungen und Infrarotübertragungen.

Benötigte Komponenten

Für dieses Projekt benötigen wir die folgenden Komponenten.

Es ist definitiv praktisch, ein ganzes Set zu kaufen, hier ist der Link:

Name

ARTIKEL IN DIESEM KIT

LINK

3 in 1 Starter Kit

380+

3 in 1 Starter Kit

Sie können diese auch einzeln über die untenstehenden Links kaufen.

KOMPONENTENBESCHREIBUNG

KAUF-LINK

Arduino Uno R4 Minima

-

Breadboard

KAUFEN

Jumper-Kabel

KAUFEN

IR-Empfänger

-

Schaltplan

../_images/circuit_7.2_receiver.png

Verdrahtung

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

../_images/5.11_ir_recv_bb.png

Code

Bemerkung

  • Öffnen Sie die Datei 5.11.ir_receiver.ino im Pfad 3in1-kit\learning_project\5.11.ir_receiver.

  • Oder kopieren Sie diesen Code in die Arduino IDE.

  • Hier wird die Bibliothek IRremote verwendet. Sie können sie über den Library Manager installieren.

    ../_images/lib_irremote.png

Nachdem Sie die Codes auf das R4-Board hochgeladen haben, können Sie sehen, dass der aktuelle Wert der gedrückten Taste der IR-Fernbedienung im Serienmonitor angezeigt wird.

Wie funktioniert das?

Dieser Code ist so konzipiert, dass er mit einer Infrarot-(IR-)Fernbedienung zusammen mit der IRremote-Bibliothek funktioniert. Hier die Erklärung:

  1. Bibliotheken einbinden: Hier wird die IRremote-Bibliothek eingebunden, die Funktionen zur Arbeit mit IR-Fernbedienungen bietet.

    #include <IRremote.h>
    
  2. Definiert den Arduino-Pin, an den der Signalpin des IR-Sensors angeschlossen ist, und deklariert eine Variable, um den zuletzt dekodierten IR-Wert zu speichern.

    const int IR_RECEIVE_PIN = 11;  // Define the pin number for the IR Sensor
    
  3. 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
    }
    
  4. Die Schleife läuft kontinuierlich ab, um eingehende IR-Fernbedienungssignale zu verarbeiten.

    void loop() {
        if (IrReceiver.decode()) {
            String decodedValue = decodeKeyValue(IrReceiver.decodedIRData.command);
            if (decodedValue != "ERROR") {
                Serial.println(decodedValue);
                delay(100);
            }
            IrReceiver.resume();  // Enable receiving of the next value
        }
    }
    
    • Überprüft, ob ein IR-Signal empfangen und erfolgreich dekodiert wurde.

    • Dekodiert den IR-Befehl und speichert ihn in decodedValue mit Hilfe einer benutzerdefinierten Funktion decodeKeyValue().

    • Überprüft, ob der dekodierte Wert kein Fehler ist.

    • Gibt den dekodierten IR-Wert auf dem seriellen Monitor aus.

    • Setzt den IR-Signalempfang für das nächste Signal fort.