This shows you the differences between two versions of the page.
|
pm:prj2024:avaduva:mihai_brezniceanu [2024/05/27 09:05] mihai.brezniceanu [Software Design] |
pm:prj2024:avaduva:mihai_brezniceanu [2024/05/27 09:20] (current) mihai.brezniceanu [Software Design] |
||
|---|---|---|---|
| Line 54: | Line 54: | ||
| * init_TO_DO - initializeaza imaginea pe diaplay, seteaza intensitatea luminoasa la un interval de 0.5s, initializeaza conexiunea bluetooth si asteapta date pe seriala, initializeaza giroscopul-accelerometrul, printeaza forma pe display-ul din pozitia curenta. | * init_TO_DO - initializeaza imaginea pe diaplay, seteaza intensitatea luminoasa la un interval de 0.5s, initializeaza conexiunea bluetooth si asteapta date pe seriala, initializeaza giroscopul-accelerometrul, printeaza forma pe display-ul din pozitia curenta. | ||
| * functii de calcul pentru indexi si starea ledurilor, precum si nr mini display-ul pe care trebuie incarcate. | * functii de calcul pentru indexi si starea ledurilor, precum si nr mini display-ul pe care trebuie incarcate. | ||
| - | * blocuri de cod timer si preluarea si prelucrarea mesajelor prinmite prin bluetooth. | + | * blocuri de cod timer si preluarea si prelucrarea mesajelor prinmite prin bluetooth (se utilizeaza o aplicatie ca interfata - https://play.google.com/store/apps/details?id=com.giumig.apps.bluetoothserialmonitor&hl=en ) |
| Documentatia pentru cele doua librari utilizate poate fi gasita pe site-ul oficial, cu o multime de exemple, modele grafice, imagini, cod sursa, API-uri si multe alte informatii pentru o mai buna intelegere a modului de lucru si a potentialului pe care il are proiectul. | Documentatia pentru cele doua librari utilizate poate fi gasita pe site-ul oficial, cu o multime de exemple, modele grafice, imagini, cod sursa, API-uri si multe alte informatii pentru o mai buna intelegere a modului de lucru si a potentialului pe care il are proiectul. | ||
| Line 63: | Line 63: | ||
| **Calcul unghiuri de inclinatie** | **Calcul unghiuri de inclinatie** | ||
| * AccX = Wire.read() << 8 | Wire.read(); | * AccX = Wire.read() << 8 | Wire.read(); | ||
| - | * AccY ..., AccY ...; | + | * AccY ..., AccZ ...; |
| * AccX = (float)AccX / 4096; ... | * AccX = (float)AccX / 4096; ... | ||
| * AngleRoll = atan(AccY / sqrt(AccX * AccX + AccZ * AccZ)) * 1 / (3.14159265 / 180); | * AngleRoll = atan(AccY / sqrt(AccX * AccX + AccZ * AccZ)) * 1 / (3.14159265 / 180); | ||
| * AnglePitch = -atan(AccX / sqrt(AccY * AccY + AccZ * AccZ)) * 1 / (3.14159265 / 180); | * AnglePitch = -atan(AccX / sqrt(AccY * AccY + AccZ * AccZ)) * 1 / (3.14159265 / 180); | ||
| | | ||
| - | Valori intre -90 si +90 de grade iclinatie. | + | Valorile se afla intre -90 si +90 de grade inclinatie. |
| - | Pe abaza acestora si a unui thrashhold de 25-30, are loc deplasarea elementelor. | + | Pe baza acestora si a unui thrashhold de 15-30, are loc deplasarea elementelor. |
| ===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||