This shows you the differences between two versions of the page.
pm:prj2025:iotelea:calin.semeniuc [2025/05/30 08:29] calin.semeniuc [Hardware Design] |
pm:prj2025:iotelea:calin.semeniuc [2025/05/30 08:44] (current) calin.semeniuc [Software Design] |
||
---|---|---|---|
Line 80: | Line 80: | ||
* Wire.h | * Wire.h | ||
* Structs.h (include structurile necesare pentru comunicare cu Senzorul de culoare si motoare) | * Structs.h (include structurile necesare pentru comunicare cu Senzorul de culoare si motoare) | ||
+ | |||
+ | === Algoritm === | ||
+ | - Se inititializeaza platforma RVR+ prin USART, folosing USB serial si ecranul. | ||
+ | - Se asteapta apasarea senzorului PIR pentru a da drumul robotului. | ||
+ | - Cand a pornit robotul, el merge drept inainte pana cand intalneste un obstacol sau gaseste culoarea rosie de sub el. | ||
+ | - Daca obstacolul e in fata, se da in spate si face o rotire de 180 grade. Daca e in senzorii laterali, se da inapoi in directia opusa si se indreapta asa cum era inainte (cu alte cuvinte, trece pe langa obstacolul lateral). | ||
+ | - Daca scaneaza o suprafata rosie, se opreste. | ||
+ | |||
+ | === Functii implementate === | ||
+ | PIR Sensor | ||
+ | | **Functie**| **Descriere**| | ||
+ | | rotate180_fast | rotire 180 in cel mai rapid mod| | ||
+ | | lcd.setcursor | | | ||
+ | | lcd.print | | | ||
+ | | rvr.configUART | initializare RVR | | ||
+ | | rvr.getDriveControl() | obtinere obiect pentru apelarea functiilor rvr | | ||
+ | | rvr.resetYaw() / dc.resetHeading() | resetare giroscop intern | | ||
+ | | dc.setRawMotors | setare viteza motoare fina | | ||
+ | | dc.rollStart()/rollStop() | setare mers robot, simplu | | ||
+ | | colorCallback() | scanarea culorilor | | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||