Differences

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

Link to this comparison view

pm:prj2021:agrigore:lamp [2021/05/22 18:50]
aghiculescu [Lista de piese]
pm:prj2021:agrigore:lamp [2021/05/31 11:08] (current)
aghiculescu [Componenete]
Line 12: Line 12:
 ==== Schema bloc ==== ==== Schema bloc ====
  
-{{:​pm:​prj2021:​agrigore:​smartlampdiagram.png?500|}}+{{:​pm:​prj2021:​agrigore:​final-diagram-smart-lamp.png?450|}}
  
 ==== Componenete ==== ==== Componenete ====
   - Modul sunet OKY3131 OKYSTAR: folosit pentru a capta batai/​intensitate sonora   - Modul sunet OKY3131 OKYSTAR: folosit pentru a capta batai/​intensitate sonora
 +  - Modul RTC
   - Arduino: folosit pentru a seta intervalul orar si pentru a configura LED-ul si modulul pentru sunet   - Arduino: folosit pentru a seta intervalul orar si pentru a configura LED-ul si modulul pentru sunet
   - Led: //lampa// proiectului   - Led: //lampa// proiectului
Line 46: Line 47:
 ===== Software Design ===== ===== Software Design =====
  
-=== LED-urile RGB (lampa) ​===+== LED-urile RGB (lampa) ==
 Pentru **colorarea led-urilor** in diferite culori si intensitati se foloseste **analogWrite** si pentru asta este folosita o functie **setColorRGB** care primeste ca parametri 3 valori pentru **red, green, blue**. Pinii corespunzatori red, green, blue sunt setati pe modul **OUTPUT**. Pentru **colorarea led-urilor** in diferite culori si intensitati se foloseste **analogWrite** si pentru asta este folosita o functie **setColorRGB** care primeste ca parametri 3 valori pentru **red, green, blue**. Pinii corespunzatori red, green, blue sunt setati pe modul **OUTPUT**.
  
-=== Butoanele ​===+== Butoanele ==
 Pentru **folosirea butoanelor** si a functionalitatilor lor, pinii corespunzatori acestora sunt setati pe modul **INPUT_PULLUP** si se foloseste **digitalRead**. Pentru **folosirea butoanelor** si a functionalitatilor lor, pinii corespunzatori acestora sunt setati pe modul **INPUT_PULLUP** si se foloseste **digitalRead**.
  
-=== Modulul pentru sunet cu microfon ​===+== Modulul pentru sunet cu microfon ==
 Pentru **modulul sonor** cu microfon, pinul corespunzator A0 este setat pe modul **INPUT**. Exista cele doua moduri: Pentru **modulul sonor** cu microfon, pinul corespunzator A0 este setat pe modul **INPUT**. Exista cele doua moduri:
   * **music on**: care foloseste **analogRead** de pe pinul pentru sunet si converteste valoarea citita la niste valori ce pot fi comparate cu un vectori de valori in functie de care se decide ce culoare sa fie folosita pentru led-uri.   * **music on**: care foloseste **analogRead** de pe pinul pentru sunet si converteste valoarea citita la niste valori ce pot fi comparate cu un vectori de valori in functie de care se decide ce culoare sa fie folosita pentru led-uri.
   * **music off**: foloseste o serie de 300 de **analogRead**uri pentru care se face medie, iar daca rezultatul final depaseste o anumita valoare, atunci lampa se stinge/​aprinde.   * **music off**: foloseste o serie de 300 de **analogRead**uri pentru care se face medie, iar daca rezultatul final depaseste o anumita valoare, atunci lampa se stinge/​aprinde.
  
-=== Ceas RTC ===+== Ceas RTC ==
 Pentru **ceasul RTC** se foloseste o biblioteca specifica numita **RTClib.h** care are diverse functii pentru data si ora. Pentru lampa inteligenta avem nevoie doar de functia pentru ora **now.hour()**,​ unde **now** este o variabila luata dintr-o structura specifica **rtc**. In functie de ora curenta se decide daca lampa se stinge sau se aprinde astfel: Pentru **ceasul RTC** se foloseste o biblioteca specifica numita **RTClib.h** care are diverse functii pentru data si ora. Pentru lampa inteligenta avem nevoie doar de functia pentru ora **now.hour()**,​ unde **now** este o variabila luata dintr-o structura specifica **rtc**. In functie de ora curenta se decide daca lampa se stinge sau se aprinde astfel:
   * daca lampa este aprinsa si iesim din intervalul de folosire, aceasta se stinge   * daca lampa este aprinsa si iesim din intervalul de folosire, aceasta se stinge
