This shows you the differences between two versions of the page.
pm:prj2025:ccristi:andreea.traistaru03 [2025/05/19 10:18] andreea.traistaru03 [Hardware Design] |
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 |
- | Descrierea codului aplicaţiei (firmware): | + | |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | |
- | * (etapa 3) surse şi funcţii implementate | + | |
- | </note> | + | |
+ | Firmware-ul este scris in 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). | ||
+ | |||
+ | * Rutine de citire pentru buton cu debounce si senzor PIR. | ||
+ | |||
+ | * Controlul LED-urilor in functie de senzor si comenzi. | ||
+ | |||
+ | * Interfata cu utilizatorul prin LCD si Bluetooth UART. | ||
+ | |||
+ | * Logare a evenimentelor de miscare prin Bluetooth. | ||
+ | **Mediu de dezvoltare:** | ||
+ | * Platforma utilizata: Arduino IDE | ||
+ | * Microcontroler: ATmega328P | ||
+ | * Toolchain: AVR-GCC + Arduino Core + AVR Libc | ||
+ | * Alte unelte: avr/io.h, util/delay.h pentru control low-level | ||
+ | |||
+ | **Algoritmi si structuri implementate:** | ||
+ | * 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. | ||
+ | * Actualizare LCD inteligenta: verifica daca textul este diferit inainte de a rescrie liniile, pentru a reduce flicker-ul. | ||
+ | * Control LED-uri pe baza senzorului PIR: LED-ul se aprinde doar daca se detecteaza miscare si se respecta selectia (rosu sau verde). | ||
+ | * Bufferizare si formatare text pentru trimiterea datelor prin Bluetooth (sprintf in printBuffer). | ||
+ | * Protectie intreruperi (cli() / sei()) la actualizarea mesajelor pe LCD, pentru consistenta. | ||
+ | </note> | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
<note tip> | <note tip> | ||
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | DEMO: https://drive.google.com/file/d/1_f0R-Ac0D2NqhR1YbWh6enbfPSf868oR/view?usp=sharing |
- | </note> | + | |
+ | Sistemul utilizeaza un senzor PIR pentru a detecta miscarea. | ||
+ | Doua LED-uri (rosu si verde) indica starea sistemului: | ||
+ | * Rosu: aprins la comanda primita sau buton, daca exista miscare. | ||
+ | * Verde: aprins la comanda primita sau buton, daca exista miscare. | ||
+ | * Ambele LED-uri stinse daca nu exista miscare. | ||
+ | Starea LED-urilor poate fi schimbata fie cu un buton fizic, fie prin Bluetooth. | ||
+ | Afisajul LCD prezinta starea curenta (miscare, LED aprins/stins). | ||
+ | Cu ajutorul modulului Bluetooth, utilizatorul poate trimite comenzi pentru a schimba culoarea LED-ului aprins. | ||
+ | </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 78: | Line 105: | ||
<note tip> | <note tip> | ||
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | * 5 mai: incepere documentare proiect |
+ | * 7 mai: comanda piese | ||
+ | * 14 mai: implementare hardware senzor pir + 1 led | ||
+ | * 15 mai: implementare hardware buton + 2 led-uri | ||
+ | * 15 mai: comanda bluetooth | ||
+ | * 16 mai: implementare hardware proiect final | ||
+ | * 17 mai: implementare software cu functii arduino | ||
+ | * 24 mai: implementare software utilizand concepte laborator | ||
+ | * 26 mai: am construit proiectul pe placuta de prototipare + modificare cod | ||
</note> | </note> | ||
Line 84: | Line 119: | ||
<note> | <note> | ||
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | Resurse Hardware: |
- | </note> | + | * [Placadedezvoltare Arduino UNO (ATmega328P)](https://store.arduino.cc/products/arduino-uno-rev3). |
+ | * [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)) | ||
+ | * [DisplayLCD16x2HD44780](https://www.electronicwings.com/nodemcu/lcd-16x2-interfacing-with-nodemcu)(datasheet:[pdf](https://www.sparkfun.com/datasheets/LCD/HD44780.pdf)) | ||
+ | Resurse Software: | ||
+ | * [ArduinoIDE](https://www.arduino.cc/en/software) /[PlatformIO](https://platformio.org/) | ||
+ | * [LibrariaLiquidCrystal](https://www.arduino.cc/en/Reference/LiquidCrystal) | ||
+ | * [LibrariaSoftwareSerial](https://www.arduino.cc/en/Reference/softwareSerial) | ||
+ | </note> | ||
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||
+ | |||
+ | |||