This shows you the differences between two versions of the page.
pm:prj2025:ccristi:andreea.traistaru03 [2025/05/26 21:50] andreea.traistaru03 [Concluzii] |
pm:prj2025:ccristi:andreea.traistaru03 [2025/05/27 22:42] (current) andreea.traistaru03 [Rezultate Obţinute] |
||
---|---|---|---|
Line 51: | Line 51: | ||
- | <note tip> | + | <note tip> Link GitHub: https://github.com/TraistaruAndreea/Proiect_PM |
- | Link github: https://github.com/TraistaruAndreea/Proiect_PM | + | |
+ | Firmware-ul este scris in limbajul C++ folosind extensia Arduino C pentru platforma AVR. Aplicatia este impartita in mai multe componente logice: | ||
- | Firmware-ul este scris în limbajul C++ folosind extensia Arduino C pentru platforma AVR. Aplicatia este impartita in mai multe componente logice: | ||
* Initializare hardware (pini, PWM pentru contrast, UART pentru Bluetooth, LCD). | * Initializare hardware (pini, PWM pentru contrast, UART pentru Bluetooth, LCD). | ||
+ | |||
* Rutine de citire pentru buton cu debounce si senzor PIR. | * Rutine de citire pentru buton cu debounce si senzor PIR. | ||
+ | |||
* Controlul LED-urilor in functie de senzor si comenzi. | * Controlul LED-urilor in functie de senzor si comenzi. | ||
+ | |||
* Interfata cu utilizatorul prin LCD si Bluetooth UART. | * Interfata cu utilizatorul prin LCD si Bluetooth UART. | ||
+ | |||
* Logare a evenimentelor de miscare prin Bluetooth. | * Logare a evenimentelor de miscare prin Bluetooth. | ||
- | </note> | ||
**Mediu de dezvoltare:** | **Mediu de dezvoltare:** | ||
* Platforma utilizata: Arduino IDE | * Platforma utilizata: Arduino IDE | ||
Line 69: | Line 72: | ||
**Algoritmi si structuri implementate:** | **Algoritmi si structuri implementate:** | ||
* Debounce software pentru buton, cu verificare temporala pentru a preveni declansari multiple false. | * Debounce software pentru buton, cu verificare temporala pentru a preveni declansari multiple false. | ||
- | * Comunicare UART (Bluetooth): Trimitere si receptie caractere pentru control de la distanta. | + | * Comunicare UART (Bluetooth): trimitere si receptie caractere pentru control de la distanta. |
- | * Actualizare LCD inteligenta: Verificare daca textul este diferit inainte de a rescrie liniile, pentru a reduce flickerul. | + | * Actualizare LCD inteligenta: verifica daca textul este diferit inainte de a rescrie liniile, pentru a reduce flicker-ul. |
- | * PWM software pentru contrast LCD: Configurarea Timer2 pentru a controla contrastul cu semnal PWM. | + | * Control LED-uri pe baza senzorului PIR: LED-ul se aprinde doar daca se detecteaza miscare si se respecta selectia (rosu sau verde). |
- | * Control LED-uri pe baza senzorului PIR: LED-ul se aprinde doar daca se detecteaza miscare si se respecta selecția (roșu sau verde). | + | |
* Bufferizare si formatare text pentru trimiterea datelor prin Bluetooth (sprintf in printBuffer). | * Bufferizare si formatare text pentru trimiterea datelor prin Bluetooth (sprintf in printBuffer). | ||
* Protectie intreruperi (cli() / sei()) la actualizarea mesajelor pe LCD, pentru consistenta. | * Protectie intreruperi (cli() / sei()) la actualizarea mesajelor pe LCD, pentru consistenta. | ||
+ | </note> | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
<note tip> | <note tip> | ||
- | DEMO: https://drive.google.com/file/d/1DEUVdvyK9fOgoo8MIOhrf3hwXjjv0tFv/view?usp=sharing | + | DEMO: https://drive.google.com/file/d/1_f0R-Ac0D2NqhR1YbWh6enbfPSf868oR/view?usp=sharing |
Sistemul utilizeaza un senzor PIR pentru a detecta miscarea. | Sistemul utilizeaza un senzor PIR pentru a detecta miscarea. | ||
Line 89: | Line 92: | ||
Cu ajutorul modulului Bluetooth, utilizatorul poate trimite comenzi pentru a schimba culoarea LED-ului aprins. | Cu ajutorul modulului Bluetooth, utilizatorul poate trimite comenzi pentru a schimba culoarea LED-ului aprins. | ||
</note> | </note> | ||
+ | {{:pm:prj2025:ccristi:whatsapp_image_2025-05-27_at_20.35.24_6e382c04.jpg?300|}}{{:pm:prj2025:ccristi:whatsapp_image_2025-05-27_at_20.35.30_8d913efd.jpg?300|}} | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
Line 96: | Line 99: | ||
<note warning> | <note warning> | ||
- | 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ă ;-). | + | {{:pm:prj2025:ccristi:traistaru_andreea_cosmina_332cd_controler_lumina.zip|}} |
- | + | ||
- | 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**. | + | |
</note> | </note> | ||