This shows you the differences between two versions of the page.
pm:prj2025:iotelea:calin.semeniuc [2025/05/26 22:38] calin.semeniuc [Descriere generală] |
pm:prj2025:iotelea:calin.semeniuc [2025/05/30 08:44] (current) calin.semeniuc [Software Design] |
||
---|---|---|---|
Line 7: | Line 7: | ||
===== Introducere ===== | ===== Introducere ===== | ||
- | {{:pm:prj2025:iotelea:20250526_221101_hdr.jpg?nolink&200|}} | + | {{:pm:prj2025:iotelea:20250526_221101_hdr.jpg?nolink&400|}} |
=== Ce face proiectul? === | === Ce face proiectul? === | ||
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 | | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||