Wie entwerfe ich ein Arduino-basiertes Hausautomationssystem mit TV-Fernbedienung?
Home Automation System ist das am schnellsten wachsende Konzept der modernen Welt. Smart Home Automation ist ein Konzept, bei dem ein einziges Gerät verwendet wird, um verschiedene elektronische Parameter eines Hauses zu steuern, z. B. das Schalten von Haushaltsgeräten, die Überwachung von Sicherheitsalarmen, die Automatisierung von Garagentoren usw.
In diesem Projekt verwenden wir eine einfache TV-Fernbedienung, um ein einfaches Hausautomationssystem zu erstellen. Diese TV-Fernbedienung steuert alle an die Mikrocontroller-Platine angeschlossenen Geräte.
Wie verwende ich eine TV-Fernbedienung, um ein Hausautomationssystem zu erstellen?
Hausautomationssysteme, die bereits auf dem Markt erhältlich sind, sind sehr kostspielig. Wir können ein Arduino-Board verwenden, um verschiedene Haushaltsgeräte anzuschließen und sie mit einer TV-Fernbedienung zu steuern. Dies ist sehr kostengünstig und eine effiziente Möglichkeit, das Haus zu automatisieren. Lassen Sie uns nun einen Schritt voraus sein und Informationen sammeln, um das Projekt zu starten.
Schritt 1: Sammeln der Komponenten
Der beste Ansatz, um ein Projekt zu starten, besteht darin, eine Liste der Komponenten zu erstellen und diese Komponenten kurz zu studieren, da niemand nur wegen einer fehlenden Komponente mitten in einem Projekt bleiben möchte. Eine Liste der Komponenten, die wir in diesem Projekt verwenden werden, ist unten aufgeführt:
Schritt 2: Studieren der Komponenten
Da wir nun wissen, welche Komponenten wir verwenden werden, lassen Sie uns diese kurz untersuchen, um ein besseres Verständnis der Funktionsweise unserer Schaltung zu erhalten.
Arduino Nano ist ein Mikrocontroller-Board, das verschiedene Operationen in verschiedenen Schaltungen ausführt. Es erfordert ein C-Code das sagt dem Vorstand, welche Aufgaben wie auszuführen sind. Es hat 13 digitale I/O-Pins, was bedeutet, dass wir 13 verschiedene Geräte betreiben können. Wenn Sie mehr als 13 Geräte steuern möchten, verwenden Sie Arduino Mega.
TSOP 1738 ist ein IR-Modul für Fernbedienungen. Es hat eine Trägerfrequenz von 38kHz. Es besteht aus einem Photodetektor, der das Signal erkennt und dann demoduliert. Sein Ausgang wird direkt von Arduino oder einem anderen Mikrocontroller-Board verwendet.
Ein Relaismodul ist ein Schaltgerät. Es funktioniert in zwei Modi, Normalerweise offen (NEIN) und Normalerweise Geschlossen (NC). Im NO-Modus ist der Stromkreis immer unterbrochen, es sei denn, Sie senden über Arduino ein HIGH-Signal an das Relais. Umgekehrt verhält es sich im NC-Modus. Der Stromkreis ist immer geschlossen, es sei denn, Sie schalten das Relaismodul ein. Stellen Sie sicher, dass Sie das Pluskabel Ihres Elektrogeräts wie unten gezeigt an das Relaismodul anschließen.
Eine Standard-TV-Fernbedienung verfügt über einen Netzschalter und alle Zifferntasten. Diese Zifferntasten werden zum Schalten der Elektrogeräte verwendet.
Schritt 3: Herstellen der Schaltung
Nachdem wir nun wissen, wie alle Komponenten funktionieren, lassen Sie uns fortfahren und mit der Herstellung der Schaltung beginnen.
- Nehmen Sie ein Steckbrett und setzen Sie Ihren Arduino Nano und TSOP 1738 ein.
- Schalten Sie das TSOP 1738-Modul und das Relaismodul über Arduino ein. Verbinden Sie die AUS Pin von TSOP1738 mit Pin11 von Arduino und verbinden Sie auch die IM Pins des Relaismoduls zu Arduino. Ich steuere nur zwei Elektrogeräte, daher verwende ich hier nur Relaismodule. Wenn Sie mehr Geräte steuern möchten, schließen Sie in ähnlicher Weise weitere Relaismodule an.
Schritt 4: Erste Schritte mit Arduino
Wenn Sie noch nie an Arduino IDE gearbeitet haben, machen Sie sich keine Sorgen, denn unten wird eine Schritt-für-Schritt-Anleitung zum Einrichten der Arduino IDE gezeigt.
- Verbinden Sie Ihr Arduino-Board mit dem PC und öffnen Sie die Systemsteuerung. Klicke auf Hardware und Ton.Jetzt offen Geräte und Drucker und finden Sie den Port, mit dem Ihr Board verbunden ist. In meinem Fall ist es COM14aber es ist bei verschiedenen Computern unterschiedlich.
- Klicken Sie auf das Werkzeugmenü und stellen Sie das Board als Arduino Nano (AT Mega 328P).
- Klicken Sie erneut auf das Tool-Menü und stellen Sie den Port ein, den Sie zuvor in der Systemsteuerung beobachtet haben.
- Stellen Sie im selben Tool-Menü den Prozessor als ein ATmega328p (alter Bootloader).
- Um die von der Fernbedienung gesendeten Daten zu entschlüsseln, benötigen wir eine spezielle Bibliothek für A-Code Arduino. Diese Bibliothek ist zusammen mit dem Code im folgenden Link angehängt. Um die Bibliothek hinzuzufügen, gehe zu Sketch > Bibliothek einschließen > ZIP-Bibliothek hinzufügen. Ein Feld wird angezeigt. Suchen Sie den ZIP-Ordner auf Ihrem Computer und klicken Sie auf OK, um den Ordner einzuschließen.
- Laden Sie den unten angehängten Code herunter und klicken Sie auf die Schaltfläche zum Hochladen, um den Code in Ihrem Arduino Nano-Board zu brennen.
Klicken Sie auf den Download-Button, um den Code zu erhalten.
Schritt 5: Code
Der Code ist sehr einfach zu verstehen, aber dennoch wird er im Folgenden kurz beschrieben.
1. void setup ()ist eine Funktion, in der wir die INPUT- oder OUTPUT-Pins initialisieren. Diese Funktion setzt auch die Baudrate mit Serial.begin() Befehl. Baudrate ist die Kommunikationsgeschwindigkeit des Mikrocontrollers.
2. Leere Schleife ()ist eine Funktion, die in einer Schleife wiederholt abläuft. In dieser Schleife schreiben wir einen Code, der der Mikrocontrollerplatine mitteilt, welche Aufgaben sie wie ausführen soll.
3. Wenn wir Daten von der TV-Fernbedienung senden, muss Arduino diese Daten dekodieren. Dafür haben wir eine spezielle Bibliothek eingebunden #einschließen
#einschließenint RECV_PIN = 11; IRrecv irrecv(RECV_PIN); decode_results-Ergebnisse; Void setup () { Serial.begin (9600); irrecv.enableIRIn(); aufrechtzuerhalten. Void Schleife () { Wenn (irrecv.decode (& Ergebnisse)) { Serial.println (Ergebnisse. Wert, HEX); irrecv.resume(); } Verzögerung (100); }
Der obige Code liest die von der Fernbedienung gesendeten Werte und dekodiert sie in den entsprechenden HEX-Wert. Dieser Code stammt aus den Beispielen der IRremote-Bibliothek in Arduino IDE. Dieser Code ist auch im Download-Link mit dem Namen angehängt test.ino oben bereitgestellt. Die Ausgabe dieser Funktion, wenn alle Zifferntasten gedrückt werden, ist:
4. Im code.ino im obigen Download-Link angehängt, werden die Pins von Arduino, die verwendet werden, initialisiert. In dem Leere Schleife () Funktion, wenn eine Taste auf der Fernbedienung gedrückt wird, wird die anfängliche Falsch Zustand wird zu is Wahrund das jeweilige Relais wird eingeschaltet. Wenn dieselbe Taste erneut gedrückt wird, wird die boolesche Bedingung umgeschaltet und das Relais ausgeschaltet. Der Netzschalter schaltet alle Relais ein oder aus.
Void Schleife () { wenn (irrecv.decode (& Ergebnisse)) { Serial.println (Ergebnisse.Wert, HEX); Verzögerung (100); if(results.value==0x40BD00FF) { i=!i; digitalWrite(IN1, i); } if(results.value==0x40BD807F) { j=!j; digitalWrite(IN2, j); // Verzögerung (200); } if(results.value==0x40BD28D7) {m=!m; digitalWrite (IN1, m); digitalWrite(IN2, m); digitalWrite(IN3, m); digitalWrite(IN4, m); // Verzögerung (200); } irrecv.resume(); // Den nächsten Wert empfangen //delay(100); } }
Dies war der gesamte Vorgang, um ein einfaches Hausautomationssystem zu erstellen, das von einer TV-Fernbedienung gesteuert wird. Jetzt können Sie Relaismodule entsprechend der Anzahl Ihrer Geräte anschließen und Ihr eigenes Smart Home Automation System genießen.