Wie entwerfe ich eine sprachaktivierte Hausautomation?

Die Idee von Heimautomatisierung gewinnt an Bedeutung, da es hilft, menschliche Anstrengungen und Fehler zu verringern und damit die Wirksamkeit zu erhöhen. Es nutzt eine Kombination aus Geräten und Programmierverbesserungen, die die Steuerung von Maschinen und anderen elektronischen Geräten in einem Haus ermöglichen. Mit Hilfe von Home Automation können wir unsere Elektrogeräte fernsteuern. Ein großer Vorteil ist, dass der Stromverbrauch stark reduziert wird. Es gibt verschiedene Arten der Heimautomation wie Bluetooth-gesteuert, ferngesteuert und internetgesteuert usw., und jede hat ihre Vor- und Nachteile. In diesem Projekt werden wir eine sprachgesteuerte Hausautomation entwerfen, bei der verschiedene Geräte durch Senden des Sprachbefehls gesteuert werden. Dieses System ist sehr teuer, wenn es auf dem Markt gekauft wird, aber wenn wir all diese Geräte durch ArduinoEs wird sehr einfach und kostengünstig, alle elektrischen Haushaltsgeräte zu steuern.

Wie automatisiere ich Haushaltsgeräte mit Arduino?

Nachdem wir die Grundidee haben, gehen wir nun dazu über, die Komponenten zu sammeln, sie zu einer Schaltung zusammenzusetzen und den Code zur Automatisierung Ihrer Haushaltsgeräte zu schreiben.

Schritt 1: Verwendete Komponenten (Hardware)

Schritt 2: Verwendete Komponenten (Software)

Entwerfen Sie nach dem Herunterladen des Proteus 8 Professional die Schaltung darauf. Wir haben hier Softwaresimulationen aufgenommen, damit Anfänger die Schaltung bequem entwerfen und entsprechende Verbindungen auf der Hardware herstellen können.

Schritt 3: Studieren der Komponenten

Da wir eine Liste der Komponenten erstellt haben, die wir in unserem Projekt verwenden werden. Lassen Sie uns einen Schritt voraus sein und eine kurze Studie über die Funktionsweise dieser Komponenten durchführen.

  1. Arduino-UNO: Das Arduino UNO ist ein Mikrocontroller-Board, das aus einem Mikrochip ATMega 328P besteht und von Arduino.cc entwickelt wurde. Diese Karte verfügt über einen Satz digitaler und analoger Datenpins, die mit anderen Erweiterungskarten oder -schaltungen verbunden werden können. Diese Karte verfügt über 14 digitale und 6 analoge Pins und kann mit der Arduino IDE (Integrated Development Environment) über ein USB-Kabel vom Typ B programmiert werden. Es benötigt 5V zur Stromversorgung AUF und ein C-Codezu bedienen.
  2. HC-05 Drahtloser serieller Bluetooth-Transceiver: Wir benötigen in diesem Projekt drahtlose Kommunikation, daher verwenden wir die Bluetooth-Technologie und für das Modul, das verwendet wird, ist HC-05. Dieses Modul verfügt über mehrere programmierbare Baudraten, die Standardbaudrate beträgt jedoch 9600 Bit / s. Es kann entweder als Master oder als Slave konfiguriert werden, während ein anderes Modul HC-06 nur im Slave-Modus arbeiten kann. Dieses Modul hat vier Pins. Eine für VCC (5 V) und die restlichen drei für GND, TX und RX. Das Standardkennwort dieses Moduls lautet 1234 oder 0000. Wenn wir zwischen zwei Mikrocontrollern kommunizieren oder mit einem Gerät mit Bluetooth-Funktionalität wie einem Telefon oder Laptop kommunizieren möchten, hilft uns HC-05 dabei. Es sind bereits mehrere Android-Anwendungen verfügbar, die diesen Vorgang erheblich vereinfachen.

  3. Bluetooth-Sprachsteuerung für Arduino: Diese App wurde von SimpleLabsIN für sprachbasierte Arduino-Projekte entwickelt. Diese Android-Anwendung verwendet die Spracherkennungsfunktion des Telefons und konvertiert die Sprachbefehle in Text und überträgt die Zeichenfolge über Bluetooth. Die Anwendung kann von hier heruntergeladen werden
  4. 12-V-Relaismodul: Wenn jemand Hochspannungslasten von einem Mikrocontroller schalten möchte, kann diese 12-V-Relaisplatine dies tun. Es enthält 8 x 12 V Relais mit einer Nennspannung von 10 A / 250 V AC (DC 30 V / 10 A). Jedes Relaismodul wird über einen optisch isolierten Digitaleingang ein- und ausgeschaltet, der direkt an einen Mikrocontroller-Ausgangspin angeschlossen werden kann. Zum Einschalten der Eingänge ist nur eine Spannung von ca. 1,0 V erforderlich, es können jedoch Eingangsspannungen bis zu 12 V verarbeitet werden. Dies macht es ideal für sowohl 5V- als auch 3,3V-Geräte. Sie können das Relaismodul entsprechend Ihrer Anzahl von Geräten erwerben, die Sie steuern möchten. Wenn Sie beispielsweise 4 Geräte steuern möchten, sollten Sie 4 Relaismodule kaufen.

