Arduino IR-Fernbedienungsschaltung

Arduino IR-Fernbedienungsschaltung

In diesem Beitrag werden wir einen anpassbaren drahtlosen Fernbedienungsschalter auf Arduino-Basis (Infrarot) konstruieren, der aus einer IR-Fernbedienung und einem Empfänger besteht, den Sie je nach Bedarf ändern können. Im späteren Teil des Artikels erfahren Sie mehr über eine aktualisierte, narrensichere Version einer IR-Fernbedienung, die nur auf eine eindeutig zugewiesene Frequenz reagiert.

Wenn Sie über dem Anfängerniveau sind, können Sie es mit Leichtigkeit erreichen. Die hier dargestellte vorgeschlagene Schaltung hat nur drei Steuerungen an der Fernbedienung und drei Relais an der Empfängerseite. Sie können den Code und den Schaltplan ändern, um Ihre Anforderungen zu erfüllen.



Sie benötigen zwei Arduino-Karten, die als Fernbedienung und eine andere als Empfänger fungieren. Ich würde Arduino pro mini für dieses Projekt empfehlen, da die Größen ziemlich klein sind und die Gesamtgröße der Fernbedienung vermieden werden könnte.



Sie können Arduino pro mini mit 3,3 V für die Fernbedienung verwenden, damit Sie je nach Bedarf mit zwei Knopfzellen oder zwei AA-Batterien betrieben werden können.

Die IR-Senderschaltung verfügt über 3 Einschalttasten und eine IR-LED zum Senden von Befehlen an den Empfänger. Jede Taste hat einen eindeutigen Hexadezimalcode, der gleiche Hexadezimalcode ist auch auf der Empfängerseite programmiert.



Wenn eine Taste gedrückt wird, sendet die IR-LED den Hexadezimalcode an den Empfänger. Der Empfänger erkennt, welche Taste gedrückt wird, und schaltet das entsprechende Relais ein / aus.

Die vorgeschlagene Fernbedienung verwendet das RC5-Protokoll für die Kommunikation mit dem Empfänger. Sie können alles ändern, indem Sie den Code ändern.

Wenn Sie Anfänger in Arduino sind, können Sie dies trotzdem erreichen. Folgen Sie einfach dem Diagramm und laden Sie den Code hoch, ohne ihn zu ändern.



Die Schaltung und das Programm:

Arduino Remote Transmitter:

Kinderleichte IR-Fernbedienungsschaltung

Die obige Schaltung zeigt, wie der Arduino IR-Fernsender aufgebaut wird.

Die drei 10K-Widerstände sind Pulldown-Widerstände, die ein versehentliches Auslösen der Fernbedienung aufgrund statischer Aufladung verhindern. Für die IR-LED wird ein Strombegrenzungswiderstand von 220 Ohm verwendet.

Programm für Fernsender:

//---------Program developed by R.Girish--------//
#include
IRsend irsend
const int button1 = 4
const int button2 = 5
const int button3 = 6
void setup() {
pinMode(button1, INPUT)
pinMode(button2, INPUT)
pinMode(button3, INPUT)
}
void loop()
{
if (digitalRead(button1) == HIGH)
{
delay(50)
irsend.sendRC5(0x80C, 32)
delay(200)
}
if (digitalRead(button2) == HIGH)
{
delay(50)
irsend.sendRC5(0x821, 32)
delay(200)
}
if (digitalRead(button3) == HIGH)
{
delay(50)
irsend.sendRC5(0x820, 32)
delay(200)
}
}
//---------Program developed by R.Girish--------//

Arduino-Empfänger:

Die oben gezeigte IR-Arduino-Empfängerschaltung besteht aus TSOP1738 Sensor wenige Transistoren, Strombegrenzungswiderstände für Transistoren, Relais und Dioden zum Absorbieren von Hochspannungsspitzen von Relaisspulen.

Der Schaltplan ist selbsterklärend.

Programm für Arduino-Empfänger:

