This shows you the differences between two versions of the page.
pm:prj2025:fstancu:itomita [2025/05/20 21:29] florin.stancu |
pm:prj2025:fstancu:itomita [2025/05/28 22:44] (current) itomita [Software Design] |
||
---|---|---|---|
Line 3: | Line 3: | ||
===== Introducere ===== | ===== Introducere ===== | ||
- | <note tip> | + | |
Prezentarea pe scurt a proiectului: | Prezentarea pe scurt a proiectului: | ||
* Ce face: | * Ce face: | ||
Line 16: | Line 16: | ||
* De ce cred că este util pentru alții și pentru mine: | * De ce cred că este util pentru alții și pentru mine: | ||
Cred că un astfel de coș ar fi foarte util în orașe, parcuri, școli sau clădiri publice, pentru a reduce poluarea, a evita contactul direct și a preveni vandalismul sau furtul. Pentru mine, acest proiect a fost o oportunitate de a învăța mai mult despre electronică, programare și soluții inteligente pentru probleme reale. | Cred că un astfel de coș ar fi foarte util în orașe, parcuri, școli sau clădiri publice, pentru a reduce poluarea, a evita contactul direct și a preveni vandalismul sau furtul. Pentru mine, acest proiect a fost o oportunitate de a învăța mai mult despre electronică, programare și soluții inteligente pentru probleme reale. | ||
- | </note> | + | |
===== Descriere generală ===== | ===== Descriere generală ===== | ||
Line 49: | Line 49: | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | **Mediu de dezvoltare**: //Arduino IDE// (placă Arduino UNO – ATmega328P + CH340) | ||
- | <note tip> | + | **Librării folosite**: |
- | Descrierea codului aplicaţiei (firmware): | + | * Servo.h – controlul servomotorului pentru deschiderea/închiderea capacului |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | * Adafruit_ADXL345_U.h – comunicare cu accelerometrul ADXL345 prin I²C |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | * LiquidCrystal_I2C – comunicare I²C între microcontroler accelerometru si LCD |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | |
- | * (etapa 3) surse şi funcţii implementate | + | |
- | </note> | + | |
- | ===== Rezultate Obţinute ===== | + | **Funcționalități implementate**: |
+ | * **Deschidere automată capac**: La detectarea mișcării prin senzorul PIR, capacul se deschide automat și rămâne deschis un timp prestabilit. | ||
+ | * **Detecție manipulare neautorizată**: Accelerometrul monitorizează mișcările bruște/inclinarea coșului și declanșează alarma sonoră. | ||
+ | * **Alarmă sonoră**: Un buzzer emite un sunet de avertizare în cazul unei manipulări neautorizate. | ||
+ | * **Afișaj LCD**: Afișează informații precum numarul de elemente introduse. | ||
- | <note tip> | + | **Motivația alegerii bibliotecilor**: |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | * Servo.h – interfață simplă și eficientă pentru controlul servomotorului |
- | </note> | + | * Adafruit_ADXL345_U.h – bibliotecă robustă pentru accelerometrul ADXL345 |
+ | * Wire.h – standard pentru comunicarea I²C | ||
- | ===== Concluzii ===== | + | **Elemente de noutate**: |
+ | * Integrarea senzorilo pentru a crea un coș inteligent | ||
+ | * Deschiderea automată a capacului fără contact fizic | ||
+ | * Detectarea tentativelor de manipulare și declanșarea unei alarme sonore | ||
+ | * Afișarea informațiilor utile pe un ecran LCD | ||
- | ===== Download ===== | + | **Justificarea utilizării funcționalităților din laborator**: |
+ | * **Întreruperi (Interrupts)**: reacționează prompt la semnalele PIR, pentru deschiderea rapidă a capacului | ||
+ | * **Timere**: gestionează durata de deschidere a capacului și timpul de activare a alarmei | ||
+ | * **PWM (Pulse Width Modulation)**: permite controlul precis al poziției servomotorului | ||
+ | * **I²C**: interfață pentru comunicarea cu accelerometrul ADXL345 | ||
- | <note warning> | + | **Structura proiectului și interacțiunea funcționalităților**: |
- | 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ă ;-). | + | * **Așteptare detectare mișcare**: Sistemul monitorizează senzorul PIR pentru a detecta prezența. |
+ | * **Deschidere capac**: La detectarea mișcării, servomotorul deschide capacul și pornește un timer. | ||
+ | * **Închidere capac**: După expirarea temporizatorului, capacul se închide automat. | ||
+ | * **Monitorizare accelerometru**: Verifică dacă coșul este manipulat neautorizat. | ||
+ | * **Declanșare alarmă**: La detectarea unei manipulări neautorizate, buzzerul emite un semnal sonor. | ||
+ | * **Detectare obiecte cu senzor ultrasonic**: Senzorul ultrasonic montat pe capac detectează introducerea obiectelor în coș. Informațiile colectate sunt procesate și transmise pentru afișare pe ecranul LCD (de exemplu: număr obiecte detectate, nivel de umplere, etc.). | ||
- | 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**. | + | **Calibrarea senzorilor**: |
- | </note> | + | * Senzor PIR – ajustarea sensibilității și duratei semnalului pentru a evita alarmele false. (manual) |
+ | * Accelerometru ADXL345 – setarea la ±16g pentru detectarea mișcărilor bruște; stabilirea pragurilor de accelerare pentru declanșarea alarmei. | ||
- | ===== Jurnal ===== | ||
- | <note tip> | + | Cod sursa: |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | https://github.com/Ionut-Tomita/PM-Project |
- | </note> | + | |
+ | ===== Rezultate Obţinute ===== | ||
- | ===== Bibliografie/Resurse ===== | + | {{ :pm:prj2025:fstancu:ionutit.png?600 |}} |
- | <note> | ||
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | ||
- | </note> | ||
- | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||