This shows you the differences between two versions of the page.
pm:prj2022:arosca:robot_cu_roti [2022/05/30 16:36] Matei.iordache [Software Design] |
pm:prj2022:arosca:robot_cu_roti [2022/05/30 18:03] (current) Matei.iordache [Jurnal] |
||
---|---|---|---|
Line 12: | Line 12: | ||
{{:pm:prj2022:arosca:pm_iordache_matei_cezar_32241.png?600|}} | {{:pm:prj2022:arosca:pm_iordache_matei_cezar_32241.png?600|}} | ||
+ | |||
+ | ==== Schemă electrică ==== | ||
+ | {{:pm:prj2022:arosca:schema_electrica_matei_iordache.jpeg?600|}} | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
Line 41: | Line 44: | ||
Biblioteci folosite: | Biblioteci folosite: | ||
* Servo ((https://www.arduino.cc/reference/en/libraries/servo/)) | * Servo ((https://www.arduino.cc/reference/en/libraries/servo/)) | ||
+ | ==== Structura codului ==== | ||
+ | |||
+ | **Functii** | ||
+ | * //setup()// → initializarea pinilor pentru driver si servomotor, scaneaza prima data zona | ||
+ | * //loop()// → logica principala. La 50ms se citeste distanta de la senzorul cu ultrasunete. Se verifica daca suntem prea aproape de un obstacol. Se cheama functia drive care are grija ca vehiculul sa nu intre in obstacol. | ||
+ | * //drive()// → merge inainte daca nu e niciun obstacol. Merge la dreapta/stanga daca e un obstacol. | ||
+ | * //checkClose()// → verifica daca distanta e prea aproape de vehicul. | ||
+ | * //readNextDistance()// → scaneaza zona de obstacole. | ||
+ | * //readDistance()// → obtine distanta de la senzorul cu ultrasunete | ||
+ | |||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
Line 52: | Line 65: | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Mașina reușește să recunoască cu succes obstacolele aflate în fața ei și să le evite, deplasandu-se in alta directie. | ||
+ | |||
+ | A fost un proiect misto in care am invatat in mod practic sa fac inginerie (building a car) :) | ||
===== Download ===== | ===== Download ===== | ||
- | <note warning> | + | {{:pm:prj2022:arosca:matei_pm.zip|}} |
- | 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ă ;-). | + | |
- | 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> | ||
- | ===== Jurnal ===== | ||
- | |||
- | <note tip> | ||
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | ||
- | </note> | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | |||
- | <note> | ||
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | ||
- | </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> | ||