This is an old revision of the document!
Controler lumina
Introducere
Ce face proiectul?
Proiectul constă într-un sistem de control automat al iluminatului, care folosește senzori de mișcare și lumină pentru a aprinde sau stinge lămpile în mod inteligent. Sistemul detectează prezența unei persoane printr-un senzor PIR conectat la un pin de întrerupere și ajustează starea luminilor în funcție de nivelul de lumină ambientală măsurat cu ajutorul unui senzor conectat la un pin ADC. De asemenea, folosește timere pentru a opri lumina automat după o perioadă de inactivitate. Prin UART, datele pot fi transmise către o aplicație externă pentru monitorizare.
Care este scopul proiectului?
Scopul proiectului este de a crește eficiența energetică și confortul utilizatorilor prin automatizarea iluminatului în funcție de condițiile din mediu. Sistemul elimină necesitatea acționării manuale a întrerupătoarelor și previne risipa de energie atunci când luminile rămân aprinse inutil.
Care a fost ideea de la care am pornit?
Ideea a pornit de la observația că în multe spații – cum ar fi holurile, băile sau camerele de trecere – luminile rămân aprinse chiar și atunci când nu este nimeni prezent. Am dorit să dezvolt un sistem care să automatizeze procesul de aprindere/stingere a luminilor și să reacționeze atât la prezență, cât și la lumina din mediu, fără intervenție manuală.
De ce cred că este util?
Acest proiect este util pentru oricine dorește să reducă consumul de energie și să își automatizeze locuința sau spațiul de lucru. Este o soluție accesibilă și ușor de integrat, care oferă atât beneficii economice, cât și funcționalitate inteligentă.
Descriere generală
Acest proiect reprezintă un sistem de iluminat automat controlat de un microcontroler Arduino UNO, care folosește senzori de mișcare și lumină pentru a aprinde sau stinge luminile în mod inteligent. Scopul său este de a optimiza consumul de energie și de a îmbunătăți confortul utilizatorului, eliminând necesitatea acționării manuale a luminilor.
}
Componente și interacțiuni
Arduino UNO este unitatea centrală de control care gestionează toate componentele sistemului, atât pe partea de intrare (senzori), cât și pe partea de ieșire (relee/lumină, comunicație, cronometrare).
Hardware Design
Lista piese:
Arduino ATMega328P
Senzor PIR
Buton
Led-uri
Bluetooth HC-05
LCD
Rezistente
Software Design
Firmware-ul este scris în limbajul C++ folosind extensia Arduino C pentru platforma AVR. Aplicatia este impartita in mai multe componente logice:
Initializare hardware (pini, PWM pentru contrast, UART pentru Bluetooth, LCD).
Rutine de citire pentru buton cu debounce si senzor PIR.
Controlul LED-urilor in functie de senzor si comenzi.
Interfata cu utilizatorul prin LCD si Bluetooth UART.
Logare a evenimentelor de miscare prin Bluetooth.
Mediu de dezvoltare:
Platforma utilizata: Arduino IDE
Microcontroler: ATmega328P
Toolchain: AVR-GCC + Arduino Core + AVR Libc
Alte unelte: avr/io.h, util/delay.h pentru control low-level
Algoritmi si structuri implementate:
Debounce software pentru buton, cu verificare temporala pentru a preveni declansari multiple false.
Comunicare UART (Bluetooth): Trimitere si receptie caractere pentru control de la distanta.
Actualizare LCD inteligenta: Verificare daca textul este diferit inainte de a rescrie liniile, pentru a reduce flickerul.
PWM software pentru contrast LCD: Configurarea Timer2 pentru a controla contrastul cu semnal PWM.
Control LED-uri pe baza senzorului PIR: LED-ul se aprinde doar daca se detecteaza miscare si se respecta selecția (roșu sau verde).
Bufferizare si formatare text pentru trimiterea datelor prin Bluetooth (sprintf in printBuffer).
Protectie intreruperi (cli() / sei()) la actualizarea mesajelor pe LCD, pentru consistenta.
Rezultate Obţinute
Care au fost rezultatele obţinute în urma realizării proiectului vostru.
Concluzii
Download
O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună

.
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.
Jurnal
Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.
Bibliografie/Resurse
Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.
Export to PDF