Smart Home System

Autor: Iulian-Ilie Drăcea
Grupa: 332CB

Introducere

Scopul proiectului este de a realiza un sistem smart home ce poate fi accesat prin telefon.

Din aplicație se vor putea regla intensitățile becurilor din casă, deschide/închide lacătul de la intrare și totodată în aplicație vor apărea temperatura și nivelul de umiditate din casă, luate de un senzor.

Descriere generală

Placa Arduino UNO va aștepta comenzi din aplicația de pe telefon și în funcție de comandă
va face una din acțiunile posibile:

  1. Va lua date de la senzorul de temperatură și umiditate DHT22 și le va trimite către aplicație.
  2. Va schimba intensitatea luminii becului selectat din aplicație.
  3. Va deschide/închide lacătul ușii de la intrare.

Practic placa Arduino UNO va fi cea care interpretează comenzile primite din aplicație
și în funcție de aceasta controlează mini sistemele din cadrul casei smart.

Hardware Design

Listă componente:

  • Arduino UNO R3
  • senzor temperatură și umiditate DHT22
  • releu 5V, 1 canal
  • încuietoare electrică 12V
  • 4 x LED
  • 4 x potețiometre digitale MCP4131
  • modul Wifi ESP8266
  • suport 3 x baterii 18650
  • 3 x baterii 18650 (am trecut de la aceastea la 1 baterie 9V, incuietoarea mergand si doar cu atat)
  • breadboard-uri
  • rezistențe 100, 220 Ω
  • cablu USB
  • conectori, fire jumper, fire dupont

Schemă electrică:

A fost nevoie și de o capacitate între COMM și NO a releului, acesta neasigurând că cele 2 circuite nu sunt conectate în totalitate și solenoid-ul dând înapoi un spike de voltaj.
Poze hardware:

Software Design

Mediu de dezvoltare: Arduino IDE, RemoteXY (pentru aplicatia mobile)

Biblioteci utilizate:

DHT sensor library (by Adafruit) - pentru comunicarea cu senzorul DHT22
RemoteXY - pentru aplicatia mobile si modulul wifi ESP8266
SPI - pentru controlul potentiometrelor digitale MCP4131

Diagramă activități:

În setup configurez modulul ESP8266 și pinii de control pentru led-uri, DHT22 și lacătul electric. Setez led-urile ca fiind oprite.
În loop, api-ul RemoteXY verifică conexiunea. Dacă a primit o conexiune de la un client nou se creează o nouă conexiune și pentru fiecare conexiune trimite mai departe valorile de la arduino la aplicație prin ESP8266, apoi se trimit date și de la aplicație la arduino, pe arduino actualizând toți pinii cu datele primite. Dacă au trecut 0.5s de la ultima măsurare a temperaturii și umidității măsor iar temperatura și umiditatea, iar datele vor fi trimise la următorul loop.
Pentru comunicarea cu potențiometrele conectate la led-uri am făcut funcția potDigitalWrite ce trimite prin SPI, valoarea primită, potențiometrului selectat prin CS.
Pentru citirea valorilor de la DHT22 am creat funcția readAndSetTempAndHumidity ce citește temperatura și umiditatea și scrie valorile primite în bufferele ce vor fi trimise către aplicație la următorul loop.

Concluzii

Am realizat o machetă din carton a casei și a camerei din casă.
Am vrut să fie apropiată de una reală și m-am gândit ca circuitele ar fi cumva între pereți, de aceea existând o cutie în altă cutie.
Nu sunt cele mai frumoase cablaje, fiind multe lucruri de conectat și spațiu destul de mic, dar am dorit doar ca încăperea (cutia albă) sa fie cea ferită de cablaje, și am reușit acest lucru.

Poze:


Link demo:
https://youtube.com/shorts/LFZy_9hHiIE?feature=share

Am atins ce am vrut să realizez, un sistem SmartHome cu o aplicație mobile ce este funcțional.

Download

Jurnal

21.04.2022 Alegere temă proiect și căutare componente
22.04.2022 Creare Wiki
23.05.2022 Adăugare cod sursă, poze realizate și arhivă proiect
26.05.2022 Adăugare diagramă activități
27.05.2022 Adăugare demo
31.05.2022 Adăugare rezultate

Bibliografie/Resurse

Resurse Software :

Resurse Hardware :

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2022/abirlica/smart_home_system.txt · Last modified: 2022/05/31 00:14 by iulian_ilie.dracea
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0