- Erforderliche Materialien:
- Arbeitsmethodik:
- Voraussetzungen:
- Funktionieren einer AC-Fernbedienung:
- Schaltplan und Erklärung:
- Dekodieren Ihrer AC-Remote-Signale:
- Haupt-Arduino-Programm:
- Installieren der Android-Anwendung:
- Funktionieren von Mobiltelefongesteuerter Klimaanlage:
In der heutigen modernen Welt haben wir überall viele elektronische Geräte um uns herum. Aber von allen gibt es nur ein Gerät, das wir persönlich ständig in der Tasche haben. Ja, es sind unsere Handys. Jetzt sind Mobiltelefone mehr als ein Kommunikationsgerät, sie sind unsere Kameras, sie sind unsere Karten, sie sind unsere Einkaufskarts und was nicht?
Mit dieser Fähigkeit in unseren Händen ist es wirklich eine langweilige Idee, Fernbedienungen zu verwenden, um elektronische Anwendungen in unserem Haus wie Fernseher, Klimaanlage, Heimkino usw. zu steuern. Es ist immer frustrierend, bequem von unserem Bett aus nach der Fernbedienung der Klimaanlage zu greifen oder Sofa. Daher werden wir in diesem Projekt eine kleine Konfiguration erstellen, mit der Sie die Klimaanlage über Ihr Smartphone mithilfe von Bluetooth und Arduino steuern können. Klingt interessant, oder? Lassen Sie uns einen bauen
Erforderliche Materialien:
- Arduino Mega 2560
- TSOP (HS0038)
- Infrarot-LED
- Beliebige Farb-LED und 1K-Widerstand (optional)
- HC-06
- Steckbrett
- Kabel anschließen
Arbeitsmethodik:
Alle Fernbedienungen in unserem Haus, mit denen wir Fernseher, Heimkino, Klimaanlage usw. steuern, funktionieren mit Hilfe von IR-Strahlern. Ein IR-Blaster ist nichts anderes als eine IR-LED, die ein Signal durch wiederholtes Pulsieren strahlen kann. Dieses Signal wird vom Empfänger im Elektronikgerät gelesen. Für jede andere Taste auf der Fernbedienung wird ein eindeutiges Signal ausgegeben, das nach dem Lesen durch den Empfänger verwendet wird, um eine bestimmte vordefinierte Aufgabe auszuführen. Wenn wir dieses von der Fernbedienung ausgehende Signal lesen können, können wir dasselbe Signal mithilfe einer IR-LED nachahmen, wenn dies für die Ausführung dieser bestimmten Aufgabe erforderlich ist. Wir haben zuvor eine IR-Blaster-Schaltung für die universelle IR-Fernbedienung und für die automatische AC-Temperaturregelung hergestellt.
Ein TSOP ist ein IR-Empfänger, mit dem das von den Fernbedienungen kommende Signal decodiert werden kann. Wir werden dieses TSOP verwenden, um alle Informationen von unserer Fernbedienung zu dekodieren und auf Arduino zu speichern. Mit diesen Informationen und einer IR-LED können wir dann bei Bedarf die IR-Signale von unserem Arduino neu erstellen.
Voraussetzungen:
Stellen Sie für dieses Arduino Bluetooth Controlled AC-Projekt sicher, dass Sie ein Arduino Mega und keine andere Version von Arduino haben, da die Codegröße sehr hoch ist. Installieren Sie die IR Remote Library über diesen Link, um mit TSOP und IR Blaster zu arbeiten.
Funktionieren einer AC-Fernbedienung:
Bevor wir mit dem Projekt fortfahren, nehmen Sie sich etwas Zeit und beachten Sie, wie Ihre AC-Fernbedienung funktioniert. AC-Fernbedienungen funktionieren etwas anders als TV- und DVD-IR-Fernbedienungen. Auf Ihrer Fernbedienung befinden sich möglicherweise nur 10-12 Tasten, die jedoch viele verschiedene Arten von Signalen senden können. Dies bedeutet, dass die Fernbedienung nicht jedes Mal denselben Code für dieselbe Schaltfläche sendet. Wenn Sie beispielsweise die Temperatur mit der Abwärtstaste auf 24 ° C (Grad Celsius) senken, erhalten Sie ein Signal mit einem Datensatz. Wenn Sie es jedoch erneut drücken, um 25 ° C einzustellen, erhalten Sie nicht dasselbe Daten, da die Temperatur jetzt 25 und nicht 24 ist. In ähnlicher Weise variiert der Code für 25 auch für unterschiedliche Lüfterdrehzahlen, Schlafeinstellungen usw. Lassen Sie uns also nicht mit allen Optionen herumspielen und nur die Temperaturwerte mit einem konstanten Wert für andere Einstellungen konzentrieren.
Ein weiteres Problem ist die Datenmenge, die bei jedem Tastendruck gesendet wird. Normale Fernbedienungen senden entweder 24 Bit oder 48 Bit. Eine AC-Fernbedienung sendet jedoch möglicherweise bis zu 228 Bit, da jedes Signal viele Informationen wie Temp, Lüftergeschwindigkeit, Schlaf-Timing, Swing-Stil usw. Dies ist der Grund, warum wir einen Arduino Mega für bessere Speicheroptionen benötigen.
Schaltplan und Erklärung:
Glücklicherweise ist die Hardware-Einrichtung dieser Handy-gesteuerten Klimaanlage sehr einfach. Sie können einfach ein Steckbrett verwenden und die Verbindungen wie unten gezeigt herstellen.
Die folgende Tabelle kann auch zum Überprüfen Ihrer Verbindungen verwendet werden.
S.No: |
Komponentenstift |
Arduino Pin |
1 |
TSOP - Vcc |
5V |
2 |
TSOP - Gnd |
Gnd |
3 |
TSOP - Signal |
8 |
4 |
IR-LED - Kathode |
Gnd |
5 |
IR-LED - Anode |
9 |
6 |
HC-05 - Vcc |
5V |
7 |
HC05 - Gnd |
Boden |
8 |
HC05 - Tx |
10 |
9 |
HC05 - Rx |
11 |
Sobald Ihre Verbindungen hergestellt sind, sollte es ungefähr so aussehen (siehe unten). Ich habe ein Steckbrett verwendet, um Dinge aufzuräumen, aber Sie können auch Sie Draht zu Buchse direkt, um alle Komponenten anzuschließen
Dekodieren Ihrer AC-Remote-Signale:
Der erste Schritt zur Steuerung Ihres Wechselstroms besteht darin, mit TSOP1738 die IR-Codes der Wechselstromfernbedienung zu decodieren. Stellen Sie alle Verbindungen wie im Schaltplan gezeigt her und stellen Sie sicher, dass Sie alle genannten Bibliotheken installiert haben. Öffnen Sie nun das Beispielprogramm „ IRrecvDumpV2 “, das Sie unter Datei -> Beispiele -> IRremote -> IRrecvDumpV2 finden .
int recvPin = 8; IRrecv irrecv (recvPin);
Da unser TSOP mit Pin 8 verbunden ist, ändern Sie die Zeilennummer 9 wie oben gezeigt in int recPin = 8. Laden Sie dann das Programm auf Ihr Arduino Mega hoch und öffnen Sie den seriellen Monitor.
Richten Sie Ihre Fernbedienung auf TSOP und drücken Sie eine beliebige Taste. Für jede Taste, die Sie drücken, wird das entsprechende Signal vom TSOP1738 gelesen, von Arduino dekodiert und im seriellen Monitor angezeigt. Für jede Temperaturänderung auf Ihrer Fernbedienung erhalten Sie andere Daten. Speichern Sie diese Daten, damit wir sie in unserem Hauptprogramm verwenden können. Ihr serieller Monitor sieht ungefähr so aus. Ich habe auch die Word-Datei angezeigt, in der ich die kopierten Daten gespeichert habe.
Der Screenshot zeigt den Code zum Einstellen der Temperatur für meine AC-Fernbedienung auf 26 ° C. Basierend auf Ihrer Fernbedienung erhalten Sie einen anderen Satz von Codes. Kopieren Sie auf ähnliche Weise die Codes für alle unterschiedlichen Temperaturniveaus. Sie können alle IR-Codes der Klimaanlagenfernbedienung im Arduino-Code überprüfen, der am Ende dieses Tutorials angegeben ist.
Haupt-Arduino-Programm:
Das vollständige Hauptprogramm von Arduino befindet sich am Ende dieser Seite, Sie können jedoch nicht dasselbe Programm verwenden. Sie müssen die Signalcodewerte ändern, die wir gerade aus der Beispielskizze erhalten haben. Öffnen Sie das Hauptprogramm auf Ihrer Arduino IDE und scrollen Sie zu diesem unten gezeigten Bereich, in dem Sie die Array-Werte durch die Werte ersetzen müssen, die Sie für Ihre Fernbedienung erhalten haben.
Beachten Sie, dass ich 10 Arrays verwendet habe, von denen zwei zum Ein- und Ausschalten des Wechselstroms verwendet wurden, während der Rest 8 zum Einstellen unterschiedlicher Temperaturen verwendet wird. Zum Beispiel wird Temp23 verwendet, um 23 * C auf Ihrem AC einzustellen. Verwenden Sie also den entsprechenden Code in diesem Array. Sobald dies erledigt ist, müssen Sie nur noch den Code auf Ihr Arduino hochladen.
Wir müssen zwei Bibliotheken für dieses Projekt importieren. Eine ist die IRremote- Bibliothek, die wir gerade zu Arduino hinzugefügt haben, und die andere ist die integrierte Software Serial Library, die uns bei der Verwendung des Bluetooth-Moduls hilft.
#einschließen
Als nächstes initialisieren wir das Bluetooth-Modul an Pin 10 und 11 und verwenden dann ein Objekt namens irsend, um auf alle IR-Funktionen der Bibliothek zuzugreifen.
SoftwareSerial BT_module (10, 11); // RX, TX IRsend irsend;
Als nächstes kommen die sehr wichtigen Codezeilen. Hier sind die Informationen zur Steuerung Ihres Wechselstroms vorhanden. Die unten gezeigte ist für meine AC-Fernbedienung. Sie sollten Ihre im vorherigen Schritt erhalten haben.
Als nächstes initialisieren wir innerhalb der Void-Setup- Funktion zwei serielle Kommunikationen. Eines ist Bluetooth mit einer Baudrate von 9600 und das andere ist ein serieller Monitor mit einer Baudrate von 57600.
void setup () {BT_module.begin (9600); // BT arbeitet mit 9600 Serial.begin (57600); // Serial Monitor Arbeitssohn 57600}
In unserer Void-Schleife (Endlosschleife) prüfen wir , ob vom Bluetooth-Modul etwas empfangen wird. Wenn etwas empfangen wird, speichern wir diese Informationen in der Variablen BluetoothData .
while (BT_module.available ()) // Wenn Daten kommen {BluetoothData = BT_module.read (); // lese es und speichere es Serial.println (BluetoothData); // drucke es zu Testzwecken seriell aus}
Die über Bluetooth empfangenen Informationen basieren auf der Taste in unserer Android-App, die wir in unserem nächsten Schritt installieren werden. Sobald die Informationen empfangen wurden, müssen wir nur noch den entsprechenden IR-Code wie unten auslösen
if (BluetoothData == '2') {irsend.sendRaw (Temp23, sizeof (Temp23) / sizeof (Temp23), khz); delay (2000); // Signal senden, um Temperatur 23C einzustellen}
Wenn hier der Code '2' empfangen wird, müssen wir die Temperatur des Wechselstroms auf 23 ° C einstellen. Ebenso haben wir Code von 0 bis 9, um alle grundlegenden Steuerfunktionen von AC auszuführen. Sie können auf den vollständigen Arduino-Code am Ende dieser Seite verweisen.
Installieren der Android-Anwendung:
Der letzte Schritt der Smartphone -gesteuerten Klimaanlage ist die Installation der Android-Anwendung. Die Android-Anwendung für dieses Projekt wurde im Verarbeitungsmodus Android erstellt. Die Verarbeitung ist ein hervorragendes Tool zum Erstellen von EXE-Dateien oder APK-Dateien für eingebettete Projekte. Es ist eine Open-Source-Plattform wie Arduino und kann daher kostenlos heruntergeladen und verwendet werden.
Wenn Sie nicht zu tief in das Thema eintauchen möchten, können Sie die APK-Datei einfach von hier in die Zip-Datei herunterladen und direkt auf Ihrem Mobiltelefon installieren. Öffnen Sie die Anwendung und Sie erhalten einen Bildschirm wie unten gezeigt, nach dem Sie mit dem nächsten Schritt fortfahren und die Arbeit mit dem Projekt genießen können. Wenn Sie jedoch das Programm der Anwendung an Ihre Bedürfnisse anpassen möchten, können Sie weiterlesen.
Die komplette Programmdatei für den Verarbeitungscode kann hier heruntergeladen werden. Diese Zip enthält den Code und die Bildquelle, mit denen die Anwendung arbeitet. Nachdem Sie den Code geöffnet haben, können Sie die folgenden Zeilen anpassen, um ihn an Ihre Bedürfnisse anzupassen.
Wie bereits erwähnt, ähnelt die Verarbeitung Arduino. Es hat also auch ein Void-Setup und Void-Loop-Funktionen (hier zeichnen). Innerhalb der Void-Setup- Funktion weisen wir das Bluetooth des Telefons an, eine Verbindung zu Bluetooth von Arduino herzustellen. Mein Gerätename hier ist "HC-05", also wird meine Codezeile sein
bt.start (); // auf BT-Verbindungen warten bt.getPairedDeviceNames (); bt.connectToDeviceByName ("HC-05"); // Stellen Sie eine Verbindung zu unserem HC-06 Bluetooth-Modul her
Als nächstes können Sie in den Funktionen load_buttons () so viele Schaltflächen zeichnen, wie Sie möchten. Ich habe 10 Schaltflächen gezeichnet, wie in der Anwendung gezeigt. Anschließend haben wir die Funktion read_buttons () , mit der erkannt wird, welche Schaltfläche Sie berühren. Jede Schaltfläche hat eine bestimmte Farbe. Wenn ein Benutzer den Bildschirm berührt, überprüfen wir, welche Farbe er berührt hat, und bestimmen, welche Schaltfläche er berührt hat. Ein Beispielcode zum Erstellen und Auswählen einer Schaltfläche basierend auf der Farbe ist unten dargestellt
füllen (255,145,3); rect (Breite / 2-Breite / 4, Höhe / 2, Breite / 4, Höhe / 12); füllen (255); Text ("25C", Breite / 2-Breite / 4, Höhe / 2); // Schaltfläche 5 if (color_val == - 13589993) {Byte-Daten = {'0'}; bt.broadcast (Daten);}
Die Zeile "Byte-Daten = {'0'};" ist eine sehr wichtige Linie. Hier entscheiden wir, welcher Code über Bluetooth an das Arduino gesendet werden soll. Wenn diese Taste gedrückt wird, wird das Zeichen „0“ von Bluetooth an Arduino gesendet. Ebenso können wir ein anderes Zeichen für verschiedene Schaltflächen senden. Diese Zeichen können dann auf der Arduino-Seite verglichen und entsprechende Maßnahmen ergriffen werden.
Wenn Sie Zweifel haben, erreichen Sie mich über den Kommentarbereich und werden mein Bestes geben, um Ihnen zu helfen.
Funktionieren von Mobiltelefongesteuerter Klimaanlage:
Sobald Sie mit Ihren Hardware-, Arduino Code- und Android-Anwendungen fertig sind, ist es Zeit, die Ausgabe zu genießen. Laden Sie den Arduino-Code auf Ihre Hardware hoch und platzieren Sie ihn in Richtung Ihrer Klimaanlage. Öffnen Sie nun die Android-Anwendung auf Ihrem Mobiltelefon. Wenn alles wie erwartet funktioniert, sollte " Verbunden mit: Gerätename (ein Code) " angezeigt werden ( siehe unten)
Drücken Sie jetzt einfach eine beliebige Taste in Ihrer Android-Anwendung und es sollte eine entsprechende Aktion auf dem AC auslösen, als ob Sie eine Fernbedienung verwenden. Sie können beliebig viele Schaltflächen hinzufügen, indem Sie den Code ändern, und sogar Ihre Klimaanlage basierend auf Ihrer Raumtemperatur oder Anwesenheit automatisieren. Überprüfen Sie den vollständigen Arduino-Code und das Video unten.
Ich hoffe, Ihnen hat das Projekt gefallen und Sie haben das Konzept dahinter verstanden. Wie immer, wenn Sie Probleme damit haben, können Sie die Foren verwenden, um Ihre Fragen zu posten und sie zu lösen.
Die APK-Datei zur Installation der Android-Anwendung kann hier heruntergeladen werden.