This shows you the differences between two versions of the page.
pm:prj2025:ccristi:stefan.bucura [2025/05/18 09:22] stefan.bucura [Hardware Design] |
pm:prj2025:ccristi:stefan.bucura [2025/05/27 22:41] (current) stefan.bucura |
||
---|---|---|---|
Line 2: | Line 2: | ||
Autor: **Bucura Stefan-Alexandru** \\ | Autor: **Bucura Stefan-Alexandru** \\ | ||
Grupa: **333CD** | Grupa: **333CD** | ||
- | ===== Introducere ===== | ||
+ | ===== Introducere ===== | ||
<note tip> | <note tip> | ||
- | Acest proiect constă în realizarea unui dispozitiv etilotest simplu, cu scopul de a detecta și semnaliza prezența vaporilor de alcool din aerul expirat. Proiectul folosește un senzor de alcool (MQ-3), trei LED-uri de semnalizare, un buzzer pentru avertizare sonoră și un display OLED pentru afișarea valorii măsurate si un encodor rotativ pentru controlul aparatului. | + | Acest proiect constă în realizarea unui dispozitiv etilotest simplu, cu scopul de a detecta și semnaliza prezența vaporilor de alcool din aerul expirat. Proiectul folosește un senzor de alcool (MQ-3), două LED-uri de semnalizare, un buzzer pentru avertizare sonoră, un display OLED pentru afișarea valorii măsurate și un encoder rotativ pentru controlul aparatului printr-un meniu. |
- | Scopul proiectului este de a crea un dispozitiv accesibil ca preț, portabil și ușor de utilizat, pentru uz personal (de exemplu, înainte de a conduce). | + | Dispozitivul este gândit ca un tester rapid și accesibil, ușor de folosit înainte de a conduce, oferind feedback vizual, sonor și numeric. Este portabil și alimentabil de la sursă externă. |
+ | </note> | ||
- | Ideea a pornit de la dorința de a combina un senzor analogic cu elemente de feedback vizual și sonor, pentru a crea un sistem funcțional de evaluare rapidă a alcoolemiei neinvaziv, fără afișaje complicate sau consum mare de energie. | ||
- | |||
- | </note> | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
- | {{:pm:prj2025:ccristi:schema.png?700|}} | + | {{\:pm\:prj2025\:ccristi\:schema.png?700|}} |
- | ===== Hardware Design ===== | + | * Senzorul MQ-3 detectează vaporii de alcool din aerul expirat |
+ | * Valoarea citită este afișată pe un display OLED | ||
+ | * În funcție de valoare, se aprinde LED-ul roșu sau verde și se activează buzzerul pentru avertizare | ||
+ | * Utilizatorul poate naviga prin meniu folosind encoderul rotativ pentru a vedea moduri diferite de afișare (valoare sau sancțiune) | ||
+ | ===== Hardware Design ===== | ||
<note tip> | <note tip> | ||
- | Proiectul foloseste urmatoarele piese: | + | ^ Componenta ^ Numar bucati ^ Documentatie ^ |
- | - Arduino ATMega328P | + | | Arduino ATmega328P | 1 | [[https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P\_Datasheet.pdf](https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf) | Datasheet ATmega328P]] | |
- | - Senzor de alcool MQ-3 | + | | Senzor de alcool MQ-3 | 1 | [[https://components101.com/sensors/mq3-alcohol-sensor](https://components101.com/sensors/mq3-alcohol-sensor) | MQ-3 Alcohol Sensor]] | |
- | - Buzzer Activ 5V | + | | Buzzer Activ 5V | 1 | - | |
- | - LED-uri | + | | LED-uri (rosu, verde) | 2 | - | |
- | - Rezistoare 220ohmi | + | | Rezistori 220 ohm | 2 | - | |
- | - Encodor rotativ | + | | Encoder rotativ cu buton | 1 | - | |
- | </note> | + | | Display OLED SSD1306 | 1 | [[https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf](https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf) | SSD1306 Datasheet]] |
- | {{:pm:prj2025:ccristi:whatsapp_image_2025-05-18_at_00.18.53.jpeg?700|}} | + | </note> |
- | ===== Software Design ===== | + | |
+ | {{\:pm\:prj2025\:ccristi\:whatsapp\_image\_2025-05-18\_at\_00.18.53.jpeg?700|}} | ||
+ | {{\:pm\:prj2025\:ccristi\:img\_2047.jpeg?200|}} | ||
+ | ===== Software Design ===== | ||
<note tip> | <note tip> | ||
- | Descrierea codului aplicaţiei (firmware): | + | Codul este dezvoltat pentru microcontrollerul ATmega328P, compilat și încărcat folosind Arduino IDE. Nu s-au utilizat funcții standard Arduino (pinMode, digitalRead, analogRead etc.), ci doar lucrul direct cu registre. |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | Librării folosite: |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | |
- | * (etapa 3) surse şi funcţii implementate | + | * Adafruit_GFX - pentru grafică OLED |
+ | * Adafruit_SSD1306 - pentru controlul display-ului | ||
+ | |||
+ | Funcționalități implementate: | ||
+ | |||
+ | * Meniu interactiv controlat cu encoder (Start Test, Set Prag 1, Set Prag 2, Mod Afisare) | ||
+ | * Afișare numerică sau textuală în funcție de valoarea măsurată (e.g., "Avertisment", "Dosar Penal") | ||
+ | * Avertizare sonoră și vizuală (buzz continuu + LED roșu pentru valori periculoase) | ||
+ | * Calibrare automată a senzorului la pornire și secvență de start-up (buzzer + LED) | ||
+ | * Toate intrările/ieșirile tratate la nivel de registru (DDRx, PORTx, PINx, ADMUX, ADCSRA etc.) | ||
</note> | </note> | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | |||
<note tip> | <note tip> | ||
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | Produsul final funcționează conform cerințelor: detectează alcoolul din aerul expirat, oferă avertizare sonoră și vizuală, iar meniul este complet funcțional și ușor de navigat. Displayul arată clar informațiile. Pragurile se pot ajusta ușor și nu se salvează între porniri, conform cerinței. </note> |
- | </note> | + | |
- | ===== Concluzii ===== | + | {{:pm:prj2025:ccristi:img_2103.jpeg?200|}} |
- | ===== Download ===== | + | [[https://youtube.com/shorts/k2fTEFICqwE | DEMO video - etilotest]] |
- | <note warning> | + | [[https://github.com/bucurastefan/Breathalyzer | Link GitHub]] |
- | 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**. | + | ===== Concluzii ===== |
- | </note> | + | Proiectul și-a atins scopul de a crea un etilotest portabil, fiabil, ușor de utilizat, fără utilizarea funcțiilor standard Arduino. Codul este optimizat la nivel de registru, meniul este complet funcțional, iar feedbackul vizual și sonor este bine sincronizat cu valorile senzorului. Este un proiect ideal pentru uz educațional și personal. |
- | ===== Jurnal ===== | ||
+ | ===== Jurnal ===== | ||
<note tip> | <note tip> | ||
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | |
+ | * 04.05.2025 - alegere temă proiect | ||
+ | * 07.05.2025 - comandă componente | ||
+ | * 09.05.2025 - testare componente (senzații false MQ-3) | ||
+ | * 11.05.2025 - montaj pe breadboard și test buzzer/LED-uri | ||
+ | * 13.05.2025 - implementare ecran și meniu | ||
+ | * 15.05.2025 - integrare citire encoder | ||
+ | * 18.05.2025 - implementare praguri și conversie mg/L | ||
+ | * 22.05.2025 - feedback sonor/LED în funcție de valoare | ||
+ | * 25.05.2025 - optimizare interfață și calibrare senzor | ||
+ | * 27.05.2025 - testare finală și demo video | ||
</note> | </note> | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | === Resurse Software === |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | |
- | </note> | + | * [[https://www.arduino.cc/en/software|Arduino IDE]] |
+ | * [[https://learn.adafruit.com/monochrome-oled-breakouts/arduino-library-and-examples](https://learn.adafruit.com/monochrome-oled-breakouts/arduino-library-and-examples) | Adafruit SSD1306]] | ||
+ | |||
+ | === Resurse Hardware === | ||
- | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | + | * [[https://components101.com/sensors/mq3-alcohol-sensor](https://components101.com/sensors/mq3-alcohol-sensor) | MQ-3 Alcohol Sensor Datasheet]] |
+ | * [[https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf](https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf) | SSD1306 OLED Datasheet]] | ||
+ | * [[https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P\_Datasheet.pdf](https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf) | ATmega328P Datasheet]] | ||