This shows you the differences between two versions of the page.
pm:prj2023:ndrogeanu:linefollower [2023/05/27 17:18] simina.dinu [Software Design] |
pm:prj2023:ndrogeanu:linefollower [2023/05/29 13:34] (current) simina.dinu [Software Design] |
||
---|---|---|---|
Line 30: | Line 30: | ||
{{:pm:prj2023:ndrogeanu:linefollower_schema_electrica.jpg?770}}\\ | {{:pm:prj2023:ndrogeanu:linefollower_schema_electrica.jpg?770}}\\ | ||
- | **Poze rezultat final:**\\ | ||
- | {{:pm:prj2023:ndrogeanu:poze_masina.jpg?770}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | Descrierea codului aplicaţiei (firmware): | ||
- | <note tip> | ||
- | Descrierea codului aplicaţiei (firmware): | ||
* Pentru a scrie codul am folosit Arduino IDE 2.1.0 | * Pentru a scrie codul am folosit Arduino IDE 2.1.0 | ||
- | * Am avut nevoie de libraria Adafruit Motor Shield, necesara datorita driver-ului de motoare folosit (L293D) | + | * Librarii folosite: |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | - Am avut nevoie de libraria Adafruit Motor Shield, necesara datorita driver-ului de motoare folosit (L293D). Cu ajutorul ei am declarat motoarele astfel: |
- | * (etapa 3) surse şi funcţii implementate | + | - AF_DCMotor motor1(1, MOTOR12_1KHZ); (motorul stang) |
- | </note> | + | - AF_DCMotor motor2(4, MOTOR34_1KHZ); (motorul drept) |
+ | - Pentru contrulul motoarelor am folosit urmatoarele functii: | ||
+ | - setSpeed() | ||
+ | - run(FORWARD) si run(RELEASE)\\ | ||
+ | - Pentru a stii daca robotul trebuie sa se deplaseze in fata/stanga/dreapta sau sa se opreasca, am verificat senzorii astfel: | ||
+ | - daca ambii senzori au valoarea 0, atunci linia neagra se afla intre senzori si robotul trebuie sa se deplaseze drept, iar in acest caz apeleaza functia run() implementata de mine; | ||
+ | - daca ambii senzori au valoarea 1, inseamna ca ambii senzori se afla pe linia neagra, iar robotul apeleaza functia Stop() pentru a se opri; | ||
+ | - daca senzorul drept are valoarea 1 si senzorul stang are valoarea 0, atunci robotul trebuie sa faca dreapta, apeland functia right(); | ||
+ | - daca senzorul stang are valoarea 1 si senzorul drept are valoarea 0, atunci robotul trebuie sa faca stanga, apeland functia left(). | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | **Poze rezultat final:**\\ |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | {{:pm:prj2023:ndrogeanu:poze_masina.jpg?770}} |
- | </note> | + | |
- | ===== Concluzii ===== | ||
===== Download ===== | ===== Download ===== | ||
- | <note warning> | + | <note> |
- | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). | + | Codul complet si video cu rezultatul final:\\ |
- | + | {{:pm:prj2023:ndrogeanu:cod_video.zip}} | |
- | Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:pm:prj20??:c?** sau **:pm:prj20??:c?:nume_student** (dacă este cazul). **Exemplu:** Dumitru Alin, 331CC -> **:pm:prj2009:cc:dumitru_alin**. | + | |
</note> | </note> | ||
Line 70: | Line 73: | ||
- 22.05.2023 Construire pista robot | - 22.05.2023 Construire pista robot | ||
- 22.05.2023-27.05.2023 Implementare software | - 22.05.2023-27.05.2023 Implementare software | ||
+ | - 28.05.2023 Finalizare pagina wiki | ||
</note> | </note> | ||
Line 75: | Line 79: | ||
<note> | <note> | ||
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | [[https://circuitdigest.com/microcontroller-projects/arduino-uno-line-follower-robot]] |
+ | [[https://www.youtube.com/watch?v=Q36NbjPMV5k&ab_channel=DIYBuilder]] | ||
+ | [[https://5.imimg.com/data5/PX/UK/MY-1833510/l293d-based-arduino-motor-shield.pdf]] | ||
+ | [[https://lastminuteengineers.com/l293d-motor-driver-shield-arduino-tutorial/]] | ||
</note> | </note> | ||
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||