This shows you the differences between two versions of the page.
pm:prj2024:iotelea:dragos.filipescu [2024/05/27 03:57] dragos.filipescu [Hardware Design] |
pm:prj2024:iotelea:dragos.filipescu [2024/05/28 21:07] (current) dragos.filipescu [Software Design] |
||
---|---|---|---|
Line 39: | Line 39: | ||
**Schema hardware** | **Schema hardware** | ||
- | {{ :pm:prj2024:iotelea:schema_hardware_seismograf.drawio.png?600 |}} | + | {{ :pm:prj2024:iotelea:schema_hardware_seismograf.drawio.png?direct&600 |}} |
**Prima versiune functionala (test LCD)** | **Prima versiune functionala (test LCD)** | ||
{{ :pm:prj2024:iotelea:seismograf.gif?direct&600 |}} | {{ :pm:prj2024:iotelea:seismograf.gif?direct&600 |}} | ||
+ | |||
+ | **Versiunea finala (seismograma pe dsiplay LCD)** | ||
+ | |||
+ | {{ :pm:prj2024:iotelea:seismograf2.gif?direct&600 |}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
Line 50: | Line 54: | ||
Pentru o precizie mai buna, am folosit algoritmul [[https://en.wikipedia.org/wiki/Kahan_summation_algorithm#The_algorithm|Kahan Summation]] pentru a face media primelor ''SAMPLE_SIZE'' valori masurate de accelerometru, astfel incat masuratorile ulterioare sa aiba un punct de referinta cat mai precis. | Pentru o precizie mai buna, am folosit algoritmul [[https://en.wikipedia.org/wiki/Kahan_summation_algorithm#The_algorithm|Kahan Summation]] pentru a face media primelor ''SAMPLE_SIZE'' valori masurate de accelerometru, astfel incat masuratorile ulterioare sa aiba un punct de referinta cat mai precis. | ||
+ | |||
+ | {{ :pm:prj2024:iotelea:seismograf_-_kahan_summation.png?direct&600 |}} | ||
Pe langa procesul de calibrare, in setup se initializeaza si timer-ul 1, care va emite o intrerupere software la fiecare secunda, iar la ''FILE_SAVE_INTERVAL'' secunde, se vor scrie date in cardul SD. | Pe langa procesul de calibrare, in setup se initializeaza si timer-ul 1, care va emite o intrerupere software la fiecare secunda, iar la ''FILE_SAVE_INTERVAL'' secunde, se vor scrie date in cardul SD. | ||
+ | |||
+ | {{ :pm:prj2024:iotelea:seismograf_-_timer.png?direct&600 |}} | ||
LED-ul se va aprinde pentru a semnala scrierea datelor pe card, pentru ca acesta sa nu fie scos din slot, ceea ce ar risca coruperea cardului. LED-ul se va stinge cand datele au fost scrise si fisierul inchis. | LED-ul se va aprinde pentru a semnala scrierea datelor pe card, pentru ca acesta sa nu fie scos din slot, ceea ce ar risca coruperea cardului. LED-ul se va stinge cand datele au fost scrise si fisierul inchis. | ||
Line 57: | Line 65: | ||
In vederea scrierii datelor in cardul SD, masuratorile sunt pastrate in 4 buffere de 20 de valori fiecare, care vor stoca valorile acceleratiilor pe cele 3 axe, precum si magnitudinea vectorului V = X + Y + Z, unde X, Y si Z sunt vectorii ce reprezinta acceleratiile pe cele 3 axe. | In vederea scrierii datelor in cardul SD, masuratorile sunt pastrate in 4 buffere de 20 de valori fiecare, care vor stoca valorile acceleratiilor pe cele 3 axe, precum si magnitudinea vectorului V = X + Y + Z, unde X, Y si Z sunt vectorii ce reprezinta acceleratiile pe cele 3 axe. | ||
+ | {{ :pm:prj2024:iotelea:seismograf_-_buffere.png?direct&600 |}} | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
Line 65: | Line 73: | ||
===== Download ===== | ===== Download ===== | ||
- | <note warning> | + | {{:pm:prj2024:iotelea:seismograf.zip|}} |
- | 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ă ;-). | + | |
- | + | ||
- | 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> | + | |
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== |