Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2021:abirlica:sistem_de_iluminare [2021/05/22 16:25]
daniel.baruta
pm:prj2021:abirlica:sistem_de_iluminare [2021/05/30 22:37] (current)
daniel.baruta
Line 5: Line 5:
  
 ===== Descriere Generala ===== ===== 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 15 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.+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 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 == == Schema Bloc ==
Line 25: Line 25:
 == Schema Tinkercad == == Schema Tinkercad ==
  
-{{:​pm:​prj2021:​abirlica:​cool_turing.png?​400|}}+{{:​pm:​prj2021:​abirlica:​cool_turing.png?​600|}}
  
 == Schema Electrica Eagle == == Schema Electrica Eagle ==
  
-{{:​pm:​prj2021:​abirlica:​schema_electrica_sistem_iluminare.png?​300|}}+{{:​pm:​prj2021:​abirlica:​schema_electrica_sistem_iluminare.png?​600|}}
  
 ===== Software Design ===== ===== Software Design =====
Line 35: Line 35:
  
 Pentru mediul de dezvoltare am ales Arduino IDE si Tinkercad, unde in cel din urma am simulat initial intreg proiectul. 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: ​
 +
 +<​html><​pre class="​code">​
 +#define VOLUME_UP ​    ​0xE0E0E01F
 +#define VOLUME_DOWN ​  ​0xE0E0D02F
 +#define ON            0xE0E020DF
 +#define OFF           ​0xE0E0A05F
 +#define NORMAL ​       0xE0E08877
 +</​pre></​html>​
  
 == Biblioteci == == Biblioteci ==
-IRemote - pentru interactiunea ​cu senzorul ​IR +IRemote - pentru interactiunea ​telecomanda - senzor ​IR 
-===== Rezultate ​Obtinure ​===== + 
-TODO+ 
 +== Organigrama == 
 + 
 +{{:​pm:​prj2021:​abirlica:​pm_organigrama_sistem_iluminare.png?​400|}} 
 + 
 +===== Rezultate ===== 
 + 
 +{{:​pm:​prj2021:​abirlica:​poza_sistem_iluminare.jpg?​600|}} 
 + 
 +Demo: https://​drive.google.com/​file/​d/​1JiH8TtBK9nNhU0lMdJn_xoguoG8aJpXA/​view?​usp=sharing 
 ===== Concluzii ===== ===== Concluzii =====
-TODO+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 ===== ===== Download =====
 <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
 +
 +Cod sursa: {{:​pm:​prj2021:​abirlica:​336cb_baruta_daniel_mihail_sistem_de_iluminare.zip|}}
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
-TODO+https://​www.makerguides.com/​hc-sr501-arduino-tutorial/​ 
 + 
 +https://​www.tinkercad.com/​dashboard 
 + 
 +https://​ocw.cs.pub.ro/​courses/​_media/​pm/​atmel-7810-automotive-microcontrollers-atmega328p_datasheet.pdf
  
  
pm/prj2021/abirlica/sistem_de_iluminare.1621689954.txt.gz · Last modified: 2021/05/22 16:25 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