This shows you the differences between two versions of the page.
|
pm:prj2025:ccristi:mihnea.zarojanu [2025/05/23 17:54] mihnea.zarojanu [Utilizare] |
pm:prj2025:ccristi:mihnea.zarojanu [2025/05/27 09:53] (current) mihnea.zarojanu [Software Design] |
||
|---|---|---|---|
| Line 12: | Line 12: | ||
| \\ | \\ | ||
| \\ | \\ | ||
| - | ==== Utilizare ==== | + | ==== Utilizarea aparatului ==== |
| {{ :pm:prj2025:ccristi:mihnea.zarojanu:use_case.png?600 |Diagrama cazurilor de utilizare}}\\ | {{ :pm:prj2025:ccristi:mihnea.zarojanu:use_case.png?600 |Diagrama cazurilor de utilizare}}\\ | ||
| Odată ce aparatul este pornit, utilizatorul va putea introduce ora, apăsând butonul roșu pentru a alege cifra potrivită, și pe cel albastru pentru a trece la cifra următoare. | Odată ce aparatul este pornit, utilizatorul va putea introduce ora, apăsând butonul roșu pentru a alege cifra potrivită, și pe cel albastru pentru a trece la cifra următoare. | ||
| După ce a introdus ora, aparatul va afișa timpul curent, temperatura și umiditatea. | După ce a introdus ora, aparatul va afișa timpul curent, temperatura și umiditatea. | ||
| Cu butonul albastru se poate cicla printre comenzi, iar cu cel roșu se poate activa comanda curentă. | Cu butonul albastru se poate cicla printre comenzi, iar cu cel roșu se poate activa comanda curentă. | ||
| + | ==== Fotografie cu circuitul aparatului ==== | ||
| + | {{ :pm:prj2025:ccristi:mihnea.zarojanu:hardware_poza.jpg?600 |Poză hardware}} | ||
| ===== Hardware Design ===== | ===== Hardware Design ===== | ||
| ==== Listă de componente ==== | ==== Listă de componente ==== | ||
| Line 33: | 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 47: | 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 54: | 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 | ||