This shows you the differences between two versions of the page.
pm:prj2021:abasoc:etilotest [2021/06/02 21:37] andra.serban0210 [Hardware Design] |
pm:prj2021:abasoc:etilotest [2021/06/03 03:44] (current) andra.serban0210 [Bibliografie/Resurse] |
||
---|---|---|---|
Line 4: | Line 4: | ||
Proiectul constă în implementarea unui etilotest, aparat ce măsoară cantitatea de alcool din aerul expirat, fiind alimentat folosind o baterie încărcată folosind energie solară. Scopul este de a integra o sursă de energie nelimitată pentru un dispozitiv destul de folosit, reducându-se impactul negativ asupra mediului și de altfel reducându-se și costurile pentru alimentare . | Proiectul constă în implementarea unui etilotest, aparat ce măsoară cantitatea de alcool din aerul expirat, fiind alimentat folosind o baterie încărcată folosind energie solară. Scopul este de a integra o sursă de energie nelimitată pentru un dispozitiv destul de folosit, reducându-se impactul negativ asupra mediului și de altfel reducându-se și costurile pentru alimentare . | ||
====== Descriere generala ====== | ====== Descriere generala ====== | ||
- | Aparatul măsoară cantitatea de alcool folosind un senzor. Rezultatul este afișat pe un ecran LED, iar în funcție de nivelul afișat se va activă un buzzer. Alimentarea se realizează printr-o baterie încărcată folosind un panou solar și un modul pentru încărcare. | + | Aparatul măsoară cantitatea de alcool folosind un senzor. Rezultatul este afișat pe un ecran LED, iar în funcție de nivelul afișat se va |
+ | aprinde un led rosu sau verde. In cazul in care concentratia afisata este prea mare un buzzer va reda o melodie pentru a atentiona. Alimentarea se realizează printr-o baterie încărcată folosind un panou solar și un modul pentru încărcare. | ||
===== Schema bloc ===== | ===== Schema bloc ===== | ||
Line 12: | Line 13: | ||
* Arduino UNO | * Arduino UNO | ||
* Display LCD | * Display LCD | ||
+ | * Modul I2C | ||
* Buzzer | * Buzzer | ||
* Breadboard | * Breadboard | ||
Line 20: | Line 22: | ||
* Ridicator de tensiune | * Ridicator de tensiune | ||
* Baterie | * Baterie | ||
- | {{ :pm:prj2021:abasoc:etilotestschemaelectrica.png?300 |}} | + | {{ :pm:prj2021:abasoc:etilotestschemaelectrica.png?800 |}} |
====== Software Design ====== | ====== Software Design ====== | ||
- | TODO | + | Mediul de dezvoltare folosit a fost Arduino IDE \\ |
+ | Biblioteci folosite: | ||
+ | * LiquidCrystal_I2C.h | ||
+ | * pitches.h | ||
+ | Pentru a evita folosirea functiei delay() am ales sa folosesc intreruperi, citind date noi de la senzor o data la o secunda \\ | ||
+ | <code> | ||
+ | ISR(TIMER1_COMPA_vect) { | ||
+ | adcValue = analogRead(sensor); | ||
+ | v = adcValue * (5.0/1024.0); | ||
+ | mgL = 0.67 * v; | ||
+ | } | ||
+ | </code> | ||
+ | Dupa ce se face conversia valorii citite in mg/L, aceasta este comparata cu o valoare prag. Daca valoarea citita este mai mare decat etalonul se aprinde un led rosu, este afisata pe ecran concentratia precum si un mesaj care sa atentioneze si nu in ultimul rand, buzzer-ul va reproduce o melodie.\\ | ||
+ | |||
+ | Daca concentratie se reduce sau este redusa inca de la inceput, se aprinde un led verde si se afiseaza pe LCD un mesaj corespunzator.\\ | ||
+ | <code> | ||
+ | void loop() { | ||
+ | if(mgL > MAX) { | ||
+ | printState(); | ||
+ | lcd.print("Prea mult "); | ||
+ | digitalWrite(redLed, HIGH); | ||
+ | digitalWrite(greenLed, LOW); | ||
+ | playSong(); | ||
+ | } else { | ||
+ | printState(); | ||
+ | lcd.print("Normal "); | ||
+ | digitalWrite(redLed, LOW); | ||
+ | digitalWrite(greenLed, HIGH); | ||
+ | } | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | [[https://github.com/andra-serban/Etilotest | Cod sursa]] | ||
====== Rezultate Obtinute ====== | ====== Rezultate Obtinute ====== | ||
- | TODO | + | [[https://drive.google.com/file/d/1bRLFaeljeoiYLEI-tLSZ3E-Il8pUIjW6/view?usp=sharing|Demo]] \\ |
+ | {{:pm:prj2021:abasoc:etilotest1.jpeg?300|}} | ||
+ | {{:pm:prj2021:abasoc:etilotest2.jpeg?300|}} | ||
+ | {{:pm:prj2021:abasoc:etilotest3.jpeg?300|}} | ||
+ | {{:pm:prj2021:abasoc:etilotest4.jpeg?300|}} | ||
+ | {{:pm:prj2021:abasoc:etilotest5.jpeg?300|}} | ||
+ | {{:pm:prj2021:abasoc:etilotest6.jpeg?300|}} | ||
====== Concluzii ====== | ====== Concluzii ====== | ||
- | TODO | + | Aparatul este functional si poate fi folosit oricand. \\ |
+ | Baterie incarcata cu energie solara poate fi folosita pentru a alimenta si alte dispozitive, prin urmare, este un proiect pe care il voi putea folosi in continuare si pe care ma bucur ca l-am realizat. | ||
====== Download ====== | ====== Download ====== | ||
- | Documentatie pdf: | ||
- | {{:pm:prj2021:abasoc:etilotest_doc.pdf|}} \\ | ||
Link pagina: | Link pagina: | ||
https://ocw.cs.pub.ro/courses/pm/prj2021/abasoc/etilotest | https://ocw.cs.pub.ro/courses/pm/prj2021/abasoc/etilotest | ||
+ | ====== Jurnal ====== | ||
+ | 22.04.2021:alegerea temei pentru proiect si realizarea diagramei bloc \\ | ||
+ | 06.05.2021: comandarea componentelor \\ | ||
+ | 15.05.2021: lipirea pieselor \\ | ||
+ | 1.06.2021: implementare software si realizare schema electrica \\ | ||
+ | 3.06.2021: documentatie finala \\ | ||
- | ====== Bibliografie ====== | + | ====== Bibliografie/Resurse ====== |
- | TODO | + | Documentatie PDF: <html><a class="media mediafile mf_pdf" href="?do=export_pdf">etilotest</a></html> \\ |
+ | https://ocw.cs.pub.ro/courses/pm/lab/lab0-2021 \\ | ||
+ | https://ocw.cs.pub.ro/courses/pm/lab/lab1-2021 \\ | ||
+ | https://ocw.cs.pub.ro/courses/pm/lab/lab2-2021 \\ | ||
+ | https://ocw.cs.pub.ro/courses/pm/lab/lab4-2021 \\ | ||
+ | https://ocw.cs.pub.ro/courses/pm/lab/lab6-2021 \\ | ||
+ | https://www.arduino.cc/reference/en/language/functions/advanced-io/tone \\ | ||
+ | https://www.arduino.cc/en/Tutorial/BuiltInExamples/toneMelody \\ | ||
+ | https://github.com/johnrickman/LiquidCrystal_I2C \\ | ||