This shows you the differences between two versions of the page.
|
pm:prj2025:iotelea:calin.semeniuc [2025/05/26 22:38] calin.semeniuc [Introducere] |
pm:prj2025:iotelea:calin.semeniuc [2025/05/30 08:44] (current) calin.semeniuc [Software Design] |
||
|---|---|---|---|
| Line 32: | Line 32: | ||
| {{:pm:prj2025:iotelea:diagrama_logica_pm_1_.png?nolink|}} | {{:pm:prj2025:iotelea:diagrama_logica_pm_1_.png?nolink|}} | ||
| ===== Hardware Design ====== | ===== Hardware Design ====== | ||
| + | {{:pm:prj2025:iotelea:fritzing_jcjm7zwzz2.png?nolink&600|}} | ||
| === Piese: === | === Piese: === | ||
| * 1p Senzor PIR HC-SR501 {{:pm:prj2025:iotelea:hc_sr501_pir_sensor_datasheet.pdf|}} | * 1p Senzor PIR HC-SR501 {{:pm:prj2025:iotelea:hc_sr501_pir_sensor_datasheet.pdf|}} | ||
| Line 79: | 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 | | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||