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

Lista de piese:

  • Arduino UNO
  • Breadboard
  • Senzor de miscare (PIR)
  • Senzor de lumina (Fotorezistor)
  • Receptor infrarosu
  • Telecomanda infrarosu
  • Fire jumper
  • Rezistenta
  • LED-uri
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.

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

A fost nevoie sa hardcodez tastele venite de la telecomanda, pentru asta am folosit urmatoarele define-uri:

#define VOLUME_UP     0xE0E0E01F
#define VOLUME_DOWN   0xE0E0D02F
#define ON            0xE0E020DF
#define OFF           0xE0E0A05F
#define NORMAL        0xE0E08877

Biblioteci

IRemote - pentru interactiunea telecomanda - senzor IR

Organigrama

Rezultate

Concluzii

Am reusit sa implementez toata functionalitatea pe care le-am descris, astfel sistemul de iluminare reuseste ceea ce isi propune, si anume sa fie capabil sa preia comenzi prin infrarosu schimband modul de iluminare. De asemnea este capabil sa detecteze o persoana si sa aprinda sau nu lumina in functie de intensitatea luminoasa ambientala.

O parte dificila din implementare a fost reprezentata de configurarea PIR-ului. Implementarea software a fost rapida, necesitand consultarea ocazionala cu laboratoarele sau datasheet-ul pentru atmega.

Download

Bibliografie/Resurse

pm/prj2021/abirlica/sistem_de_iluminare.txt · Last modified: 2021/05/30 22:37 by daniel.baruta
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