This shows you the differences between two versions of the page.
pm:prj2025:eradu:cristian.tudor1607 [2025/05/30 04:33] cristian.tudor1607 |
pm:prj2025:eradu:cristian.tudor1607 [2025/05/30 04:56] (current) cristian.tudor1607 [Jurnal] |
||
---|---|---|---|
Line 18: | Line 18: | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
- | |||
- | <note tip> | ||
- | Aici puneţi tot ce ţine de hardware design: | ||
- | * listă de piese | ||
- | * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) | ||
- | * diagrame de semnal | ||
- | * rezultatele simulării | ||
- | </note> | ||
==Lista de piese== | ==Lista de piese== | ||
Line 35: | Line 27: | ||
* [[https://www.optimusdigital.ro/ro/motoare-altele/3265-motor-in-miniatura.html?search_query=mini+motor&results=101|Motor in miniatura 3-6V]] | * [[https://www.optimusdigital.ro/ro/motoare-altele/3265-motor-in-miniatura.html?search_query=mini+motor&results=101|Motor in miniatura 3-6V]] | ||
* [[https://www.optimusdigital.ro/ro/elice/12120-elice-pentru-jucarii.html?search_query=elice&results=129|Elice]] | * [[https://www.optimusdigital.ro/ro/elice/12120-elice-pentru-jucarii.html?search_query=elice&results=129|Elice]] | ||
- | * [[https://www.itgalaxy.ro/acumulator-extern/joyroom/jr-pbf12-10000mah-12w-1-x-usb-c-2-x-usb-a-negru-770632/?gad_source=1&gad_campaignid=20294441435&gbraid=0AAAAAD84GZYJQYyTwte-AX6IZuU7X43yJ&gclid=CjwKCAjwi-DBBhA5EiwAXOHsGchkSPpvP4oJ3iYhMdPkSbrDAXcBf_b503_fgRHLNAQVFNOCjLnBHxoCXdMQAvD_BwE]] Powerbank | + | * [[https://www.itgalaxy.ro/acumulator-extern/joyroom/jr-pbf12-10000mah-12w-1-x-usb-c-2-x-usb-a-negru-770632/?gad_source=1&gad_campaignid=20294441435&gbraid=0AAAAAD84GZYJQYyTwte-AX6IZuU7X43yJ&gclid=CjwKCAjwi-DBBhA5EiwAXOHsGchkSPpvP4oJ3iYhMdPkSbrDAXcBf_b503_fgRHLNAQVFNOCjLnBHxoCXdMQAvD_BwE| Powerbank]] |
==Schema electrica== | ==Schema electrica== | ||
Line 124: | Line 116: | ||
</code> | </code> | ||
- | **Cum funcționează ?** | + | <note> |
- | Se generează o întrerupere pe pinul la care este legat ECHO al senzorului ultrasonic la fiecare schimbare a semnalului.\\ Când TRIG emite unda, ECHO trece pe HIGH, iar când se întoarce unda, ECHO trece pe LOW. Se retine timestampul pentru fiecare dintre aceste evenimente, pentru a calcula timpul dus-întors al undei. Știind viteza sunetului, obținem distanța. | + | **Cum funcționează ?** \\ |
+ | Se generează o întrerupere pe pinul la care este legat ECHO al senzorului ultrasonic la fiecare schimbare a semnalului.\\ Când TRIG emite unda, ECHO trece pe HIGH, iar când se întoarce unda, ECHO trece pe LOW. Se retine timestampul pentru fiecare dintre aceste evenimente si se face diferența, pentru a calcula timpul dus-întors al undei. Știind viteza sunetului, si timpul dus-întors, putem calcula ușor distanța parcursă. | ||
+ | </note> | ||
+ | |||
+ | == Alegerea unei noi direcții == | ||
+ | Pentru alegerea unei noi direcții, FSM-ul din main folosește mai multe API-uri, definite in **ServoControl.h**: | ||
+ | |||
+ | <code C> | ||
+ | void initServoControl(void); | ||
+ | void lookAtRightInstant(int angle); | ||
+ | void lookAtLeftInstant(int angle); | ||
+ | void lookCenter(void); | ||
+ | void initLookPoints(void); | ||
+ | void clearLookPoints(void); | ||
+ | void scanAllLookPoints(void); | ||
+ | int getBestAngle(void); | ||
+ | </code> | ||
+ | |||
+ | <note> | ||
+ | Robotul alege direcția prin rotirea servomotorului la mai multe unghiuri predefinite pentru a scana distanțele din stânga, centru și dreapta. Pe baza acestor măsurători, se selectează unghiul cu cea mai mare distanță liberă, iar robotul se va orienta spre acea direcție pentru a evita obstacolele. | ||
+ | </note> | ||
Line 131: | Line 143: | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | * Robotul a fost capabil sa evite obstacole si sa aleagă bine o noua direcție de deplasare. |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | * Sistemul de vid funcționează parțial – eficiența de aspirare este limitată (aproape inexistentă). |
- | </note> | + | * Controlul motoarelor și al servomotorului este stabil. |
+ | * Senzorul ultrasonic detectează corect peretele și obstacolele. | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Proiectul demonstrează posibilitatea realizării unui robot de curățenie funcțional, cu un design modular și scalabil. Limitările țin mai ales de lipsa unui algoritm mai sofisticat pentru detecția și ocolirea obstacolelor, precum și de eficiența sistemului de aspirare. | ||
===== Download ===== | ===== Download ===== | ||
Line 147: | Line 160: | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
- | <note tip> | + | == Video demonstrativ == |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | https://www.youtube.com/shorts/H-P-53NL3jc |
- | </note> | + | |
+ | == Imagini == | ||
+ | |||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== |