Line 63: Line 64:
   * in oricare dintre situatiile precedente, putem aprinde/​stinge lampa de la butonul on/off sau prin batai din palme daca aceasta nu este in modul pentru muzica   * in oricare dintre situatiile precedente, putem aprinde/​stinge lampa de la butonul on/off sau prin batai din palme daca aceasta nu este in modul pentru muzica
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
-//todo//+ 
 +Lampa inteligenta se aprinde/stinge singura in functie de un interval orar predefinit (poate fi setat din cod) si raspunde la batai din palme pentru a se atinge si stinge. Modul de muzica este foarte interesant, acesta poate fi activat din butonul de pe lampa. Per total, pentru un prim proiect sunt multumit.  
 + 
 +Imagini cu rezultatul final: 
 + 
 +{{:​pm:​prj2021:​agrigore:​poza-fata.jpeg?​350|}} 
 +{{:​pm:​prj2021:​agrigore:​poza-spate.jpeg?​350|}} 
 + 
 +Video cu prezentarea proiectului:​ 
 +https://www.youtube.com/watch?​v=zJ9fyh92RpE
 ===== Concluzii ===== ===== Concluzii =====
-//todo//+Proiectarea cu Microprocesoare este un domeniu atat pentru proiecte complexe cat si pentru proiecte micute, ce pot fi folosite in viata de zi cu zi, in principiu diverse automatizari pentru aparate relativ simpliste. Lampa inteligenta este un exemplu perfect de imbinare a acestei materii cu o utilitate rapida, dar interesanta si utila.
 ===== Download ===== ===== Download =====
-//todo// +Arhiva continecodul sursa, doua imagini si schematicul.
-===== Jurnal ===== +
-//todo// +
-===== Bibliografie ===== +
-{{:pm:​prj2021:​agrigore:​smart_lamp.pdf|}}+
  
-[[pm:​prj2021:​agrigore:​lamp|]]+{{:​pm:​prj2021:​agrigore:​pm_smart_lamp_ghiculescu_alexandru.zip|Arhiva Ghiculescu Alexandru}} 
 +===== Jurnal ===== 
 +  * **23 apr 2021** alegere tema 
 +  * **26 apr 2021** cumparare componente (fara modul RTC) 
 +  * **29 apr 2021** testare componente: ​ am verificat cum merge modulul pentru sunet, reactiona la batai din palme perfect 
 +  * **5 mai 2021** am realizat ca pentru partea de aprindere/​stingere automata in functie de intervalul orar am nevoie de un ceas, asa ca am comandat acel modul RTC 
 +  * **7 mai 2021** am adaugat functionalitatea de music mode, folosind modulul sonor 
 +  * **10 mai 2021** am testat ceasul RTC, afisand data curenta 
 +  * **11 mai 2021** am adaugat functionalitatea de aprindere/​stingere in functie de ore, folosind modulul RTC 
 +  * **22 mai 2021** am finalizat proiectul aranjand codul si componentele pe breadboard, facand pozele si un filmulet de prezentare 
 +===== Bibliografie =====  
 +  * [[https://​github.com/​BrainSmash/​Arduino-Acoustic-Control-for-RGB-LED-Strip/​blob/​master/​BrainSmash_AcousticControlForRGBLEDStrips_6_2019.ino|Arduino Acoustic Control pentru music mode]] 
 +  * [[https://​ardushop.ro/​ro/​home/​1314-modul-microfon-senzor-sunet.html?​search_query=Modul+microfon%2C+senzor+sunet&​results=417|Utilizare Modul Sonor pentru batai din palme]] 
 +  * [[https://​learn.adafruit.com/​adafruit-ds3231-precision-rtc-breakout/​arduino-usage|Documentatie RTClib]] 
 +  * {{:​pm:​prj2021:​agrigore:​smart_lamp_cs_open_courseware_.pdf|Wiki PDF}} 
 +  * [[pm:​prj2021:​agrigore:​lamp|]]
  
pm/prj2021/agrigore/lamp.1621698641.txt.gz · Last modified: 2021/05/22 18:50 by aghiculescu
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