//-----------------Program developed by R.Girish-----------//
#include
int input = 11
int op1 = 8
int op2 = 9
int op3 = 10
int intitial1
int intitial2
int intitial3
IRrecv irrecv(input)
decode_results dec
#define output1 0x80C // code received from button A
#define output2 0x821 // code received from button B
#define output3 0x820 // code received from button C
void setup()
{
irrecv.enableIRIn()
pinMode(op1,1)
pinMode(op2,1)
pinMode(op3,1)
}
void loop() {
if (irrecv.decode(&dec)) {
unsigned int value = dec.value
switch(value) {
case output1:
if(intitial1 == 1) {
digitalWrite(op1, LOW)
intitial1 = 0
} else {
digitalWrite(op1, HIGH)
intitial1 = 1
}
break
case output2:
if(intitial2 == 1) {
digitalWrite(op2, LOW)
intitial2 = 0
} else {
digitalWrite(op2, HIGH)
intitial2 = 1
}
break
case output3:
if(intitial3 == 1) {
digitalWrite(op3, LOW)
intitial3 = 0
} else {
digitalWrite(op3, HIGH)
intitial3 = 1
}
break
}
irrecv.resume()
}
}
//--------------Program developed by R.Girish-----------//

Wenn Sie den obigen Erläuterungen folgen, können Sie drei Steuerungen ausführen. Wenn Sie weitere Steuerungen und Relais hinzufügen möchten, müssen Sie den Code und den Schaltplan bearbeiten.

Sie können Ausgang und Eingang für nicht verwendete Pins im Empfänger und in der Fernbedienung im Programm zuweisen und die Anzahl der Transistoren und Relais für die jeweiligen Pins im Empfänger anschließen und auf ähnliche Weise die Anzahl der Schalter und den Pulldown-Widerstand in der Fernbedienung anschließen.

Sie können zufälligen Hexadezimalcode verwenden, um mehr Schaltflächen zuzuweisen.

Zum Beispiel: 0xA235, 0xFFFF, 0xBA556 und so weiter. Fügen Sie den gleichen Hexadezimalwert auch im Empfängercode hinzu. Zum Beispiel: #define output4 0xA235, #define outout5 0xFFFF und so weiter.

Erstellen einer IR-Fernbedienung mit eindeutiger Frequenz

In den obigen Abschnitten haben wir eine einfache IR-Fernbedienung kennengelernt, die mit jedem IR-Fernbedienungssender funktioniert.
Im folgenden Artikel erfahren Sie, wie Sie eine aktualisierte Version des oben genannten Konzepts für eine kinderleichte Steuerung der Haushaltsgeräte mithilfe eines Arduino-Mikrocontrollers erstellen, der mit einer eindeutigen Frequenz arbeitet und niemals mit einem herkömmlichen IR-Mobilteil arbeitet.

Kinderleichte IR-Fernbedienung

Diese Schaltung kann Ihre Geräte mit den nicht verwendeten Tasten der TV-Fernbedienung oder einer anderen nicht verwendeten Fernbedienung, die möglicherweise längere Zeit in Ihrer Junk-Box liegt, ein- und ausschalten.

Das Motto dieses Projekts ist es, körperbehinderten Personen zu helfen und ihnen zu helfen, unabhängig auf das EIN / AUS-Schalten der grundlegenden Haushaltsgeräte wie Lüfter oder Lichter zuzugreifen.

Das zweite Ziel besteht darin, dem Benutzer die Möglichkeit zu geben, die Geräte „wie ein Chef“ zu steuern, ohne sich von seiner vorhandenen Position entfernen zu müssen.

Die Schaltung verwendet eine herkömmliche IR-basierte Kommunikation zwischen Sender und Empfänger.

Diese Schaltung ist gegenüber anderen IR-Fernbedienungen und anderen IR-Quellen hundertprozentig kinderleicht und weniger fehleranfällig.

Das Hauptproblem bei Nicht-Mikrocontrollern IR-Fernbedienungsschaltung , was im Internet zu finden ist, ist, dass es mit jeder IR-basierten Fernbedienung ein- und ausgeschaltet werden kann und nur ein Gerät gleichzeitig steuern kann und außerdem anfälliger für Fehler ist.

Diese Schaltung überwindet die oben genannten Probleme, und wir können Steuern Sie mehrere Geräte auf einer Fernbedienung und weisen Sie Schlüssel für bestimmte Gadgets zu.

Bevor Sie mit diesem Projekt fortfahren, müssen Sie die Bibliotheksdateien für Arduino über diesen Link herunterladen und den folgenden Anweisungen folgen: github.com/z3t0/Arduino-IRremote

