This shows you the differences between two versions of the page.
pm:prj2023:danield:ceasmultifunctional [2023/05/27 19:55] andrei.badulescu01 [Software Design] |
pm:prj2023:danield:ceasmultifunctional [2023/05/28 19:44] (current) andrei.badulescu01 [Jurnal] |
||
---|---|---|---|
Line 45: | Line 45: | ||
Mediu de dezvoltare: Arduino IDE | Mediu de dezvoltare: Arduino IDE | ||
+ | |||
Biblioteci: | Biblioteci: | ||
* NTPClient.h | * NTPClient.h | ||
Line 55: | Line 56: | ||
* ThingSpeak.h | * ThingSpeak.h | ||
* SoftwareSerial.h | * SoftwareSerial.h | ||
+ | |||
+ | Structura folosita de IPGeolocation: | ||
+ | struct IPGeo { | ||
+ | String tz; | ||
+ | int offset; | ||
+ | String city; | ||
+ | String country; | ||
+ | String country_code; | ||
+ | bool is_dst; | ||
+ | double latitude; | ||
+ | double longitude; | ||
+ | }; | ||
Explicarea codului: | Explicarea codului: | ||
Line 116: | Line 129: | ||
<note tip> | <note tip> | ||
- | Descrierea codului aplicaţiei (firmware): | + | Codul complet poate fi descarcat de aici:{{:pm:prj2023:danield:ceas_multifunctional.zip|}} |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | |
- | * (etapa 3) surse şi funcţii implementate | + | |
</note> | </note> | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
+ | In final, proiectul arata asa fara carcasa: | ||
+ | {{:pm:prj2023:danield:dispozitiv_dezasamblat_final.jpg?400|}} | ||
+ | |||
+ | |||
+ | In final, poriectul arata asa cu carcasa: | ||
+ | |||
+ | {{:pm:prj2023:danield:dispozitiv_final.jpg?400|}} | ||
<note tip> | <note tip> | ||
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | Aici se poate gasi un scurt demo {{:pm:prj2023:danield:demopm.zip|}}. Vizionare placuta! |
</note> | </note> | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Dispozitivul Multifunctional este un obiect destul de folositor. Pe langa timp, dispozitivul afiseaza si data, tara si orasul in care te afli, dar si date utile despre mediul din camera in care stai precum temperatura, umiditatea si presiunea aerului. Datele acestea sunt trimise pe un server web unde se deseneaza grafice pentru a vedea cum evolueaza/ fluctueaza aceste informatii. Pentru un confort adus utilizatorului, daca acesta vrea sa isi seteze o alarma, acest lucru se poate realiza foarte usor si rapid cu ajutorul telefonului si a conexiunii bluetooth. Datele pot fi acesate remote si de pe telefon(unde sunt trimise prin bluetooth), dar si online accesand serverul web unde sunt trimise. | ||
+ | Proiectul a fost interesant de implementat si m-a ajutat sa imi fixez notiunile pe care le-am dobandit la laboratorul de PM mai bine. De la simpla idee de la care am plecat, am ajuns sa imi adaug noi functionalitati pe parcurs, deoarece chiar mi-a placut sa fac acest proiect. | ||
===== Download ===== | ===== Download ===== | ||
<note warning> | <note warning> | ||
- | 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ă ;-). | + | Codul se poate descarca de aici {{:pm:prj2023:danield:ceas_multifunctional.zip|}} sau din sectiunea software, la notes |
- | + | ||
- | 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> | </note> | ||
Line 142: | Line 158: | ||
<note tip> | <note tip> | ||
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | * 7 Mai - am creat pagina de Wiki si completat-o cu introducerea si descrirea generala |
+ | * 15 Mai - am inceput sa lucrez la partea hardware. Am testat toate piesele sa vad ca sunt functionale. | ||
+ | * 17 Mai - m-am apucat de scris codul pentru Dispozitivul Multifunctional. Am reusit sa afisez datele citite de pe net. | ||
+ | * 18 Mai - am afisat si datele citite de la senzori. | ||
+ | * 20 Mai - am completat pagina de Wiki cu design-ul Hardware. Aici am adaugat schema si lista de piese folosite. | ||
+ | * 22 Mai - am adaugat un buton pentru a schimba ce se afiseaza pe display. | ||
+ | * 24 Mai - am facut conexiunea bluetooth si am setat dispozitivul sa trimita datele la ThingSpeak. Am adaugat si functionalitatea de alarma | ||
+ | * 27 Mai - am completat pagina de Wiki cu design-ul Software. Am specificat ce biblioteci am utilizat, IDE-ul folosit pentru a scrie cod, o explicare a codului in mare si descrierea functiilor utilizate. Am pus si un code snippet pentru functia de ceas analog si putine explicatii. Am adaugat si codul sursa si am completat pagina de Wiki cu ce mai lipsea. | ||
+ | * 28 Mai - am terminat de completat pagina Wiki cu demo si tot | ||
</note> | </note> | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | Resurse Hardware: |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | * [[https://components101.com/development-boards/nodemcu-esp8266-pinout-features-and-datasheet|nodemcu-esp8266-pinout-features-and-datasheet]] |
- | </note> | + | * [[https://circuitdigest.com/microcontroller-projects/hc-05-bluetooth-module-interfacing-with-esp8266-to-control-an-led|esp8266 and HC05]] |
+ | * [[https://components101.com/sensors/dht22-pinout-specs-datasheet|DHT22 pinout and info]] | ||
+ | * [[https://components101.com/sensors/bmp180-atmospheric-pressure-sensor|BMP180 pinout and info]] | ||
+ | * [[https://www.analog.com/media/en/technical-documentation/data-sheets/DS3231.pdf|DS3231 datasheet]] | ||
+ | * laboratoare PM | ||
- | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | + | Resurse software: |
+ | * [[https://circuitdigest.com/microcontroller-projects/hc-05-bluetooth-module-interfacing-with-esp8266-to-control-an-led|esp8266 and HC05]] | ||
+ | * [[https://github.com/dushyantahuja/IPGeolocation|IPGeolocation library]] | ||
+ | * [[https://randomnerdtutorials.com/esp8266-nodemcu-thingspeak-publish-arduino/|Tutorial about how to connect esp8266 to ThingSpeak]] | ||
+ | * laboratoare PM | ||
+ | * documentatiile bibliotecilor folosite | ||