Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2024:vstoica:andrei.vasilescu02 [2024/05/25 19:53]
andrei.vasilescu02 [Rezultate Obţinute]
pm:prj2024:vstoica:andrei.vasilescu02 [2024/05/26 18:10] (current)
andrei.vasilescu02 [Software Design]
Line 74: Line 74:
 {{:​pm:​prj2024:​vstoica:​lcd_alcool_detectat_av.jpg?​600|}} {{:​pm:​prj2024:​vstoica:​lcd_alcool_detectat_av.jpg?​600|}}
 {{:​pm:​prj2024:​vstoica:​lcd1_av.jpg?​600|}} {{:​pm:​prj2024:​vstoica:​lcd1_av.jpg?​600|}}
 +{{:​pm:​prj2024:​vstoica:​final_av2.jpg?​600|}}
  
 ===== Software Design ===== ===== Software Design =====
Line 84: Line 85:
 [[https://​github.com/​andreivasilescu24/​Alcoholtest-ArduinoUNO-ATMega328p.git|Repository GitHub]] [[https://​github.com/​andreivasilescu24/​Alcoholtest-ArduinoUNO-ATMega328p.git|Repository GitHub]]
  
 +[[https://​streamable.com/​dnzvos|Demo video proiect]]
 +
 +**Functia setup()**
 +    * Se seteaza baud rate-ul la 9600 pentru comunicarea cu seriala
 +    * Se seteaza pinii pentru LED-ul rosu si cel verde dar si pentru buzzer ca pini de output
 +    * Se seteaza pinii pentru senzorul de alcool MQ-3 si cel pentru buton ca pini de input
 +    * Se activeaza rezistenta de pull-up pe pinul pentru buton
 +    * Se initializeaza ecranul LCD si se afiseaza un scurt mesaj "​Warming up ..." pentru a lasa putin senzorul sa se incalzeasca inainte de pornirea testarii.
 +    * Dupa incalzirea senzorului se apeleaza functia "​startPrint()"​ ce afiseaza pe LCD titlul proiectului "​ALCOHOLTEST"​ si apoi un mesaj "Press button to start!"​ asteptand apasarea butonului.
 +    * Se activeaza intreruperea pe buton
 +
 +{{:​pm:​prj2024:​vstoica:​setup_av2.png?​500|}}
 +
 +**Rutina de intrerupere pentru buton**
 +    * Va nega variabila pentru masurarea alcoolului, care se va face true atunci cand se va apasa butonul pentru a porni masurarea si in false cand se apasa butonul pentru oprire ca sa nu se mai afiseze valoarea si status-ul pe ecran.
 +    * De asemenea, in functie de scopul apasarii butonului (start/stop masurare) se va seta o variabila dedicata unuia din cazuri pe true pentru a putea stii ce "​loading screen"​ sa se afiseze pe ecran in cele ce urmeaza.
 +
 +{{:​pm:​prj2024:​vstoica:​isr_av.png?​500|}}
 +
 +**Loading screens**
 +    * Daca butonul a fost apasat pentru start pe ecran va sta pentru 2 secunde mesajul "​Starting measurement ..." ca apoi sa se afiseze masuratorile pe ecran
 +    * Daca butonul a fost apasat pentru oprirea masurarii se va afisa pentru 10 secunde mesajul "​Stopping measurement ..." si apoi se va reveni la ecranul de inceput default ce asteapta apasarea butonului de start msaurare "Press button to start!"​
 +
 +{{:​pm:​prj2024:​vstoica:​start_stop_av.png?​500|}}
 +
 +**Functia loop()**
 +    * Se citeste atat valorea digitala (pentru a vedea daca senzorul a considerat ca s-a detectat alcool) cat si cea analog de la senzorul de alcool (pentru afisarea valorilor pe LCD), iar apoi daca a fost setata variabila de masurare alcool pe true, din rutina de intrerupere a butonului, in functie de valoarea digitala, daca s-a detctat sau nu alcool se va calcula cu o formula valorea in "​ppm"​.
 +    * Cat timp nu s-a detectat alcoolul LED-ul verde va sta aprins
 +    * Cat timp este detectat alcoolul se va auzi un sunet de alerta intermitent pe buzzer si se vor aprinde intermitent LED-ul verde si cel rosu
 +
 +{{:​pm:​prj2024:​vstoica:​alcohol_cases_av.png?​500|}}
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
Line 90: Line 122:
  
 * De asemenea, acuratetetea testarii depinde si de cat de incalzit este senzorul deoarece pe masura ce este mai incalzit acesta devine mai sensibil la vaporii de alcool oferind rezultate mai precise. * De asemenea, acuratetetea testarii depinde si de cat de incalzit este senzorul deoarece pe masura ce este mai incalzit acesta devine mai sensibil la vaporii de alcool oferind rezultate mai precise.
-</​note>​+
  
 ===== Concluzii ===== ===== Concluzii =====
Line 96: Line 128:
 ===== Download ===== ===== Download =====
  
-<note warning>​ +**Arhiva** 
-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:prj2024:vstoica:vasilescu_andrei_334cd_pm.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>​ +
 ===== Jurnal ===== ===== Jurnal =====
  
Line 113: Line 141:
 Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**.
 </​note>​ </​note>​
 +
 +=== Resurse hardware ===
 +   * [[https://​www.sparkfun.com/​datasheets/​Sensors/​MQ-3.pdf|Datasheet senzor alcool MQ-3]]
 +   * [[https://​ww1.microchip.com/​downloads/​en/​DeviceDoc/​Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf|Datasheet ATMega328p]]
 +
 +=== Resurse software ===
 +   * [[https://​www.arduino.cc/​reference/​en/​libraries/​liquidcrystal-i2c/​|Liquid_Crystal_I2C]]
  
 <​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>​
  
pm/prj2024/vstoica/andrei.vasilescu02.1716655995.txt.gz · Last modified: 2024/05/25 19:53 by andrei.vasilescu02
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0