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 ===== |