This shows you the differences between two versions of the page.
pm:prj2025:ccristi:mihnea.zarojanu [2025/05/24 21:18] mihnea.zarojanu [Utilizarea aparatului] |
pm:prj2025:ccristi:mihnea.zarojanu [2025/05/27 09:53] (current) mihnea.zarojanu [Software Design] |
||
---|---|---|---|
Line 35: | Line 35: | ||
===== Software Design ===== | ===== Software Design ===== | ||
* Mediu de dezvoltare: PlatformIO | * Mediu de dezvoltare: PlatformIO | ||
- | ===== Rezultate Obţinute ===== | + | * Biblioteci folosite: avr/io.h, avr/interrupt.h, stdio.h. |
- | ===== Concluzii ===== | + | * Surse 3rd party:\\ https://github.com/Matiasus/SSD1306/tree/master/lib \\ https://github.com/Sylaina/bme280. |
+ | \\ | ||
+ | Funcții: | ||
+ | * în src/main.c, init_all() inițiază toate modulele necesare pentru rulare, iar Set_time() este funcția inițială de setare a timpului; | ||
+ | * în lib, directoarele usart, spi, respectiv twi conțin funcțiile pentru comunicarea respectivă; | ||
+ | * folder-ul timer și button_interrupt sunt pentru numărarea milisecundelor și pentru butoane; | ||
+ | * sd_reader, ssd1306 și bme280 sunt pentru folosirea cititorului de microsd, a ecranului lcd și a senzorului; | ||
+ | * directorul miscellaneous conține fișierele pentru afișarea informațiilor pe lcd și preluarea datelor meteo de la senzor. | ||
+ | |||
+ | Calcularea șansei de ploaie se face astfel(([[https://www.chelseaclock.com/blogs/blog/how-do-barometers-work-how-to-read-a-barometer|Explicații mai îndetaliate pentru cum presiunea atmosferică indică schimbarea vremii]])): | ||
+ | * șansă foarte mică: presiunea aerului este peste 1023 mb și crește, e constantă, sau scade încet (scădere sub 10 mb într-o oră) | ||
+ | * șansă mică: presiunea aerului este peste 1009 mb și crește sau e constantă | ||
+ | * șansă medie: presiune între 1009 mb și 1023 mb și care scade încet (scădere sub 10 mb într-o oră) | ||
+ | * șansă mare (posibilă furtună): presiune sub 1023 mb și care scade rapid (peste 10 mb într-o oră) | ||
===== Cod sursă ===== | ===== Cod sursă ===== | ||
* Pagina github a proiectului: [[https://github.com/MihneaZar/Proiect-Meteo]] | * Pagina github a proiectului: [[https://github.com/MihneaZar/Proiect-Meteo]] | ||
+ | * Demo utilizare aparat: [[https://youtu.be/tAVXPxxvXbI]] | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
* 28 aprilie: am comandat Arduino Uno, piese pentru circuit, ecran lcd și senzor; | * 28 aprilie: am comandat Arduino Uno, piese pentru circuit, ecran lcd și senzor; | ||
Line 49: | Line 63: | ||
* 16 mai: am adaptat implementarea SPI din laborator pentru cititor; | * 16 mai: am adaptat implementarea SPI din laborator pentru cititor; | ||
* 17-18 mai: am încercat să fac senzorul să funcționeze, însă fără succes; | * 17-18 mai: am încercat să fac senzorul să funcționeze, însă fără succes; | ||
+ | * 23 mai: am terminat implementarea afișării tuturor informațiilor pe ecranul lcd; | ||
+ | * 24 mai: am făcut poza la aparat și am filmat un videoclip cu utilizarea acestuia; | ||
===== Bibliografie și Resurse ===== | ===== Bibliografie și Resurse ===== | ||
==== Resurse Hardware ==== | ==== Resurse Hardware ==== | ||
Line 56: | Line 72: | ||
* Datasheet senzor BME280: {{:pm:prj2025:ccristi:mihnea.zarojanu:bme280.pdf|}} | * Datasheet senzor BME280: {{:pm:prj2025:ccristi:mihnea.zarojanu:bme280.pdf|}} | ||
==== Resurse Software ==== | ==== Resurse Software ==== | ||
+ | === Surse 3rd party pentru module === | ||
+ | * OLED SSD1306: https://github.com/Matiasus/SSD1306/tree/master/lib | ||
+ | * BME280 senzor temperatură, presiune și umiditate: https://github.com/Sylaina/bme280 | ||