This shows you the differences between two versions of the page.
pm:prj2024:iotelea:andrei.voicu0411 [2024/05/17 01:06] andrei.voicu0411 [Hardware Design] |
pm:prj2024:iotelea:andrei.voicu0411 [2024/05/26 21:05] (current) andrei.voicu0411 [Concluzii] |
||
---|---|---|---|
Line 50: | Line 50: | ||
- fire | - fire | ||
</note> | </note> | ||
- | {{:pm:prj2024:iotelea:schema_eagle_av.png?600|}} | + | {{:pm:prj2024:iotelea:schema_eagle_av.png?600|}}\\ |
+ | \\ | ||
+ | Implementare hardware dupa schema electrica:\\ | ||
+ | {{:pm:prj2024:iotelea:hardware_av.jpeg?200|}}\\ | ||
+ | Implementare hardware folosind breadboard mare:\\ | ||
+ | {{:pm:prj2024:iotelea:hardwareav.jpeg?200|}}\\ | ||
+ | Chiar daca sunt toate piesele, nu este forma finala deoarece astept un breadboard mai mare + cateva fire pentru a face totul mai clar. | ||
===== Software Design ===== | ===== Software Design ===== | ||
- | + | Pentru dezvoltare am folosit Arduino IDE impreuna cu urmatoarele biblioteci:\\ | |
- | <note tip> | + | * LiquidCrystal.h: pentru ecranul LCD, foloseste protocolul SPI\\ |
- | TODO | + | * SD.h, SPI.h: pentru comunicarea cu cardul SD\\ |
- | + | In functia setup() declar pinii ca pini de output/input, dupa caz, initializez ecranul lcd si cardul SD si creez/deschid fisierul pentru a stoca masuratorile.\\ | |
- | </note> | + | In functia loop() se afla logica pentru 'homepage', unde utilizatorul poate apasa butonul rosu pentru a citi masuratorile existente pe cardul SD, sau butonul albastru pentru a incepe o noua masuratoare. In functia measureAlcohol este logica pentru masuratoare. Flow-ul este in modul urmator:\\ |
+ | * se emite un sunet scurt pe buzzer, semnificand inceperea masuratorii\\ | ||
+ | * pentru urmatoarele 5 secunde se citesc valorile primite de la senzor si se retine cea mai mare\\ | ||
+ | * la final, in functie de valoare, este aprins unul din leduri folosind un efect de fade folosind pinii PWN din arduino\\ | ||
+ | * pe ecran este afisat rezultatul masuratorii, iar utilizatorul poate apasa butonul rosu pentru a salva masuratoarea, sau poate apasa butonul albastru pentru a reveni la ecranul principal.\\ | ||
+ | \\ | ||
+ | Functiile de manipulare a cardului SD, anume InitializeSD, createFile, openFile, closeFile, readLine sunt luate din urmatorul tutorial: https://educ8s.tv/arduino-sd-card-tutorial/, fiind aduse mici modificari asupra acestora. | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | Am reusit sa implementez etilotestul si acesta functioneaza cum mi-am dorit. Ar mai trebui facuta transformarea valorii primite de la senzor in mg alcool/litru aer expirat, lucru pe care as vrea sa il fac in viitor. O problema pe care inca o am ar fi durata mare necesara senzorului MQ3 pentru a reveni la base value, mai ales dupa o masurare in care se detecteaza cantitati mari de alcool. In principiu, valorile intoarse de senzor ar fi:\\ |
- | TODO | + | * < 120 - 130 -> nu a fost detectat alcool\\ |
- | </note> | + | * > 130 (400+) -> a fost detectat alcool\\ |
+ | Base value-ul pe care l-am detectat ar fi aproximativ 77, dar dureaza foarte mult sa revina la aceasta valoare o data ce a fost detectat alcool. | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
- | ===== Download ===== | + | Proiectul a fost foarte placut si foarte satisfacator la final, o data ce am reusit sa faca totul sa mearga. A fost foarte amuzant si sa il testez, mai ales pentru a afla ce valori returneaza senzorul in prezenta alcoolului :-D\\ |
+ | Testare functionalitate: https://www.youtube.com/shorts/ktZ3uBsFENs | ||
- | <note warning> | ||
- | TODO | ||
- | </note> | ||
+ | ===== Download ===== | ||
+ | {{:pm:prj2024:iotelea:etilotestav.zip|}} | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
<note tip> | <note tip> | ||
04.05.2024 - Creare pagina wiki\\ | 04.05.2024 - Creare pagina wiki\\ | ||
- | 16.05.2024 - Adaugare schema bloc | + | 16.05.2024 - Adaugare schema bloc\\ |
+ | 17.05.2024 - Adaugare poza cu hardware asamblat\\ | ||
+ | 24.05.2024 - Adaugare poza cu hardware final\\ | ||
+ | 26.06.2024 - Adaugare cod, completare pagina ocw\\ | ||
</note> | </note> | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | Resurse Hardware: |
- | TODO | + | * https://docs.arduino.cc/learn/electronics/lcd-displays/ |
- | </note> | + | * https://docs.arduino.cc/built-in-examples/digital/Button/ |
+ | * https://www.sparkfun.com/datasheets/Sensors/MQ-3.pdf | ||
+ | |||
+ | Resurse Software: | ||
+ | * https://educ8s.tv/arduino-sd-card-tutorial/ | ||
+ | * https://www.arduino.cc/reference/en/libraries/liquidcrystal/ | ||
+ | * https://www.arduino.cc/reference/en/libraries/sd/ | ||
<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> | ||