This shows you the differences between two versions of the page.
pm:prj2025:ccristi:andreea.traistaru03 [2025/05/26 21:38] andreea.traistaru03 [Bibliografie/Resurse] |
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 ===== | ||
+ | |||
===== Download ===== | ===== Download ===== | ||
<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> | ||
Line 111: | Line 113: | ||
* 17 mai: implementare software cu functii arduino | * 17 mai: implementare software cu functii arduino | ||
* 24 mai: implementare software utilizand concepte laborator | * 24 mai: implementare software utilizand concepte laborator | ||
+ | * 26 mai: am construit proiectul pe placuta de prototipare + modificare cod | ||
</note> | </note> | ||
Line 120: | Line 123: | ||
* [SenzorPIRHC-SR501](https://www.electronics-tutorials.ws/io/io_4.html) (datasheet: [pdf](https://cdn.sparkfun.com/datasheets/Sensors/Proximity/HCSR501.pdf)) | * [SenzorPIRHC-SR501](https://www.electronics-tutorials.ws/io/io_4.html) (datasheet: [pdf](https://cdn.sparkfun.com/datasheets/Sensors/Proximity/HCSR501.pdf)) | ||
* [ModulBluetoothHC-05](https://components101.com/wireless/hc-05-bluetooth-module) (datasheet: [pdf](https://cdn.sparkfun.com/datasheets/Wireless/Bluetooth/rn-42-ds.pdf)) | * [ModulBluetoothHC-05](https://components101.com/wireless/hc-05-bluetooth-module) (datasheet: [pdf](https://cdn.sparkfun.com/datasheets/Wireless/Bluetooth/rn-42-ds.pdf)) | ||
- | * [DisplayLCD16x2HD44780](https://www.electronicwings.com/nodemcu/lcd-16x2-interfacing-with-nodemcu) (datasheet: [pdf](https://www.sparkfun.com/datasheets/LCD/HD44780.pdf)) | + | * [DisplayLCD16x2HD44780](https://www.electronicwings.com/nodemcu/lcd-16x2-interfacing-with-nodemcu)(datasheet:[pdf](https://www.sparkfun.com/datasheets/LCD/HD44780.pdf)) |
Resurse Software: | Resurse Software: | ||
- | * [ArduinoIDE](https://www.arduino.cc/en/software) / [PlatformIO](https://platformio.org/) | + | * [ArduinoIDE](https://www.arduino.cc/en/software) /[PlatformIO](https://platformio.org/) |
* [LibrariaLiquidCrystal](https://www.arduino.cc/en/Reference/LiquidCrystal) | * [LibrariaLiquidCrystal](https://www.arduino.cc/en/Reference/LiquidCrystal) | ||
* [LibrariaSoftwareSerial](https://www.arduino.cc/en/Reference/softwareSerial) | * [LibrariaSoftwareSerial](https://www.arduino.cc/en/Reference/softwareSerial) |