Smart Lamp - Savu Paul Cristian

Introducere

Proiectul consta intr-o lampa inteligenta care are 6 moduri:

  1. LED-urile isi ajusteaza automat intensitatea in functie de lumina ambientala
  2. LED-urile pornesc doar atunci cand cineva se afla in apropiere
  3. LED-urile lumineaza formand un curcubeu in miscare
  4. LED-urile isi regleaza culoarea in functie de temperatura din camera
  5. LED-urile imita un semnal sinusoidal
  6. LED-urile sunt oprite

Independent de aceste doua moduri, lampa va avea senzori de temperatura si umiditate, detectand valorile acestora si afisandu-le pe un ecran LCD. In plus, daca temperatura sau umiditatea sar de un anumit prag, lampa va semnaliza acest lucru prin declansarea unui sunet emis de un buzzer si pornirea unui ventilator.

Scopul este nu numai de uz casnic, dar si de informare cu privire la calitatea aerului/temperaturii din camera.

Descriere generală

Asa cum este ilustrat in imaginea de mai sus, placa Arduino este elementrul central al proiectului. Toate componentele din schema sunt conectate la placa, functionand la o tensiune de 5V, iar sursa de alimentare este externa, prin cablul USB.

Componente de intrare
  • Buton – Permite utilizatorului să comute între două moduri de funcționare (iluminare în funcție de proximitate sau de lumina ambientală).
  • Senzor ultrasonic – Măsoară distanța pentru a aprinde banda de LED-uri când cineva se apropie.
  • Senzor de temperatură și umiditate – Trimite date către Arduino pentru a fi afișate pe ecran și pentru a declanșa ventilatorul sau buzzer-ul în cazul in care temperatura depaseste un anumit prag.
  • LDR – Senzor ce detecteaza gradul de intensitate al luminii ambientale.
Componente de iesire
  • LCD (I2C) – Afișează temperatura, umiditatea si ofera feedback despre calitatea aerului.
  • Buzzer – Emite un semnal sonor în cazul în care temperatura depășește o limită predefinită.
  • Banda LED-uri WS2812 – Este folosită pentru iluminare, iar intensitatea și culoarea pot fi controlate în funcție de mod și senzori.
  • Ventilator – Se activează automat când temperatura este prea mare.

Hardware Design

Schema Electrica

Schema difera de circuitul fizic prin amplasamentul catorva pini (pentru a evita suprapunerea liniilor pe schema electrica), precum si prin faptul ca senzorul din schema este doar de temperatura (avand 3 pini), iar cel din circuitul fizic este atat de temperatura, cat si de umiditate (avand 4 pini).

De asemenea, banda WS2812 contine 30 de LED-uri in circuitul fizic, spre deosebire de cea cu 20 de LED-uri din schema electrica.

Conexiuni pini

Pin Arduino Componentă conectată Tip pin
2 Buton Digital
6 Bandă LED WS2812 Digital
7 Senzor DHT11 (temperatură si umiditate) Digital
9 Trigger (Ultrasonic) Digital
10 Echo (Ultrasonic) Digital
11 Buzzer Digital
12 Ventilator (prin MOSFET) Digital
A0 LDR (fotorezistenta) Analogic
A4 SDA (LCD) Analogic
A5 SCL (LCD) Analogic

Lista piese

Software Design

Mediu de dezvoltare: Arduino IDE

Librarii folosite:

  • Adafruit_NeoPixel.h - WS2812 LED strip
  • LiquidCrystal_I2C.h - Afisaj LCD I2C
  • Wire.h - comunicarea I2C
  • DHT.h - Senzor de temperatura si umiditate DHT11

Lampa are 5 moduri intre care se poate comuta la apasarea unui buton. Trecerea de la un mod la altul este liniara (0 → 1 → 2 → 3 → 4 → 0), iar cele 5 moduri sunt:

  • mode_0 (Automatic Intensity Mode): LED-urile sunt setate pe culoarea alba si isi regleaza intensitatea in functie de lumina ambientala captata de LDR. Am realizat niste preprocesari ale intensitatii LED-urilor astfel incat sa fie cat mai vizibila si lina schimbarea intensitatii.
  • mode_1 (Detection Mode): LED-urile lumineaza doar daca senzorul ultrasunet detecteaza ceva in apropiere (la 50 cm distanta). Acestea se sting in momentul in care senzorul nu mai capteaza undele inapoi (adica obiectul din raza de 50 cm dispare).
  • mode_2 (Rainbow Mode): Modul Rainbow, in care LED-urile lumineaza formand in curcubeu animat. Acestea isi schimba culoarea continuu pentru a genera un gradient colorat in miscare.
  • mode_3 (Temperature to Colour): Pentru acest mod, se inregistreaza temperatura initiala la pornirea lampii cu ajutorul senzorului DHT11. Initial, LED-urile sunt de culoare mov (128, 0, 128), iar cantitatea de rosu, respectiv albastru, se regleaza in functie de diferenta dintre temperatura curenta si cea initial inregistrata. Astfel, daca in camera a crescut temperatura, atunci LED-urile isi vor schimba culoarea catre rosu, ajungand la un rosu intens. In schimb, daca a scazut temperatura, atunci LED-urile isi vor schimba culoarea catre albastru, ajungand la un albastru intens.
  • mode_4 (Breeze Mode): Modul breeze este un efect in care cele 30 de LED-uri imita un semnal sinusoidal, fiind setate pe culoarea albastru.
  • mode_5 (Off Mode): LED-urile sunt oprite.

Rezultate Obţinute

Concluzii

A fost un proiect de pe urma caruia am invatat si am acoperit foarte multe goluri pe care le aveam. A necesitat destul de mult efort, dar a fost un proces chiar foarte placut. In plus, a fost foarte satisfacator sa vad rezultatele in urma realizarii circuitului si codului 🥳

Bibliografie/Resurse

Resurse Hardware

Resurse Software

pm/prj2025/fstancu/paul_cristian.savu.txt · Last modified: 2025/05/27 23:05 by paul_cristian.savu
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