Schritt 4: Schaltungsdesign mit Schaltplan verstehen

Erstens müssen wir HC-05 mit Arduino UNO verbinden. Da Bluetooth das UART-Protokoll verwendet, müssen wir die RX- und TX-Pins des Arduino verwenden. Wir werden die "SoftwareSerial" -Bibliothek verwenden, um unsere eigenen RX- und TX-Pins zu definieren (Pin 2 ist RX und Pin 3 ist TX). Der RX-Pin des Bluetooth-Moduls und der TX-Pin des Arduino werden getrennt. Zweitens werden wir die Relais mit dem Arduino verbinden. Wir haben eine vorgefertigte Relaisplatine mit 4 Kanälen verwendet, daher müssen wir die Eingänge der einzelnen Relais mit dem Arduino verbinden. Informationen zum Anschließen der Last an das Relaismodul finden Sie in der folgenden Abbildung:

Zur Demonstration werden vier Lasten an das Relaismodul angeschlossen. Seien Sie besonders vorsichtig, wenn Sie Wechselstromnetze mit einer Relaisplatine verwenden. Nur zur Demonstration haben wir gewechselt AUF die alternativen Lasten:

Schritt 5: Arbeitsprinzip des Projekts

In diesem Projekt werden Sprachbefehle verwendet, um verschiedene Geräte zu steuern. Montieren Sie die Hardware gemäß dem oben angegebenen Schaltplan. Montieren Sie alle Komponenten auf dem Steckbrett. Schalten Sie nach dem Herstellen der erforderlichen Verbindungen die Stromversorgung des Stromkreises ein und koppeln Sie das Bluetooth des Telefons mit dem Bluetooth-Modul HC-05. Installieren Sie vor dem Pairing die oben erwähnte Anwendung auf Ihrem Smartphone.

Verbinden Sie nun das Telefon mit dem Bluetooth-Modul. Klicken Sie auf die Option „Roboter verbinden”Und wählen Sie das entsprechende Bluetooth-Gerät aus. Wenn die Geräte nicht früher gekoppelt wurden, koppeln Sie sie jetzt, indem Sie den Pin eingeben 0000 oder 1234.

Nach erfolgreicher Verbindung sind die Geräte bereit, Daten zu übertragen. Drücken Sie zum Übertragen von Daten das Mikrofonsymbol in der App und geben Sie Sprachbefehle ein. Stellen Sie sicher, dass die Spracherkennungsfunktion auf Ihrem Smartphone aktiviert ist (dies ist normalerweise mit der Google App verbunden). Zum Beispiel, wenn wir das Mikrofonsymbol drücken und sagen "Mach das Licht an",Die Anwendung erkennt den Befehl und überträgt ihn an das Bluetooth-Modul.

Wenn die Zeichenfolge von der Anwendung erkannt wird, wird die Zeichenfolge als "Einschaltlicht #" gesendet, und die vom Bluetooth-Modul empfangene tatsächliche Nachricht hat dieses Format ("*Botschaft#"). Der Grund für das Auffüllen von "*" und "#" am Anfang und Ende der Zeichenfolge besteht darin, den Anfang und das Ende der Nachricht zu identifizieren. Die empfangene Nachricht wird mit einigen vordefinierten Zeichenfolgen verglichen. Wenn die Nachricht mit ihnen übereinstimmt, wird die entsprechende Aktion wie "Einschalten" und "Ausschalten" ausgeführt.

In diesem Projekt haben wir die folgenden Befehle verwendet: "Wechselstrom einschalten", "Wechselstrom ausschalten", "Licht einschalten", "Licht ausschalten", "Fernseher einschalten", "Fernseher ausschalten", "Lüfter einschalten" “, „alle einschalten“ und „alle ausschalten“.

Schritt 6: Erste Schritte mit Arduino

Wenn Sie mit Arduino IDE noch nicht vertraut sind, machen Sie sich keine Sorgen, denn unten sehen Sie klare Schritte zum Brennen von Code auf der Mikrocontroller-Karte mit Arduino IDE. Sie können die neueste Version von Arduino IDE hier herunterladen und die folgenden Schritte ausführen:

1). Wenn die Arduino-Karte an Ihren PC angeschlossen ist, öffnen Sie die Systemsteuerung und klicken Sie auf „Hardware und Sound“. Klicken Sie dann auf "Geräte und Drucker". Suchen Sie den Namen des Ports, an den Ihre Arduino-Karte angeschlossen ist. In meinem Fall ist es "COM14", aber es kann auf Ihrem PC anders sein.

2). Öffnen Sie nun die Arduino IDE. Stellen Sie unter Tools die Arduino-Karte auf ein Arduino / Genuino UNO.

3). Stellen Sie im selben Tool-Menü die Portnummer ein, die Sie in der Systemsteuerung gesehen haben.

