This shows you the differences between two versions of the page.
pm:prj2023:danield:smart-lights [2023/05/29 12:55] mihai.stoica2205 [Bibliografie/Resurse] |
pm:prj2023:danield:smart-lights [2023/05/29 13:34] (current) mihai.stoica2205 [Software Design] |
||
---|---|---|---|
Line 62: | Line 62: | ||
* Modulele ce comunica prin RF (1 si 2), au implementata o structura numita ''Package'' cu doua campuri: ''state'' - indica starea senzorului de miscare (1 atunci cand detecteaza miscarea, 0 atunci cand nu o detecteaza) si ''id'' - folosit pentru a identifica pachetele trimise. | * Modulele ce comunica prin RF (1 si 2), au implementata o structura numita ''Package'' cu doua campuri: ''state'' - indica starea senzorului de miscare (1 atunci cand detecteaza miscarea, 0 atunci cand nu o detecteaza) si ''id'' - folosit pentru a identifica pachetele trimise. | ||
* Modulele bluetooth au fost setate cu rol de master/slave folosind comenzi AT. | * Modulele bluetooth au fost setate cu rol de master/slave folosind comenzi AT. | ||
- | * O biblioteca Arduino, ''LowPower.h'' (()), este utilizata pentru a face ca modulul 1 si modulul 3 sa transmita date o data la 8 secunde, iar in rest sa intre in modul ''powerDown'', cu scopul de a economisi putere. | + | * O biblioteca Arduino, ''LowPower.h'', este utilizata pentru a face ca modulul 1 si modulul 3 sa transmita date o data la 8 secunde, iar in rest sa intre in modul ''powerDown'', cu scopul de a economisi putere. |
**Modulul 1**: | **Modulul 1**: | ||
Line 88: | Line 88: | ||
} | } | ||
</code> | </code> | ||
- | * Culoarea led-ului RGB este setata folosind functia analogWrite in functia setColor. | + | * Culoarea led-ului RGB este setata folosind functia ''analogWrite'' in functia ''setColor''. |
<code> | <code> | ||
void setColor(int R, int G, int B) { | void setColor(int R, int G, int B) { | ||
Line 98: | Line 98: | ||
**Modulul 3**: | **Modulul 3**: | ||
- | * Pentru LCD este folosita biblioteca ''LiquidCrystal_I2C.h'' (()). Pentru DHT11 se foloseste biblioteca ''dht11.h''. | + | * Pentru LCD este folosita biblioteca ''LiquidCrystal_I2C.h''. Pentru DHT11 se foloseste biblioteca ''dht11.h''. |
* In functia ''setup'' este initializat lcd-ul si este efectuata o prima masuratoare si afisare. | * In functia ''setup'' este initializat lcd-ul si este efectuata o prima masuratoare si afisare. | ||
- | * In functia loop se citeste temperatura masurata de catre DHT folosind functia ''DHT11.read()'', iar apoi este afisata pe LCD. Este trimisa valoarea masurata prin bluetooth, folosind interfata seriala, iar dupa trimiterea unei valori Arduino intra in modul low power pentru 8 secunde, folosind functia ''powerDown'' de mai sus. | + | * In functia loop se citeste temperatura masurata de catre DHT folosind functia ''DHT11.read'', iar apoi este afisata pe LCD. Este trimisa valoarea masurata prin bluetooth, folosind interfata seriala, iar dupa trimiterea unei valori Arduino intra in modul low power pentru 8 secunde, folosind functia ''powerDown'' de mai sus. |
<code> | <code> | ||
int chk = DHT11.read(DHT11PIN); | int chk = DHT11.read(DHT11PIN); | ||
Line 116: | Line 116: | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | https://youtu.be/Mroa0k1NPPg |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | |
- | ===== Concluzii ===== | + | ===== Concluzii si sugestii imbunatatire ===== |
- | ===== Download ===== | + | Sistemul distribuit permite amplasarea modulelor in diferite pozitii ale camerei, la distante ce depind de specificatiile hardware ale modulelor nRF si bluetooth. |
- | <note warning> | + | Consumul de putere a fost minimizat prin utilizarea bibliotecii Arduino mentionate in descrierea implementarii. |
- | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). | + | |
- | Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:pm:prj20??:c?** sau **:pm:prj20??:c?:nume_student** (dacă este cazul). **Exemplu:** Dumitru Alin, 331CC -> **:pm:prj2009:cc:dumitru_alin**. | + | Functionalitatea proiectului poate fi imbunatatita prin adaugarea unui senzor de intesitate luminoasa si reglarea luminii led-ului in functie de acesta. |
- | </note> | + | |
+ | Pentru a obtine luminozitate mai buna, pot fi adaugate mai multe led-uri sau alte tipuri de led. | ||
+ | ===== Download ===== | ||
- | ===== Jurnal ===== | + | {{:pm:prj2023:danield:smart-lights.zip|}} |
- | <note tip> | ||
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | ||
- | </note> | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== |