Anleitung:

1) Klicken Sie unter dem angegebenen Link auf die Schaltfläche 'Klonen oder Herunterladen' und klicken Sie auf 'ZIP herunterladen'.

2) Extrahieren Sie die Datei und verschieben Sie den Ordner 'IRremote' in Ihren Bibliotheksordner von Arduino.

3) Löschen Sie den Ordner 'RobotIRremote' aus Ihrer Arduino-Bibliothek. 'RobotIRremote' hat eine ähnliche Definition der 'IRremote' -Bibliothek, die zusammenstößt und den Code nicht auf Arduino hochladen kann. Daher ist das Löschen / Entfernen obligatorisch.

Durch Duplizieren der obigen Anweisung ist Ihre Arduino IDE-Software für alle / die meisten IR-basierten Projekte bereit.

Schlüssel für Fernbedienung zuweisen:

In unserer TV-Fernbedienung verfügt jede Taste über einen eindeutigen Hexadezimalcode, mit dem erkannt wird, welche Taste für eine Operation gedrückt wird. Bevor Sie den endgültigen Code auf Arduino hochladen, müssen Sie die hexadezimalen Codes für Ihre Schlüssel ermitteln.

Konstruieren Sie dazu die folgende Schaltung im Steckbrett und folgen Sie den Anweisungen.

1) Öffnen Sie die Arduino IDE und laden Sie den Beispielcode „IRrecv Demo“ hoch.

2) Öffnen Sie den seriellen Monitor und drücken Sie die Taste auf der Fernbedienung, die Sie verwenden möchten.

Sobald Sie die Taste drücken, wird hexadezimaler Code angezeigt. Dies ist der Hexadezimalcode für diesen bestimmten Schlüssel.

3) Machen Sie dasselbe für die beiden anderen Tasten (in diesem Projekt werden 3 Tasten zur Steuerung von 3 Geräten angegeben).

· Wir werden diese hexadezimalen Codes im Hauptprogramm verwenden und auf Arduino hochladen.

Programm:
//-----------------Program developed by R.Girish-----------//
#include
int input = 11
int op1 = 8
int op2 = 9
int op3 = 10
int intitial1
int intitial2
int intitial3
IRrecv irrecv(input)
decode_results dec
#define output1 0x111 // place your code received from button A
#define output2 0x112 // place your code received from button B
#define output3 0x113 // place your code received from button C
void setup()
{
irrecv.enableIRIn()
pinMode(op1,1)
pinMode(op2,1)
pinMode(op3,1)
}
void loop() {
if (irrecv.decode(&dec)) {
unsigned int value = dec.value
switch(value) {
case output1:
if(intitial1 == 1) {
digitalWrite(op1, LOW)
intitial1 = 0
} else {
digitalWrite(op1, HIGH)
intitial1 = 1
}
break
case output2:
if(intitial2 == 1) {
digitalWrite(op2, LOW)
intitial2 = 0
} else {
digitalWrite(op2, HIGH)
intitial2 = 1
}
break
case output3:
if(intitial3 == 1) {
digitalWrite(op3, LOW)
intitial3 = 0
} else {
digitalWrite(op3, HIGH)
intitial3 = 1
}
break
}
irrecv.resume()
}
}
//--------------Program developed by R.Girish-----------//

HINWEIS:

Im Programm:

#define output1 0x111 // Platzieren Sie Ihren von Schaltfläche A empfangenen Code

#define output2 0x111 // Platzieren Sie Ihren von Schaltfläche B empfangenen Code

#define output3 0x111 // Platziere deinen Code, der von der Schaltfläche C empfangen wurde

· Platzieren Sie Ihre 3 eindeutigen Codes von Ihrer Fernbedienung an der Stelle 111, 112 und 113 und laden Sie den Code hoch. Hexadezimalcodes sind 0 bis 9 und A bis F, zum Beispiel: 20156, 26FE789, FFFFFF.

· Platzieren Sie Ihren Code mit '0x' (Null x).

Schaltplan:

· Durch Drücken der Taste wird das Relais eingeschaltet und durch erneutes Drücken wird das Relais ausgeschaltet.




Zurück: Natürliches Mückenschutzmittel mit hohem Wattwiderstand Weiter: Deep Soil Metal Detector Circuit - Erdungsscanner