Smart Home Automation System – Schaltung und Quellcode
Smart Home Automation System Project mit Arduino
Automatisierung (wie Heimautomatisierung und industrielle Automatisierung usw.) ist in der heutigen Welt wichtig geworden, da sie hilft, eine Aufgabe mit weniger menschlicher Unterstützung und auf intelligentere Weise zu erledigen. Häuser werden intelligenter und entwickeln sich heutzutage mit Hilfe von Automatisierungsgeräten. Elektrische Haushaltsgeräte verwenden eher ferngesteuerte Schalter als herkömmliche Schalter. In der heutigen Welt haben die meisten Menschen Zugang zu Smartphones und ihre Verwendung ist in unserem Leben sehr beliebt und unverzichtbar geworden. Mit nur einem Klick oder einer Nachricht können wir die Haushaltsgeräte über Smartphones steuern. Mit Hilfe von Controllern und Kommunikationsgeräten können Haushaltsgeräte ferngesteuert werden. In diesem Projekt verwenden wir das Arduino UNO-Board für die Entwicklung des Smart Home Automation-Projekts mit dem HC-05 Bluetooth-Modul, das von einem Smartphone ferngesteuert wird. Es kann wirklich hilfreich für gelähmte Menschen sein, die ihre Arbeit nicht alleine erledigen können, und solche Geräte können eine große Hilfe für diese Menschen sein.
- Verwandter Beitrag: Voice Recognition Based Home Automation System
Erforderliche Komponenten
- Arduino UNO
- HC-05 Bluetooth-Modul
- Relais
- Überbrückungsdrähte
- Glühbirnen
- Bluetooth Terminal HC-05 App (Download aus dem Play Store)
Arduino UNO
Arduino ist eine Open-Source-Plattform, die zur Entwicklung von Elektronikprojekten verwendet wird. Es kann jederzeit leicht programmiert, gelöscht und neu programmiert werden. Auf dem Markt sind viele Arduino-Boards wie Arduino UNO, Arduino Nano, Arduino Mega, Arduino Lilypad usw. erhältlich, die je nach Verwendung unterschiedliche Spezifikationen haben. In diesem Projekt werden wir Arduino UNO verwenden, um Haushaltsgeräte automatisch zu steuern. Es verfügt über einen ATmega328-Mikrocontroller-IC, der mit einer Taktfrequenz von 16 MHz läuft. Es ist ein leistungsstarkes Gerät, das mit USART-, I2C- und SPI-Kommunikationsprotokollen arbeiten kann. Dieses Board wird normalerweise mit der Software Arduino IDE über ein Micro-USB-Kabel programmiert. ATmega328 wird mit einem vorprogrammierten Onboard-Bootloader geliefert, der das Hochladen des Codes ohne die Hilfe externer Hardware erleichtert. Es hat eine große Anwendung bei der Herstellung von Elektronikprojekten oder -produkten. Die Sprache C und C++ wird verwendet, um das Board zu programmieren, das sehr einfach zu erlernen und zu verwenden ist. Arduino IDE macht es viel einfacher zu programmieren. Es trennt den Code in zwei Teile, d. h. void setup() und void loop(). Die Funktion void setup() wird nur einmal ausgeführt und hauptsächlich zum Initiieren eines Prozesses verwendet, während void loop() den Teil des Codes darstellt, der kontinuierlich ausgeführt werden soll.
Dieses Modell besteht aus 6 analogen Eingangspins und 14 digitalen GPIO-Pins, die als Input-Output verwendet werden können, von denen 6 PWM-Output und Analog mit pinMode(), digitalWrite( ), die Funktionen digitalRead() und analogRead(). 6 analoge Eingangskanäle reichen von den Pins A0 bis A5 und bieten eine 10-Bit-Auflösung. Das Board kann entweder über ein USB-Kabel mit 5 Volt oder über eine DC-Buchse mit 7 bis 20 Volt mit Strom versorgt werden. Es gibt einen integrierten Spannungsregler, der 3,3 Volt für den Betrieb von Geräten mit geringer Leistung erzeugt. Da der ATmega328 am USART-, SPI- und I2C-Kommunikationsprotokoll arbeitet, hat er 0 (Rx) und 1 (Tx) Pins für die USART-Kommunikation, SDA (A4) und SCL (A5) Pin für I2C und SS (10), MOSI (11) , MISO (12) und SCK (13) Pins für das SPI-Kommunikationsprotokoll. Diese Spezifikationen machen das Arduino Uno-Board perfekt für Heimautomatisierungsprojekte.
- Verwandter Beitrag:Electronic Eye Circuit using LDR and IC 4049 For Security Control
HC-05 Bluetooth-Modul
HC-05 ist ein Bluetooth-Modul für die drahtlose Kommunikation. Es wird hauptsächlich verwendet, um eine serielle bidirektionale drahtlose Kommunikation zwischen Mikrocontrollern, Smartphones, Computern, Sensoren usw. herzustellen. Die Reichweite dieses Bluetooth-Moduls beträgt weniger als 100 Meter und hängt auch von den atmosphärischen Bedingungen ab. Es arbeitet mit dem USART-Protokoll (Universal Synchronous Asynchronous Receiver Transmitter), um mit anderen Geräten zu kommunizieren. Es kann sowohl im Master- als auch im Slave-Modus mit den unterstützten Baudraten 9600, 19200, 38400, 57600, 115200, 230400 und 460800 arbeiten. Standardmäßig arbeitet es im Slave-Modus und der Master-Modus kann mit AT-Befehlen konfiguriert werden. Es kann verwendet werden, um Daten in beide Richtungen von einem Mikrocontroller zu einem beliebigen Gerät und von einem Gerät zu einem Mikrocontroller zu übertragen. Das HC-05 Bluetooth-Modul arbeitet im Befehlsmodus und im Datenmodus. Der Befehlsmodus wird verwendet, um mit einigen AT-Befehlen auf die Konfigurationseinstellungen des HC-05 zuzugreifen, und der Datenmodus wird verwendet, um die Daten seriell zu senden. Auf den Befehlsmodus kann zugegriffen werden, indem der „Schlüssel“-Pin geerdet wird, und mit AT-Befehlen können wir seine Einstellung ändern. Es gibt AT-Befehle, mit denen Name, Passwort, Baudrate usw. des Moduls geändert werden können. Hier sind einige AT-Befehle:
- AT – um zu prüfen, ob das Modul kommuniziert oder nicht
- AT+NAME =hc-05 – zum Ändern des Gerätenamens in „hc-05“
- AT+PSWD =1234 – zum Ändern des Passworts auf 1234
- AT+UART =9600, 1, 0 – zum Ändern der Baudrate auf 9600, Stoppbit auf 1 und Paritätsbit auf 0.
Verwandtes Projekt:Automatische LED-Notlichtschaltung mit LDR
Pin Out von HC-05:
DE/Schlüsselstift :Dieser Pin wird verwendet, um das Bluetooth-Modul in einen der Befehlsmodi zu versetzen oder Datenmodus . Auf den Befehlsmodus kann zugegriffen werden, indem dieser Pin hoch gesetzt wird, und auf den Datenmodus kann zugegriffen werden, indem er niedrig gesetzt wird. Standardmäßig ist sie im Datenmodus auf niedrig eingestellt.
- VCC :Dies ist der Stromversorgungspin, der entweder mit 5 V oder 3,3 V verbunden ist.
- Boden :Dies ist der Erdungsstift des Bluetooth-Moduls.
- TXD :Dieser Pin dient zur seriellen Übertragung der Daten.
- RXD :Dieser Pin wird verwendet, um die Daten seriell zu empfangen.
- Zustand :Dieser Pin gibt an, ob das Modul mit dem anderen Gerät verbunden oder getrennt ist.
Pin auf HC-05 | Beschreibung |
DE/Taste | Hoch – Befehlsmodus, Niedrig – Datenmodus |
VCC | 3,3 V bis 5 V |
GND | Boden |
TXD | Serielle Daten übertragen |
RXD | Serielle Daten empfangen |
Staat | Zeigt Modul verbunden oder nicht |
In diesem Projekt wird HC-05 verwendet, um eine serielle drahtlose Kommunikation zwischen Arduino Uno und Smartphone herzustellen. Dazu verbinden Sie Hc-05 mit dem Arduino Uno und installieren eine Anwendung auf dem Smartphone. Obwohl es verschiedene Anwendungen gibt, um ein Smartphone mit dem HC-05 zu verbinden. aber hier werden wir das Bluetooth Terminal HC-05 verwenden, das aus dem Play Store heruntergeladen werden kann. Verbinden Sie den HC-05 mit Arduino UNO wie im Schaltplan angegeben. Der TXD-Pin von HC-05 geht an RX (Pin 0) des RXD-Pins von HC-05 geht an TXD (Pin 1) des Arduino Uno. EN/Taste ist auf LOW gesetzt. Schalten Sie das Bluetooth Ihres Smartphones ein und suchen Sie nach Bluetooth-Geräten. Verbinden Sie sich mit dem Bluetooth-Gerät namens „HC-05“. Standardmäßig ist das Passwort entweder „0000“ oder „1234“.
Das HC-05 Bluetooth-Modul hat eine eingebaute rote LED, die den Verbindungsstatus anzeigt. Vor jeder Verbindung blinkt es kontinuierlich in regelmäßigen Abständen und nachdem es verbunden ist, verlangsamt sich seine Blinkgeschwindigkeit.
- Verwandtes Projekt:Einfache berührungsempfindliche Schalterschaltung mit 555-Timer und BC547-Transistor
Anwendung des HC-05 Bluetooth-Moduls:
- Computer und Peripheriegeräte
- GPS-Empfänger
- Industrielle Kontrolle
- Mikrocontroller-Projekte
Weiterleitung
Ein Relais ist ein elektromagnetischer Schalter, der durch einen kleinen elektrischen Strom betrieben wird, um einen oder mehrere größere Stromkreise ein- oder auszuschalten. Es besteht aus einer elektromagnetischen Spule, die sich in einen temporären Magneten umwandelt, wenn ein kleiner elektrischer Strom durch sie geleitet wird. Ein relativ kleiner Strom wird verwendet, um ein Magnetfeld in einer Spule mit einem Kern zu erzeugen, und dies wird verwendet, um einen Schalter zu betätigen, der einen viel größeren Strom steuern kann. Frühere Relais wurden in Telegraphen und Telefonzentralen verwendet, um die Signale zu verstärken. Nach der Erfindung von Computern wurden Relais verwendet, um Boolesche und logische Operationen auszuführen. Relais gibt es in verschiedenen Größen und Varianten entsprechend ihrer Verwendung in Schaltkreisen. Die Hauptanwendungen des Relais umfassen Motorsteuerung, Automobilanwendungen, Industrieanwendungen, Heimautomatisierung usw.
In diesem Projekt werden wir ein elektromagnetisches Relais verwenden, um die Haushaltsgeräte wie Leuchtstoffröhren, Glühbirnen, Ventilatoren oder andere Wechselstromquellen in unserem Haus ein- und auszuschalten, indem wir etwas geben DC-Signale vom Arduino UNO. Das Relais hat 6 Pins, von denen zwei VCC und Ground verwendet werden, um das Relais mit Strom zu versorgen. Ein Pin ist der Datenpin, der verwendet wird, um das Signal entweder „1“ oder „0“ von Mikrocontrollern zu nehmen. Andere 3 Pins Normally Closed (NC), Common, Normally Open (NO) werden verwendet, um mit Wechselstrom betriebene Geräte anzuschließen. Dieses Relais arbeitet in zwei Zuständen, entweder im Normally Open- oder im Normally Close-Zustand:
Schließer:Es schließt den Stromkreis, wenn das Relais aktiviert wird, und öffnet den Stromkreis, wenn das Relais deaktiviert wird.
Normally Close:Öffnet den Stromkreis, wenn das Relais aktiviert ist, und schließt den Stromkreis, wenn das Relais deaktiviert ist.
- Verwandtes Projekt: Automatische Nachtlampe mit Arduino und LDR
Pinbelegung des Relais:
Pin auf RELAIS | Beschreibung |
VCC | 5V |
Masse | Boden |
Daten-Pin | „1“ oder „0“ vom Mikrocontroller |
NC | Für normalerweise geschlossenen Kreislauf |
COM | Häufig |
NEIN | Für normalerweise offenen Stromkreis |
Anwendungen des Relais:
- Relais wird verwendet, um sicherheitskritische Logik bereitzustellen.
- Sie werden verwendet, um einen Hochspannungsschaltkreis mit einem kleinen Spannungssignal zu steuern.
- Relais werden auch zu Schutzzwecken verwendet.
- Relais werden in Umspannwerken und Netzen verwendet, wenn Strom von einem Punkt zum anderen geliefert wird.
Verwandtes Projekt: Automatisches Straßenbeleuchtungssteuerungssystem mit LDR
Schaltplan
Die Schaltung wurde mit Arduino, Bluetooth, Relais und LEDs entworfen. Wir haben das Bluetooth seriell mit dem Arduino verbunden. Das Relais dient zum Betrieb der Haushaltsgeräte. Wir haben vier Relais für vier Geräte verwendet. Sie können die Nummern des Relais ändern, um verschiedene Haushaltsgeräte entsprechend zu betreiben. Beim Wechsel zur Hardware werden die LEDs durch Glühbirnen ersetzt.
Der Befehl zur Steuerung der Haushaltsgeräte wird über eine „Bluetooth-Terminal-HC-05-App“ gesendet von Ihrem Smartphone zum Bluetooth, das mit dem Arduino verbunden ist. Dann liest Arduino die Daten, die seriell zum Bluetooth kommen. Daher werden Aktionen gemäß dem Befehl ausgeführt, der vom Bluetooth zum Arduino kommt.
- Verwandtes Projekt:Elektronisches Projekt zur Ampelsteuerung mit IC 4017 &555 Timer
Funktionsweise von Arduino-basierter Heimautomatisierung
Stellen Sie die Verbindung für das Hausautomatisierungsprojekt wie im Schaltplan angegeben her. Zuerst verbinden wir die Glühlampe mit Wechselstromquellen und mit Relais wie im Schaltplan angegeben. Dann werden die Relais von der Arduino Uno-Platine mit Gleichstrom versorgt. Datenpins der Relais sind an den Pins 8, 9, 10 und 11 mit dem Arduino verbunden, die die Ausgangspins von Arduino sind. Verbinden Sie dann das HC-05-Modul mit dem Arduino-Board wie im Diagramm gezeigt und versorgen Sie das Adruino-Board mit Strom. Laden Sie den am Ende des Projekts angegebenen Code mit Arduino IDE hoch. Schalten Sie Bluetooth in Ihrem Smartphone ein und verbinden Sie das HC-05-Modul, indem Sie das Passwort eingeben. Standardmäßig lautet das Passwort „0000“ oder „1234“. Nachdem Sie Ihr Smartphone erfolgreich mit dem HC-05 verbunden haben, öffnen Sie die „Bluetooth terminal HC-05 app“ in Ihrem Smartphone “ und es wird Ihr mit HC-05 verbundenes Gerät anzeigen. Senden Sie nun die Daten „Bulb1 turn on“ oder „Bulb2 to turn off“, um eine beliebige Glühbirne ein- oder auszuschalten. So können Sie die Beleuchtung in Ihrem Zuhause fernsteuern.
- Verwandtes Projekt:Elektronisches Projekt für Clap Switch Circuit mit 555-Timer
Projektcode
#include
int bulb1 =8;
int bulb2 =9;
int bulb3 =10;
int bulb4 =11;
SoftwareSerial bt(0,1); /* (Rx,Tx) */
Zeichenkette str;
void setup() {
bt.begin(9600);
Serial.begin(9600);
pinMode(bulb1,OUTPUT);
pinMode(bulb2,OUTPUT);
pinMode(bulb3,OUTPUT);
pinMode(bulb4,OUTPUT);
}
void loop() {
if (bt.available())
{
str =bt.read();
Serial.println(str);
//bulb1
if(str ==”bulb1 on”)
{
digitalWrite(bulb1,HIGH);
Serial.println(“BUlB 1 is ON”);
}
else if (str==”bulb1 off”)
{
digitalWrite(bulb1,LOW);
Serial.println(“BUlB 1 is OFF”);
}
else
{
digitalWrite(bulb1,LOW);
}
//bulb2
if(str==”bulb2 on”)
{
digitalWrite(bulb2,HIGH);
Serial.println(“BUlB 2 ist EIN”);
}
else if(str==”bulb2 off”)
{
digitalWrite(bulb2,LOW);
Serial.println(“BUlB 2 ist AUS”);
}
else
{
digitalWrite(bulb2, LOW);
}
////bulb3
if(str==”bulb3 on”)
{
digitalWrite(bulb3,HIGH);
Serial.println(“BUlB 3 ist EIN”);
}
else if(str==”bulb3 off”)
{
digitalWrite(bulb3,LOW);
Serial.println("BUlB 3 ist AUS");
}
else
{
digitalWrite(bulb3,LOW);
}
//bulb4
if(str=="bulb4 on")
{
digitalWrite (bulb4,HIGH);
Serial.println(“BUlB 4 ist EIN”);
}
else if(str==”bulb4 off”)
{
digitalWrite(bulb4,LOW);
Serial.println(“BUlB 4 ist AUS”);
}
else
{
digitalWrite(bulb4,LOW);
}
}
Programming Code Explanation
Include the libraries required for the project, SoftwareSerial.h library is imported for serial communication with Bluetooth Module HC-05.
#include
Declaration of variables of output pins of Arduino at 8, 9, 10 and 11 which goes to data pin of each of the four relays. Variable string “str” stores the data we get from smartphone using HC-05 Bluetooth Module.
int bulb1 =8;
int bulb2 =9;
int bulb3 =10;
int bulb4 =11;
String str;
pinMode(bulb1,OUTPUT);
pinMode(bulb2,OUTPUT);
pinMode(bulb3,OUTPUT);
pinMode(bulb4,OUTPUT);
Bluetooth serial communication and serial monitor are initiated at 9600 baud rate.
bt.begin(9600);
Serial.begin(9600);
If the data got from the smartphone using Bluetooth Module HC-05 is “bulb1 on” then we turn on the bulb 1 by setting data pin of the relay as HIGH. If data is “bulb1 off” then we turn off the bulb by setting the data pin of the relay as LOW. If no data received for bulb 1 then we set our bulb 1 to LOW. The same thing is done for bulb 2, bulb 3, bulb 4.
if(str==”bulb1 on”)
{
digitalWrite(bulb1,HIGH);
Serial.println(“BUlB 1 is ON”);
}
else if(str==”bulb1 off”)
{
digitalWrite(bulb1,LOW);
Serial.println(“BUlB 1 is OFF”);
}
else
{
digitalWrite(bulb1,LOW);
}
Hence, you can control any home appliance in your home by using Arduino UNO, Bluetooth, and relay. We have also provided the technical information for the components required for constructing this project. The circuit diagram consists of LEDs which will be replaced by the AC bulbs used in the home.
Related Projects:
- Automatic Plant Watering &Irrigation System – Circuit, Code &Project Report
- Rain Alarm Circuit – Snow, Water and Rain Detector Project
- Water Level Indicator Circuit Diagram- Two Simple Projects
- More Electrical &Electronics Engineering Projects
Industrietechnik
- Anwendungen der Heimautomatisierung
- Silicon Labs präsentieren Konnektivitätslösungen für Smart Home und Gebäudeautomation
- Intelligenter Schaltkreisschutz und Sensordesign für Smart Home-Schlösser und Zugangskontrollen
- Fünf Hürden beim Versand ins Homeoffice – und wie man sie überwindet
- Arduino-Alarmsystem:SERENA
- Smart Home Automation und Sicherheitssystem mit 1Sheeld
- Python3- und Arduino-Kommunikation
- Anwesenheitssystem basierend auf Arduino und Google Spreadsheet
- Octopod:Smart IoT Home/Industry Automation Project
- WARAN - Hausautomation