Differences

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

Link to this comparison view

pm:prj2021:abirlica:sistem_de_iluminare [2021/04/30 18:38]
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 == 
 + 
 +{{:​pm:​prj2021:​abirlica:​pm_diagrama.png?​400|}}
  
-{{:​pm:​prj2021:​abirlica:​cool_turing.png?​200|}} 
 ===== Hardware Design ===== ===== Hardware Design =====
 Lista de piese: Lista de piese:
-  * Arduino+  * Arduino ​UNO
   * Breadboard   * Breadboard
-  * Senzor de miscare +  * Senzor de miscare ​(PIR) 
-  * Senzor de lumina +  * Senzor de lumina ​(Fotorezistor) 
-  * Receiver ​infrarosu+  * Receptor infrarosu 
 +  * Telecomanda ​infrarosu
   * Fire jumper   * Fire jumper
 +  * Rezistenta
   * LED-uri   * LED-uri
 +
 +== Schema Tinkercad ==
 +
 +{{:​pm:​prj2021:​abirlica:​cool_turing.png?​600|}}
 +
 +== Schema Electrica Eagle ==
 +
 +{{:​pm:​prj2021:​abirlica:​schema_electrica_sistem_iluminare.png?​600|}}
  
 ===== Software Design ===== ===== Software Design =====
 +== Mediu de Dezvoltare ==
  
-===== Rezultate ​Obtinure ​=====+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 == 
 +IRemote - pentru interactiunea telecomanda - senzor IR 
 + 
 + 
 +== 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 =====
 +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>​
  
 +Cod sursa: {{:​pm:​prj2021:​abirlica:​336cb_baruta_daniel_mihail_sistem_de_iluminare.zip|}}
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
 +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.1619797094.txt.gz · Last modified: 2021/04/30 18:38 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