Smart Home System
Introducere
Smart Home System este un proiect destinat creării unei case inteligente folosind tehnologie accesibilă și integrată. Scopul acestui sistem este de a monitoriza și controla condițiile ambientale, precum și securitatea locuinței, făcând astfel viața mai confortabilă și sigură pentru utilizatori.
Ideea proiectului a pornit de la dorința de a folosi tehnologia pentru a îmbunătăți securitatea și eficiența energetică în locuințe. Prin monitorizarea temperaturii, a umidității, a prezenței gazelor și a mișcărilor nedorite, sistemul poate oferi un răspuns rapid în cazul unei probleme sau poate informa utilizatorul de necesitatea optimizării condițiilor ambientale într-un mod ușor accesibil.
Acest sistem este util atât pentru persoanele interesate de tehnologie, care doresc să își automatizeze locuințele, cât și pentru cei care au nevoie de un sistem robust de monitorizare și control al mediului casnic, crescând astfel confortul și securitatea celor care îl folosesc.
Descriere generală
Module Hardware
Arduino UNO: Este responsabil pentru coordonarea tuturor modulelor.
Senzori: Colectează datele despre temperatură, umiditate, prezența gazelor și mișcare.
Servomotor: Acționează ușile/ferestrele pentru ventilare automată în cazul detectării gazelor.
Modul de releu: Controlează becurile, integrând automatizarea iluminatului.
Buzzer pasiv: Emite alerte sonore în cazul detectării mișcărilor nedorite atunci când sistemul de securitate este activ.
Ecran LCD: Afișează informațiile colectate și starea sistemului.
Module Software
Firmware pe Arduino: Gestionează citirea datelor de la senzori, controlul servomotorului, al buzzerului și al releului. De asemenea, actualizează informațiile afișate pe ecranul LCD.
Modul de comunicații: Permite utilizatorilor să interacționeze cu sistemul prin intermediul unei aplicații mobile.
Interacțiunea Componentelor
Senzorii monitorizează continuu mediul și trimit datele către Arduino UNO.
Arduino UNO procesează aceste date, le afișează pe ecranul LCD și, în funcție de parametrii setați în procesul de realizare al sistemului, activează servomotorul sau buzzer-ul.
Utilizatorii pot comanda manual sistemul de iluminat printr-un modul de comunicații.
Hardware Design
Listă de componente:
2x Arduino Uno R3 ATMega328P
1x Breadboard HQ (830p)
1x Breadboard HQ (400p)
1x Modul LCD 1602 cu Interfață I2C și Backlight Galben-Verde
1x Modul LCD de 2.8” cu SPI și Controller ILI9341 (240×320 px)
1x Modul Senzor de Mișcare PIR HC-SR501
1x Modul Senzor de Gaz MQ-2
1x Senzor de Temperatură și Umiditate DHT11
3x Micro Servomotor SG90 90°
2x Buzzer Pasiv
1x Senzor Ultrasonic HC-SR04
4x Condensator 100uF 35V
1x Rezistor 10kΩ
1x Rezistor 4.7kΩ
1x Rezistor 2kΩ
1x Rezistor 1kΩ
1x Rezistor 220Ω
2x Rezistor 100Ω
1x Modul Bluetooth HC-05 cu Adaptor
LED-uri
Jumper Wires
Din diagrama circuitului din exteriorul casei și din schema electrică a acestuia lipsesc atât Modulul Bluetooth Master Slave HC-05, cât și mai multe LED-uri care vor fi adăugate în circuit atunci când acesta va fi amplasat pe macheta de carton care poate fi observată în imaginea adăugată.
Diagrama Circuitului din Exteriorul Casei:
Schema Electrică a Circuitului din Exteriorul Casei:
Diagrama Circuitului din Interiorul Casei:
Schema Electrică a Circuitului din Interiorul Casei:
Stadiul Actual al părții Hardware:
Software Design
Mediu de Dezvoltare
Codul necesar funcționării proiectului a fost dezvoltat în Arduino IDE în fișierele:
circuit_interior.ino
circuit_exterior.ino
Pentru a facilita comunicarea cu modulul Bluetooth HC-05, am folosit MIT App Inventor, o platformă web concepută pentru a permite utilizatorilor să creeze aplicații mobile pentru dispozitive Android printr-o interfață simplă de tip drag-and-drop.
Biblioteci utilizate pentru Circuitul Interior
Wire.h → pentru comunicația I2C între microcontroller și dispozitive periferice, cum ar fi senzori și ecrane LCD.
Servo.h → pentru controlul servomotoarelor, permițând poziționarea precisă a acestora prin semnale PWM.
LiquidCrystal_I2C.h → pentru controlul ecranelor LCD compatibile cu interfața I2C, facilitând afișarea de texte și date.
dht11.h → pentru utilizarea senzorului de temperatură și umiditate DHT11, oferind metode pentru citirea valorilor de temperatură și umiditate.
Biblioteci utilizate pentru Circuitul Exterior
Adafruit_GFX.h → pentru desenarea formelor și textului pe afișaje, oferind funcții esențiale pentru interfețe grafice.
Adafruit_ST7789.h → pentru controlul ecranelor TFT bazate pe driverul ST7789, facilitând afișarea de imagini și texte.
Servo.h → pentru controlul servomotoarelor, permițând poziționarea precisă a acestora prin semnale PWM.
SPI.h → pentru comunicația serială de mare viteză între microcontroller și dispozitivele periferice folosind protocolul SPI (Serial Peripheral Interface).
Laboratoare utilizate
Laboratorul 1: USART. Debugging → Utilizat pentru comunicarea serială și debugging.
Laboratorul 3: Timere. Pulse Width Modulation (PWM) → Utilizat pentru controlul precis al servomotoarelor prin PWM.
Laboratorul 4: Analog Digital Convertor (ADC) → Utilizat pentru citirea și procesarea datelor de la senzorii analogici (ex: senzorul de gaz MQ-2).
Laboratorul 5: Serial Peripheral Interface (SPI) → Utilizat pentru comunicația între microcontroller și LCD-ul ST7789 în circuitul exterior.
Laboratorul 6: Inter-Integrated Circuit (I2C) → Utilizat pentru comunicația cu LCD-ul I2C în circuitul interior.
Descrierea logicii și a metodelor implementate în Circuitul Interior
Descrierea logicii și a metodelor implementate în Circuitul Exterior
loop()
Verifică intrările Bluetooth și actualizează starea LED-ului și poziția servomotorului, respectiv a barierei, în funcție de comenzi.
Măsoară distanța folosind senzorul ultrasonic și afișează pe LCD.
Actualizează starea de securitate pe baza distanței măsurate.
Descrierea logicii din aplicația de control a Circuitului Exterior
Rezultate Obţinute
Testul Final al Implementarii Proiectului
Testul final a constat în verificarea funcționalității tuturor sistemelor integrate atât în circuitul din interiorul casei, cât și în circuitul din exteriorul casei.
Rezultatul final (1) - Interior
Rezultatul final (2) - Exterior
Concluzii
“Smart Home System” reprezintă o metodă de integrare a diferitelor tehnologii pentru a îmbunătăți securitatea și confortul unei locuințe. Utilizând o varietate de senzori și componente electronice, sistemul monitorizează și reacționează la diverse condiții din jurul casei, precum și la cerințele celui care îl folosește.
Implementarea oferă un sistem de securitate cuprinzător atât prin intermediul senzorilor care pot detecta mișcări nedorite în cadrul proprietății, cât și prin intermediul senzorului care activează sistemul automat de aerisire a casei. Integrarea ecranelor LCD permite afișarea în timp real a informațiilor relevante, facilitând utilizatorului monitorizarea constantă a stării sistemului. Controlul servomotoarelor și al altor dispozitive prin intermediul semnalelor PWM și al comunicației Bluetooth adaugă un nivel suplimentar de funcționalitate și flexibilitate. De asemenea, sistemul demonstrează eficiența comunicării seriale pentru debug și control.
În concluzie, acest proiect ilustrează cum tehnologia poate fi folosită pentru a crea soluții interconectate pentru securitatea și gestionarea unei locuințe, oferind o bază solidă pentru extinderea și îmbunătățirea viitoarelor sisteme de automatizare casnică.
Download & GitHub Repository
Proiectul care constă în aplicație pentru dispozitive Android, cod sursă și alte resurse grafice sunt disponibile pe
GitHub.
Bibliografie/Resurse
Resurse Software
Resurse Hardware