Events

23.05.2022: Tiefpassfilter

:

Elektronik | Funk | Software

Der Technik-Blog

  • Social Media

    Werbung:


    Neue Artikel


    Events

    Der Technik-Blog

    Arduino - read and decode infrared signals from a remote controller

    Arduino IR Signal decodieren

    Alex @ AEQ-WEB

    Für dieses Projekt gibt es auch ein Video auf Youtube: Infrarot Signale einer Fernbedienung decodieren mit dem Arduino und einem IR-Receiver

    Infrarot ist eine optische Übertragung, die heute noch vielfach in Fernsteuerungen und Fernbedienungen verwendet wird. Bevor Bluetooth auf den Markt kam, war ein Infrarot Modul in vielen Smartphones, PDAs und Notebooks verbaut. Eine Infrarot Datenübertragung (IRDA) wird heutzutage im privaten Bereich kaum noch verwendet.

    IR Frequenzbereich

    Am Spektrum befindet sich Infrarot zwischen Mikrowellen (über 100 THz) und den sichtbaren licht (unter 790 Thz). Grundsätzlich ist Infrarot für das menschliche Auge nicht sichtbar. Da sich das exakte IR-Licht, was für Datenübertragungen verwendet wird, im Bereich des "nahen Infrarots" befindet, ist es für eine Kamera oft sichtbar. Sehr starke Infrarot-LEDs, wie sie z.B. in Überwachungskameras vorkommen, können vom menschlichen Auge oft als ein schwaches rotes licht wahrgenommen werden.

    Werbung:

    Decodieren mittels Arduino

    Der Sensor benötigt neben der Stromversorgung nur eine Leitung für die Datenübertragung. Diese Leitung muss am Arduino auf einen digitalen I/O Pin angeschlossen werden. In unserem Beispielcode wird der PIN 7 verwendet. Der Empfänger gibt standardmäßig ein HIGH aus und wechselt dann beim Empfang von Infrarotsignalen zwischen HIGH und LOW. Der Empfänger demodulieret das Lichtsignal und gibt es dann, so wie es eigentlich vom Sender ausgesendet wird, 1:1 in binär an den Mikrocontroller weiter.

    Die Software

    Grundsätzlich würde man für den Sensor keine Bibliothek benötigen, wenn man z.B. die empfangen Zustände (HIGH und LOW) in ein Array speichert. Dies könnte man dann in hexadezimal ausgeben. Allerdings muss man dann im Code auch eine Funktion schreiben, die den Anfang und das Ende vom Signal erkennt und richtig abspeichert. Da gerade das nicht so einfach, vor allem für Anfänger ist, haben wir uns dann doch für eine Library entschieden, die uns das erspart. Der Beispielcode in Verbindung mit der Library ist nun in der Lage, das Signal zu decodieren und als hexadezimal und binär im Serial Monitor auszugeben. Das nachfolgende Bild zeigt ein Rohsignal, wie es vom IR-Receiver an das Arduino Board weitergegeben wird.

    Werbung:

    Arduino Code
    //More information at: https://www.aeq-web.com
    #include <IRremote.h>
    
    const int RECV_PIN = 7;
    IRrecv irrecv(RECV_PIN);
    decode_results results;
    
    void setup(){
      Serial.begin(9600);
      irrecv.enableIRIn();
    }
    
    void loop(){
      if (irrecv.decode(&results)){
            Serial.print(" HEX: ");
            Serial.print(results.value, HEX);
            Serial.print(" BIN: ");
            Serial.println(results.value, BIN);
            irrecv.resume();
      }
    }


    122X122

    Über den Autor

    Alex, der Gründer von AEQ-WEB. Seit über 10 Jahren beschäftigt er sich mit Computern und elektronischen Bauteilen aller Art. Neben den Hardware-Projekten entwickelt er auch Webseiten, Apps und Software für Computer.

    Top Artikel in dieser Kategorie:

    Arduino Smartmeter S0 Watt Counter

    Arduino Smartmeter

    • Video

    In diesem Artikel zeigen wir, wie aus einem einfachen Stromzähler und einem Arduino ein Smartmeter gebaut wird, das den Zählerstand im EEPROM speichern kann

    Weiterlesen
    Arduino Anemometer Wind Sensor

    Arduino Anemometer Schaltung

    • Video
    • DE/EN

    Mit einem Mikrocontroller wie dem Arduino, einer kleinen Schaltung und entsprechender Software kann die Windgeschwindigkeit über ein Anemometer gemessen werden

    Weiterlesen

    Social Media

    Werbung:


    Neue Artikel


    Events