.. note:: 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 [|link_sf_facebook|] und treten Sie heute bei! .. _ar_receiver: 5.11.2 IR-Empfänger ========================= In diesem Projekt lernen Sie, wie Sie einen IR-Empfänger verwenden. Ein Infrarot-Empfänger ist eine Komponente, die Infrarotsignale empfängt. Er kann Infrarotstrahlen eigenständig empfangen und Signale ausgeben, die mit dem TTL-Level kompatibel sind. Er ähnelt von der Größe her einem normal verpackten Transistor 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 Kit zu kaufen. Hier ist der Link: .. list-table:: :widths: 20 20 20 :header-rows: 1 * - Name - ARTIKEL IN DIESEM KIT - LINK * - 3 in 1 Starter Kit - 380+ - |link_3IN1_kit| Sie können diese auch separat über die untenstehenden Links kaufen. .. list-table:: :widths: 30 20 :header-rows: 1 * - KOMPONENTENBESCHREIBUNG - KAUF-LINK * - :ref:`cpn_uno` - |link_Uno_R3_buy| * - :ref:`cpn_breadboard` - |link_breadboard_buy| * - :ref:`cpn_wires` - |link_wires_buy| * - :ref:`cpn_receiver` - \- **Schaltplan** .. image:: img/circuit_7.2_receiver.png **Verkabelung** 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. .. image:: img/ir_remote_control_bb.jpg **Code** .. note:: * Öffnen Sie die Datei ``5.11.ir_receiver.ino`` unter dem Pfad ``3in1-kit\basic_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. .. image:: ../img/lib_irremote.png .. raw:: html Nachdem Sie die Codes auf das R3-Board hochgeladen haben, können Sie den aktuellen Wert der gedrückten Taste der IR-Fernbedienung auf dem Seriellen Monitor anzeigen lassen. **Wie funktioniert das?** Dieser Code ist für die Verwendung mit einer Infrarot (IR) Fernbedienung und der ``IRremote`` Bibliothek entwickelt. Hier ist die Erklärung: #. Einbindung von Bibliotheken: Dies beinhaltet die ``IRremote`` Bibliothek, welche Funktionen zur Arbeit mit IR-Fernbedienungen bereitstellt. .. code-block:: arduino #include #. Definiert den Arduino-Pin, an den der Signal-Pin des IR-Sensors angeschlossen ist. .. code-block:: arduino const int IR_RECEIVE_PIN = 11; // Pinnummer für den IR-Sensor definieren #. Initialisiert die serielle Kommunikation mit einer Baudrate von 9600. Initialisiert den IR-Empfänger am angegebenen Pin (``IR_RECEIVE_PIN``) und aktiviert die LED-Rückmeldung (falls zutreffend). .. code-block:: arduino void setup() { Serial.begin(9600); // Serielle Kommunikation mit 9600 Baudrate starten IrReceiver.begin(IR_RECEIVE_PIN, ENABLE_LED_FEEDBACK); // IR-Empfänger starten #. Die Schleife läuft kontinuierlich, um eingehende IR-Fernbedienungssignale zu verarbeiten. .. code-block:: arduino 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 decodiert wurde. * Decodiert den IR-Befehl und speichert ihn in ``decodedValue`` mit einer benutzerdefinierten Funktion ``decodeKeyValue()``. * Überprüft, ob der decodierte Wert kein Fehler ist. * Gibt den decodierten IR-Wert auf dem seriellen Monitor aus. * Setzt den IR-Signalempfang für das nächste Signal fort.