This shows you the differences between two versions of the page.
pm:prj2021:cghenea:phdetector [2021/06/02 03:08] teodor.matei [Software Design] |
pm:prj2021:cghenea:phdetector [2021/06/02 17:30] (current) teodor.matei [Bibliografie/Resurse] |
||
---|---|---|---|
Line 8: | Line 8: | ||
Utilizatorul va porni dispozitivul de pe telefon prin Bluetooth. Cu ajutorul pH metrului se va masura pH-ul unui lichid, valoare ce va fi afisata pe ecranul LCD, iar led-urile se vor aprinde in culoarea asociata valorii masurate. Temperatura va fi masurata cu ajutorul sondei de temperatura ce va fi introdusa in lichid, valoarea masurata de aceasta fiind afisata pe ecran. | Utilizatorul va porni dispozitivul de pe telefon prin Bluetooth. Cu ajutorul pH metrului se va masura pH-ul unui lichid, valoare ce va fi afisata pe ecranul LCD, iar led-urile se vor aprinde in culoarea asociata valorii masurate. Temperatura va fi masurata cu ajutorul sondei de temperatura ce va fi introdusa in lichid, valoarea masurata de aceasta fiind afisata pe ecran. | ||
- | De asemenea, utilizatorul va putea primi pe telefon, prin Bluetooth, toate aceste date. | + | De asemenea, utilizatorul va putea primi pe telefon/laptop, prin Bluetooth, toate aceste date pentru a putea efectua o analiza ulterioara a acestora. |
Line 39: | Line 39: | ||
=== Functii implementate === | === Functii implementate === | ||
- | Link github: [[https://github.com/Teo48/PM/blob/main/src/proiect_pm.ino | phdetector]] | ||
Functia ''**setup()**'': | Functia ''**setup()**'': | ||
Line 45: | Line 44: | ||
* Se initializeaza comunicarea cu senzorul de temperatura | * Se initializeaza comunicarea cu senzorul de temperatura | ||
* Se initializeaza comunicarea cu display-ul LCD si iluminarea acestuia | * Se initializeaza comunicarea cu display-ul LCD si iluminarea acestuia | ||
- | * Se seteaza led-urile RGB pe 0(sunt oprite). | + | * Se seteaza led-urile RGB pe 0(sunt oprite) |
Functia ''**loop()**'': | Functia ''**loop()**'': | ||
+ | * Se verifica starea dispozitivului. Daca acesta a primit prin intermediul modului Bluetooth mesajul **''start!''**, il vom porni | ||
+ | * Se masoara ''40'' de probe din substanta aleasa, respectiv temperatura acesteia | ||
+ | * Se calculeaza media probelor masurate si se converteste intr-o valoare numerica discreta | ||
+ | * Se afiseaza pe display valorile masurate si in acelasi timp sunt trimise prin Bluetooth device-ului cu care s-a facut pairing | ||
+ | * Se aprind led-urile RGB conform valorii pH-ului | ||
+ | * La primirea comenzii ''**x**'', dispozitivul se opreste | ||
+ | * La primirea comenzii ''**r**'', se reiau masuratorile | ||
+ | Functia ''**setColorRGB()**'': Seteaza culoarea unui led RGB | ||
+ | |||
+ | Functia ''**convert_ph_value_to_rgb()**'': Seteaza culoarea led-urilor RGB in functie de valoarea masurata a pH-ului | ||
- | Cod sursa: | ||
- | {{:pm:prj2021:cghenea:cod_sursa_phdetector.zip|}} | ||
===== Rezultate Obținute ===== | ===== Rezultate Obținute ===== | ||
Line 57: | Line 64: | ||
{{:pm:prj2021:cghenea:phdetector_1.png?nolink&400|}} | {{:pm:prj2021:cghenea:phdetector_1.png?nolink&400|}} | ||
{{:pm:prj2021:cghenea:phdetector_2.png?nolink&400|}} | {{:pm:prj2021:cghenea:phdetector_2.png?nolink&400|}} | ||
+ | |||
+ | === Videoclip demonstrativ === | ||
+ | [[https://drive.google.com/file/d/1U2T1VOsdp1qRONxEuldwWAvf2fbtZA7C/view?usp=sharing | Google Drive]] | ||
+ | |||
+ | ===== Download ===== | ||
+ | |||
+ | Link github: [[https://github.com/Teo48/PM/blob/main/src/proiect_pm.ino | phdetector]] | ||
+ | |||
+ | Cod sursa: | ||
+ | {{:pm:prj2021:cghenea:cod_sursa_phdetector.zip|}} | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
- | TODO | + | Per total a fost o experienta interesanta, fiind primul contact cu un proiect hardware si nu as spune nu unei noi incercari in viitor. |
+ | |||
+ | Cele mai multe batai de cap mi le-a provocat calibrarea senzorului de pH, dar in cele din urma totul a iesit bine. | ||
+ | |||
+ | Ca o extindere, as adauga pe viitor un suport pentru stocarea si prelucrarea datelor primite prin Bluetooth pe un computer/laptop. As fi implementat acest lucru daca laptop-ul meu avea de gand sa recunoasca modulul HC-05 :(. | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
- | TODO | + | * 2 Mai: Alegere tema proiect |
+ | * 2 Mai: Comandare piese proiect | ||
+ | * 7 Mai: Sosire modul Bluetooth, senzor de temperatura si display I2C | ||
+ | * 11 Mai: Sosire senzor de masurare a pH-ului | ||
+ | * 20-21 Mai: Implementare proiect | ||
+ | * 1 Iunie: Filmare demo | ||
+ | * 2 Iunie: Finalizare pagina wiki si tweaks la cod | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
* [[https://wiki.dfrobot.com/PH_meter_SKU__SEN0161_ | DFROBOT SEN0161]] | * [[https://wiki.dfrobot.com/PH_meter_SKU__SEN0161_ | DFROBOT SEN0161]] | ||
- | * [[https://create.arduino.cc/projecthub/electropeak/getting-started-with-hc-05-bluetooth-module-arduino-e0ca81 | Arduino.cc]] | + | * [[https://www.youtube.com/watch?v=DKmNSCMPDjE&ab_channel=Robojax | LCD 2004 I2C]] |
+ | * [[https://create.arduino.cc/projecthub/electropeak/getting-started-with-hc-05-bluetooth-module-arduino-e0ca81 | Arduino.cc - HC-05]] | ||
* [[https://play.google.com/store/apps/details?id=com.frederikhauke.ArduTooth | ArduTooth]] | * [[https://play.google.com/store/apps/details?id=com.frederikhauke.ArduTooth | ArduTooth]] | ||
- | * [[https://ocw.cs.pub.ro/courses/pm/prj2021/cghenea/phdetector?do=export_pdf | PDF]] | + | * [[https://www.instructables.com/How-to-Receive-Arduino-Sensor-Data-on-Your-Android/ | ArduTooth Guide]] |
+ | * [[https://www.autodesk.com/products/eagle/overview?term=1-YEAR | EAGLE]] | ||
+ | * {{:pm:prj2021:cghenea:phdetector.pdf|}} | ||
+ | * [[https://ocw.cs.pub.ro/courses/pm/prj2021/cghenea/phdetector?do=export_pdf | Export PDF]] |