- Erforderliche Komponenten
- Wie funktioniert die IR-Kommunikation?
- Schaltplan
- Programmierung für Arduino IR Remote Decoder
- Speichern der IR-Remote-Decoder-Daten in einer Excel-Tabelle
IR (Infrarot) -Kommunikation ist eine einfache, kostengünstige und weit verbreitete drahtlose Kommunikationstechnologie. IR-Licht ist dem sichtbaren Licht etwas ähnlich, außer dass die Wellenlänge etwas länger ist. Diese Eigenschaft von IR macht es für das menschliche Auge nicht nachweisbar und perfekt für die drahtlose Kommunikation.
Es gibt viele Anwendungen, in denen Sie die IR-Signale decodieren müssen, um einige Geräte mit IR-Fernbedienung zu betreiben. In diesem Tutorial werden wir den IR-Empfänger TSOP1838 verwenden, um einen IR-Remote-Decoder mit Arduino zu erstellen . Der Hex-Code für jede Schaltfläche wird in Microsoft Excel Sheet protokolliert. Dieser einfache IR-Fernbedienungsdecoder kann in Projekten wie dem IR-Fernbedienungsroboter, der Hausautomation und anderen IR-gesteuerten Projekten verwendet werden.
Zuvor haben wir IR-Fernbedienung und TSOP-Empfänger verwendet, um viele nützliche Anwendungen zu erstellen, wie zum Beispiel:
- IR-ferngesteuerter TRIAC-Dimmerkreis
- IR-ferngesteuerte Hausautomation mit Arduino
- IR-ferngesteuerte Hausautomation mit PIC-Mikrocontroller
- Handygesteuerte Klimaanlage mit Arduino und Bluetooth
Erforderliche Komponenten
- Arduino Uno / Arduino Nano
- IR-Empfänger (TSOP1838)
- Überbrückungsdrähte
- Steckbrett
Wie funktioniert die IR-Kommunikation?
Wie andere Kommunikationssysteme verfügt auch die Infrarotkommunikation über einen Sender und einen Empfänger. Der Sender sieht aus wie eine LED, erzeugt jedoch Licht im IR-Spektrum anstelle des sichtbaren Spektrums. Während der IR-Empfänger eine Fotodiode ist, in die ein Vorverstärker eingebettet ist, der das IR-Licht in ein elektrisches Signal umwandelt. Für die IR-Kommunikation sollten Sender und Empfänger aufeinander gerichtet sein. Um mehr über die IR-Sende- und Empfängerschaltung zu erfahren, folgen Sie dem Link.
Wenn eine Fernbedienungstaste gedrückt wird, sendet die IR-LED (Sender) Infrarotlicht aus. Dieses Licht wird vom Empfänger empfangen, der typischerweise eine Fotodiode oder ein Fototransistor ist. Das IR-Licht wird aber auch von der Sonne, Glühbirnen und allem anderen, was Wärme erzeugt, abgegeben. Dies kann das Sendersignal stören. Um dies zu verhindern, wird das Sendersignal unter Verwendung einer Trägerfrequenz zwischen 36 kHz und 46 kHz moduliert. Beim Empfang des Signals demoduliert der IR-Empfänger das Signal und wandelt es in Binär um, bevor er es an den Mikrocontroller sendet.
Hier verwenden wir eine TV-Fernbedienung zum Senden des IR-Signals und TSOP1838 mit Arduino zum Empfangen.
Überprüfen Sie hier auch verschiedene IR-basierte Anwendungen, einschließlich der TV-Fernbedienungs-Störsenderschaltung und der IR-Testerschaltung.
Schaltplan
Das Schaltbild für den IR-Ferndecoder mit Arduino ist unten angegeben:
Die Verbindungen sind sehr einfach, da der IR-Empfängersensor nur drei Pins hat, Vs, GND und Daten. Verbinden Sie den Vs- und GND-Pin des IR-Empfängers mit dem 3,3-V-GND-Pin von Arduino und den Daten-Pin mit dem Digital-Pin 2 von Arduino.
Programmierung für Arduino IR Remote Decoder
Der vollständige Code für den Arduino IR-Decoder ist am Ende der Seite angegeben.
Zum Dekodieren der IR-Fernbedienung müssen wir zunächst eine IR-Bibliothek herunterladen und zur Arduino IDE hinzufügen. Sie können die IR Remote-Bibliothek hier herunterladen. Öffnen Sie nach dem Herunterladen der Datei Ihre Arduino IDE und gehen Sie zu Skizze> Bibliothek einschließen> Bibliothek Add.Zip . Wählen Sie die Bibliotheksdatei aus und klicken Sie auf "Öffnen".
Starten Sie Ihren Code, indem Sie die IR Remote-Bibliotheksdatei einschließen.
#einschließen
Definieren Sie anschließend den Arduino-Pin, an den Sie den Daten-Pin des IR-Empfängers angeschlossen haben. In meinem Fall ist es mit dem D2-Pin von Arduino verbunden.
int IRPIN = 2;
Danach erstellen Sie eine Instanz für den IR-Empfänger-Pin.
IRrecv irrecv (IRPIN);
Definieren Sie in der nächsten Zeile ein Objekt für die Klasse decode_results . Es wird vom IR-Empfänger zum Senden der decodierten Informationen verwendet.
decode_results result;
Innerhalb der setup () Funktion, starten Sie die serielle Kommunikation und den IR - Empfänger starten, indem Sie die anruf IRrecv Funktion enableIRIn ().
void setup () {Serial.begin (9600); Serial.println ("IRin aktivieren"); irrecv.enableIRIn (); Serial.println ("Enabled IRin"); Initialize_streamer (); }}
In der Funktion loop () sucht irrecv.decode ständig nach neuen Signalen. Wenn ein neues Signal empfangen wird, wird der empfangene Signalcode in einer Funktion result.value gespeichert.
void loop () {if (irrecv.decode (& result)) {Serial.print ("Value:"); Serial.println (result.value, HEX); Write_streamer (); irrecv.resume (); } delay (500); }}
Zum Senden von Daten aus Arduino an eine Excel-Tabelle verwenden wir PLX-DAQ. Mit der Funktion Write_streamer () senden wir die Daten seriell in einem bestimmten Muster, genau wie die Anzeige des Werts auf dem seriellen Monitor. Die wichtigsten Zeilen werden nachfolgend erläutert:
void Write_streamer () {Serial.print ("DATA"); // schreibe immer "DATA", um Folgendes als Data Serial.print (",") anzugeben; // Mit einem "," Serial.print (result.value, HEX) zur nächsten Spalte wechseln; // Datum in Excel speichern Serial.print (","); // Mit einem "," Serial.println () zur nächsten Spalte wechseln; // Ende der Zeile in die nächste Zeile verschieben}
Sobald die Hardware und das Programm fertig sind, ist es Zeit, das Programm auf Ihr Arduino Nano Board hochzuladen. Richten Sie die Fernbedienung nach dem Hochladen des Codes auf den IR-Empfänger und drücken Sie die Fernbedienungstasten. Der Hex-Code für jede Taste wird auf dem seriellen Monitor gedruckt.
Speichern der IR-Remote-Decoder-Daten in einer Excel-Tabelle
Um nun Daten an eine Excel-Tabelle zu senden, verwenden wir PLX-DAQ. Es ist eine Excel-Plug-in-Software, mit der Sie Werte von Arduino direkt in eine Excel-Tabelle auf Ihrem Laptop oder PC schreiben können. Verwenden Sie den Link, um die Datei herunterzuladen. Extrahieren Sie nach dem Herunterladen die Datei und klicken Sie auf die EXE-Datei, um sie zu installieren. Es wird ein Ordner mit dem Namen PLX-DAQ auf Ihrem Desktop erstellt.
Öffnen Sie nun die Datei ' PLX-DAQ-Tabelle' aus dem Desktop-Ordner. Wenn Makros in Excel deaktiviert sind, wird ein Sicherheitsblock angezeigt (siehe Abbildung unten):
Klicken Sie auf Optionen-> Inhalt aktivieren -> Fertig stellen -> OK, um die Makros zu aktivieren. Danach erhalten Sie folgenden Bildschirm:
Wählen Sie nun die Baudrate als "9600" und den Port, an den Ihr Arduino angeschlossen ist, und klicken Sie dann auf Verbinden, um das Daten-Streaming zu starten. Ihre Werte sollten wie in der Abbildung unten gezeigt protokolliert werden.
Auf diese Weise kann ein Arduino IR-Ferndecoder einfach aufgebaut werden, um die IR-Fernbedienungssignale in äquivalenten HEX-Code umzuwandeln.
Der vollständige Arduino-Code mit einem Demo-Video ist unten angegeben.