This is an old revision of the document!
Sistem de Iluminare
Autor: Baruta Daniel Mihail
Introducere
Sistem de iluminare autonom bazat pe un senzor de miscare si unul de intensitate luminoasa.
Descriere Generala
La detectarea unei persoane acesta va aprinde un led doar daca intensitatea luminoasa este sub un anumit nivel. Un timer va opri led-ul dupa 7 secunde daca senzorul nu mai detecteaza miscare. Poate fi comandat prin infrarosu cu urmatoarele comenzi: sa ramana mereu aprins, sau mereu stins, mareste/micsoreaza intensitatea luminoasa a led-ului.
Schema Bloc
Hardware Design
Schema Tinkercad
Schema Electrica Eagle
Software Design
Mediu de Dezvoltare
Pentru mediul de dezvoltare am ales Arduino IDE si Tinkercad, unde in cel din urma am simulat initial intreg proiectul.
Biblioteci
IRemote - pentru interactiunea cu senzorul IR
Surse şi funcţii implementate
main.ino:
bool isDark() - printr-un pin analog se afla teensiunea pe fotorezistenta, iar daca aceasta este peste o anumita valoare inseamna ca este intuneric. De aseamenea flag-ul shouldLight este implicat.
void checkMotion() - se verifica daca pinul digital corespunzator PIR-ului este HIGH(detecteaza miscare)/LOW(nu detecteaza miscare). Aici se seteaza flag-ul shouldLight si se reseteaza timer-ul.
ISR(TIMER1_COMPA_vect) - intrerupere pentru timer-ul care opreste lumina
void setup() - se seteaza timer0 pentru fast pwm, timer1 pentru contorizarea duratei de iluminare, se porneste receiver-ul de IR si USART-ul
void loop() - pasii sunt urmatorii: se verifica daca se detecteaza miscare, se executa comenzile de la IR daca exista, se seteaza dutyCycle-ul pentru LED in functie de modul de iluminare
Rezultate Obtinure
Concluzii
Download
Bibliografie/Resurse