Dieser Artikel deckt:
1: Einführung in den IR -Sensor
Ein IR -Empfänger ist ein Gerät, das Infrarot -Signale erkennen und empfangen kann. Es wird normalerweise in IR -Fernbedienungssystemen verwendet, um Befehle von einem IR -Fernbediener oder einem anderen IR -Sender zu empfangen. Der IR -Empfänger besteht aus einer Photodiode oder einer anderen IR -empfindlichen Komponente, die die IR -Signale erkennt, und einer Demodulatorschaltung.
Der Ausgang des IR -Empfängers ist normalerweise ein digitales Signal, das von einem Mikrocontroller oder einem anderen elektronischen Gerät verarbeitet werden kann. IR -Empfänger werden häufig in einer Vielzahl von Unterhaltungselektronik verwendet, einschließlich Fernseher, DVD -Spielern, Klimaanlagen und anderen Haushaltsgeräten sowie in Industrie- und Automobilanwendungen.
Es ist erwähnenswert. Um dies zu vermeiden, wird empfohlen, den IR -Empfängersensor direkt auf die IR -Fernbedienung zu richten und den Sensor von anderen Infrarotquellen fernzuhalten.
2: IR -Sensor -Pinout
Der IR -Empfängersensor ist ein kleines Modul, das normalerweise drei Stifte enthält:
Der VCC Pin ist mit einer Stromversorgung wie dem 5 -V -Stift am Arduino verbunden, um dem Sensor Strom zu verleihen. Der AUS Pin ist mit einem digitalen Eingangsstift am Arduino und an einen Pin angeschlossen GND Pin ist mit dem Bodenstift des Arduino verbunden:
3: IR -Sensor mit Arduino anpassen
Um den IR -Empfängersensor mit einem Arduino Uno zu verwenden, eine Bibliothek genannt Irremote erforderlich. Diese Bibliothek kann von der Arduino -Website heruntergeladen werden und ermöglicht dem Arduino, die vom Sensor empfangenen IR -Signale zu dekodieren. Sobald die Bibliothek installiert ist, kann sie in die Skizze (Programm) aufgenommen werden, die in den Arduino hochgeladen wird.
Sobald der IR -Empfängersensor angeschlossen und die Skizze hochgeladen ist. Die IR -Signale können unter Verwendung einer Funktion der Istremote -Bibliothek dekodiert werden, und die dekodierten Signale können dann verwendet werden, um verschiedene Geräte zu steuern.
Zum Beispiel kann ein bestimmtes IR -Signal verwendet werden, um ein Gerät ein- oder auszuschalten oder die Helligkeit oder Temperatur zu steuern.
1: Schema
Hier ist ein grundlegendes Schema für die Verbindung eines IR -Sensors mit einem Arduino:
IR -Sensor | Arduino |
---|---|
VCC (Kraft) | 5v |
GND (Boden) | GND |
Aus (Ausgabe) | D8 |
Es ist wichtig zu beachten.
2: Installation der erforderlichen Bibliothek
Für Arduino stehen mehrere IR -Remote -Bibliotheken zur Verfügung. Sie können eine dieser Bibliotheken gemäß Ihren Anforderungen und IR -Fernprotokoll verwenden, die Sie verwenden.
Wir werden die installieren Irremote Bibliothek von Arminjo.
4: Dekodieren einer IR -Ferntasten
Es stehen mehrere IR -Fernbedienungen zur Verfügung, z. B. für Fernseher, Klimaanlagen und Hausautomationssysteme. Durch die Dekodierung einer IR -Fernbedienung können wir eine universelle Fernbedienung für all diese Geräte entwerfen.
So laden Sie eine IR -Fernbedienung ab, laden Sie den folgenden Code hoch und drücken Sie die Schaltflächen in der IR -Fernbedienung und beobachten Sie dann den seriellen Monitor der Arduino -IDE. Die Beispielskizze wird das IR -Signal im HEX -Format und das verwendete Protokoll ausdrucken.
Extrahieren Sie die wichtigsten Codes der IR -Remote -Schaltflächen, die Sie in Ihrem Projekt verwenden möchten. Mit diesen Schlüsselcodes und den Funktionen der IRRemote -Bibliothek können wir die gewünschten Aktionen steuern, wenn die entsprechenden Schaltflächen auf der IR -Fernbedienung gedrückt werden.
1: Code
Laden Sie den unten angegebenen Code über die Arduino IDE auf Arduino Uno hoch:
#include /*Integrierte IR -Remote -Bibliothek* /
Irrtum ir (8); /*D8 Arduino Pin definiert*/
void setup ()
Ir.enableirin (); /*IR -Kommunikation aktiviert*/
Serie.Beginnen Sie (9600); /*Serielle Baudrate definiert*/
void Loop ()
if (ir.decode ()) / *ir remote library funktion zum dekodieren remote * /
Serie.println (ir.decodedirdata.decodedrawdata, hex); /*Sechskantwert drucken*/
Verzögerung (1000);
Ir.fortsetzen (); /*Warten Sie auf die nächste Eingabe* /
Der Code begann mit einer IR -Remote -Bibliothek. Danach haben wir den Arduino Digital Pin definiert, an dem das IR -Signal gelesen wird. Als nächstes in der aufstellen() Teil, initialisieren wir die IR -Kommunikation und die Baudrate wird definiert.
In Schleife() Teil des Codes, das wir das empfangene IR -Signal im HEX -Format dekodieren, das dann auf dem seriellen Monitor gedruckt wird.
2: Ausgabe
Nachdem wir den Code hochgeladen hatten, drückten wir drei Tasten rot, grün und blau auf der IR -Fernbedienung.
Folgen VERHEXEN Der Code wird für die rote, grüne und blaue Taste des Serienmonitors IDE erhalten.
IR Remote -Taste | Sechskantcode |
---|---|
Roter Knopf | 0xfb04ef00 |
Grüner Knopf | 0xfa05ef00 |
Blauer Knopf | 0xf906ef00 |
5: Kontrolle der LED mit der IR -Fernbedienung kontrollieren
Um ein Gerät mit der IR -Fernbedienung zu steuern, müssen Sie die dekodierte Verwendung verwenden VERHEXEN Signale in Ihrer Skizze. Zum Beispiel können Sie eine verwenden ansonsten Anweisung, um das dekodierte Signal zu überprüfen und ein bestimmtes Gerät ein- oder auszuschalten oder auszuschalten. Sie können auch die dekodierten Signale verwenden, um die Helligkeit oder Temperatur eines Geräts zu steuern.
1: Schema
Das angegebene Bild erklärt die Verbindung von drei verschiedenen farbigen LEDs mit Arduino und IR -Empfänger.
LED & IR -Sensor | Arduino Pin |
---|---|
ROT | D5 |
GRÜN | D6 |
BLAU | D7 |
IR -Sensor raus | D8 |
2: Code
Im Folgenden finden Sie den Arduino -Code für IR -Fernbedienungs -LEDs. Der Code kann durch Öffnen der Arduino IDE in das Arduino Uno Board hochgeladen werden.
#include /*IR Remote Library* / / /
Irrtum ir (8); /*IR -Pin definiert*/
int blau = 7; /*Blaue LED an Pin D7*//
int grün = 6; /*Grüne LED an Pin D6*//
int rot = 5; /*Rote LED an Pin D5*//
bool red_state = 1; /*Roter LED -Status*//
bool green_state = 1; /*Grüner LED -Zustand*/
bool blue_state = 1; /*Blauer LED -Zustand*/
void setup ()
Ir.enableirin (); /*IR -Kommunikation ermöglicht*/
PinMode (blau, Ausgabe); /*Blauer LED -Pin als Ausgang eingestellt*/
PinMode (grün, Ausgabe); /*Grünes LED -Pin als Ausgang eingestellt*/
PinMode (rot, Ausgabe); /*Roter LED -Pin als Ausgabe eingestellt*/
Serie.Beginnen Sie (9600);
void Loop ()
if (ir.decode ()) /*decodieren Sie das IR -Signal im HEX -Format* / /
Serie.println (ir.decodedirdata.decodedrawdata, hex);
/*Überprüfen Sie die IR -Eingabe*/
/*Roter LED -Code*/
if (ir.decodedirdata.decodedrawdata == 0xfb04ef00 && red_state == 1)
DigitalWrite (rot, hoch);
Serie.println ("rote LED on");
Red_state = 0;
sonst wenn (ir.decodedirdata.decodedrawdata == 0xfb04ef00 && red_state == 0)
DigitalWrite (rot, niedrig);
Serie.println ("Red Led Off");
Red_state = 1;
/*Überprüfen Sie die IR -Ausgabe*/
if (ir.decodedirdata.decodedrawdata == 0xfa05ef00 && green_state == 1)
/*Grüner LED -Code*/
DigitalWrite (grün, hoch);
Serie.println ("Green Led on");
Green_state = 0;
sonst wenn (ir.decodedirdata.decodedrawdata == 0xfa05ef00 && green_state == 0)
DigitalWrite (grün, niedrig);
Serie.println ("grün geführt");
Green_state = 1;
/*Überprüfen Sie den IR -Code*/
if (ir.decodedirdata.decodedrawdata == 0xf906ef00 && blue_state == 1)
/*Blauer LED -Code*/
DigitalWrite (blau, hoch);
Serie.println ("Blue Led on");
Blue_state = 0;
sonst wenn (ir.decodedirdata.decodedrawdata == 0xf906ef00 && blue_state == 0)
DigitalWrite (blau, niedrig);
Serie.println ("Blue Led Off");
Blue_state = 1;
Ir.fortsetzen ();
Der Code begann mit einer IR -Remote -Bibliothek. Danach haben wir den Arduino Digital Pin definiert, an dem das IR -Signal gelesen wird. Die nächsten drei Stifte für LEDs sind definiert. Alle drei LEDs haben separate Zustände, damit wir die Umschaltfunktion im Code verwenden können, über die und Bedingung.
Im aufstellen() Teil, initialisieren wir die IR -Kommunikation und die Baudrate wird definiert. Zusammen mit dem werden alle drei LED -Stifte als Ausgabe eingestellt mit Verwendung PinMode () Funktion.
In Schleife() Teil des Code ansonsten Der Zustand wird für alle drei LEDs getrennt verwendet. Alle drei LEDs werden mit dem Hex -Code separat gesteuert.
IR Remote -Taste | Sechskantcode |
---|---|
Roter Knopf | 0xfb04ef00 |
Grüner Knopf | 0xfa05ef00 |
Blauer Knopf | 0xf906ef00 |
Notiz: Denken Sie daran, dies sind der Sechskantcode für die Fernbedienung, die wir verwenden. Ihre Fernbedienung hat möglicherweise einen anderen Hex -Code. Ersetzen Sie den Code also durch den Sechskantcode, den Sie im Seriennachmonitor erhalten haben.
3: Ausgabe
Nach dem Hochladen von Code in den Arduino Board Press wird eine der jeweiligen Drei-Knopf-LEDs leuchten. Wenn wir die rote Taste drücken, wird die rote LED leuchten und umgekehrt:
Ebenso können wir diese LEDs gleichzeitig leuchten. Um die LED auszuschalten, drücken Sie einfach die Taste erneut, da wir den Umschaltungszustand im Arduino -Code verwendet haben.
Mit derselben Methode können wir AC -Geräte steuern, indem wir die LEDs durch einen Relaisschalter ersetzen.
Abschluss
Zusammenfassend ist die Entschlüsselung einer IR-Fernbedienung mit einem Arduino-Mikrocontroller eine einfache und kostengünstige Möglichkeit, verschiedene Geräte zu steuern. Indem Sie einen IR -Empfänger mit dem Arduino anschließen, eine Skizze hochladen und die IR -Signale dekodieren, können Sie Geräte wie Fernseher, Klimaanlagen und Heimautomationssysteme problemlos steuern.