4). Um diese sprachgesteuerte App verwenden zu können, benötigen wir eine spezielle Bibliothek, die in die Arduino IDE aufgenommen wird. Diese Bibliothek ist unter dem folgenden Link zusammen mit dem Code angehängt. Um die Bibliothek einzubinden, gehen Sie zu Skizze> Bibliothek einschließen> ZIP hinzufügen. Bibliothek.

5). Laden Sie den unten angehängten Code herunter und kopieren Sie ihn in Ihre IDE. Um den Code hochzuladen, klicken Sie auf die Schaltfläche zum Hochladen.

Sie können den Code herunterladen, indem Sie hier klicken.

Schritt 7: Den Code verstehen

Der Kodex ist nicht so komplex, aber dennoch werden einige seiner Teile im Folgenden kurz beschrieben.

1. Zu Beginn ist eine Bibliothek enthalten, die die serielle Kommunikation über andere digitale Pins des Arduino ermöglicht, wobei die Funktionalität mithilfe von Software repliziert wird. Zwei Pins werden für die Verwendung mit dem Bluetooth-Modul initialisiert. Vier Pins werden initialisiert, um für die an das System angeschlossenen Haushaltsgeräte verwendet zu werden, und eine String-Variable wird initialisiert, um die über Bluetooth seriell kommenden Daten zu speichern.

#einschließen   const int rxPin = 2; // Pisns für Bluetooth-Modul initialisieren const int txPin = 3; SoftwareSerial mySerial (rxPin, txPin); int ac = 4; // Pins für Haushaltsgeräte initialisieren int light = 5; int fan = 6; int tv=7; String-Daten;

2. void setup ()ist eine Funktion, in der wir die initialisierten Pins einstellen, die als INPUT und OUTPUT verwendet werden sollen. Auch hier wird die Baudrate initialisiert. Die Baudrate ist die Geschwindigkeit, mit der die Arduino-Karte mit den angeschlossenen Komponenten kommuniziert. In unserer Funktion haben wir alle an den Geräten angeschlossenen Pins auf . gesetzt NIEDRIG.

void setup () {Serial.begin (9600); mySerial.begin (9600); PinMode (AC, OUTPUT); PinMode (Licht, AUSGANG); PinMode (Lüfter, OUTPUT); pinMode (tv, OUTPUT); digitalWrite (ac, LOW); digitalWrite (hell, NIEDRIG); digitalWrite (Lüfter, NIEDRIG); digitalWrite (tv, LOW); }}

3. Leere Schleife ()ist eine Funktion, die wiederholt in einer Schleife ausgeführt wird. Hier sind alle Bedingungen festgelegt, damit das System ordnungsgemäß funktioniert. Folgende Während() Die Schleife wird verwendet, um Daten zu erfassen, die seriell zum Mikrocontroller gelangen.

 while (1) // Eingabe seriell abrufen {while (mySerial.available () <= 0); ch = mySerial.read (); if (ch == '#') break; Daten+=ch; }}

Unter allen Bedingungen sind alle angeschlossenen Elektrogeräte so eingestellt, wie es der Benutzer befiehlt. Diese Bedingungen sind ziemlich einfach und selbsterklärend.

 if(data=="*AC einschalten") { digitalWrite(ac,HIGH); Serial.println ("ac on"); } else if (data == "* AC ausschalten") {digitalWrite (ac, LOW); Serial.println ("ac off"); } else if (data == "* Licht einschalten") {digitalWrite (Licht, HIGH); Serial.println ("Licht an"); } else if (data == "* Licht ausschalten") {digitalWrite (Licht, NIEDRIG); Serial.println ("Licht aus"); aufrechtzuerhalten. Sonst if(data=="*Fan einschalten") { DigitalWrite(Fan,HIGH); Serial.println ("fan on"); } else if (data == "* Lüfter ausschalten") {digitalWrite (Lüfter, LOW); Serial.println ("Fan off"); } else if (data == "* TV einschalten") {digitalWrite (tv, HIGH); Serial.println ("tv on"); } else if (data == "* TV einschalten") {digitalWrite (tv, LOW); Serial.println ("tv off"); } else if (data == "* alle einschalten") {digitalWrite (ac, HIGH); digitalWrite (hell, HOCH); digitalWrite (Lüfter, HOCH); digitalWrite (Fernseher, HOCH); Serial.println ("all on"); } else if (data == "* alle ausschalten") {digitalWrite (ac, LOW); digitalWrite (hell, NIEDRIG); digitalWrite (Lüfter, NIEDRIG); digitalWrite (tv, LOW); Serial.println ("alles aus"); }}

Anwendungen

  1. Das sprachaktivierte Hausautomationssystem hilft uns, verschiedene Lasten (Elektrogeräte) mit einfachen Sprachbefehlen zu steuern.
  2. Menschen mit Behinderungen können von diesem Projekt viele Vorteile erhalten, da sie, wenn sie nicht in der Lage sind, herumzulaufen, einen Sprachbefehl erteilen und sich umdrehen können AUF oder AUS das Gerät.
  3. Dieses Projekt kann auch durch Hinzufügen verschiedener Sensoren (Licht, Rauch usw.) erweitert werden.
Facebook Twitter Google Plus Pinterest