This shows you the differences between two versions of the page.
pm:prj2023:adarmaz:bianca.baiatu [2023/05/28 22:04] bianca.baiatu [Software Design] |
pm:prj2023:adarmaz:bianca.baiatu [2023/05/29 20:14] (current) bianca.baiatu [Rezultate Obţinute] |
||
---|---|---|---|
Line 68: | Line 68: | ||
**Setup()** | **Setup()** | ||
- | În funcția setup sunt setati ca output pinii ce controlează motoarele și vitezele acestora și pinul Trig al senzorului ultrasonic HR-SR04. Ca input sunt setați pinii senzorilor infraroșu și butonul. | + | În funcția setup() sunt setati ca output pinii ce controlează motoarele și vitezele acestora și pinul Trig al senzorului ultrasonic HR-SR04. Ca input sunt setați pinii senzorilor infraroșu și butonul. |
Tot aici sunt apelate funcțiile //set_initial_position()// (care oprește motoarele și trece pinii acestora pe LOW) și //setup_interrupts()// (care setează întreruperile venite de la pinul butonului legat la PD2). | Tot aici sunt apelate funcțiile //set_initial_position()// (care oprește motoarele și trece pinii acestora pe LOW) și //setup_interrupts()// (care setează întreruperile venite de la pinul butonului legat la PD2). | ||
**Loop()** | **Loop()** | ||
+ | |||
+ | În funcția loop() se calculează mai întâi distanța față de obstacole cu ajutorul senzorului ultrasonic prin apelul funcției //avoid_obstacle()//. | ||
+ | |||
+ | Dacă distanța calculată este mai mare de 8cm se apelează funcția //find_position()//. În această funcție se citesc valorile senzorilor infraroșu. În funcție de aceste valori se determină dacă robotul trebuie să meargă înainte, la dreapta, la stânga sau să se oprească. | ||
+ | În funcție de valoarea returnată se apelează funcțiile //move_forward()//, //move_right()//, //move_left()// care setează vitezele motoarelor după necesitate. | ||
+ | |||
+ | Dacă distanța calculată este mai mică de 8cm robotul ocolește obstacolul făcând la dreapta, mergând înainte și apoi la stânga până întâlnește din nou linia neagră. | ||
+ | |||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
<note tip> | <note tip> | ||
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | Puteți observa rezultatele obținute prin intermediul celor două clip-uri de mai jos: |
+ | |||
+ | [[https://youtube.com/shorts/Pbcc4F2RteU?feature=share]] | ||
+ | |||
+ | [[https://youtu.be/U3EZHQZltl8]] | ||
</note> | </note> | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Cea mai mare dificultate întâmpinată în implementarea acestui proiect a fost epuizarea foarte rapidă a bateriilor și necesitatea ajustării vitezei în funcție de nivelul de descărcare a acesteia. Pe de altă parte proiectul a fost interesant și plănuiesc să continui să îl dezvolt. Voi încerca să îl programez folosind algoritmul PID (din păcate nu i-am dat de cap). | ||
===== Download ===== | ===== Download ===== | ||
- | <note warning> | + | <note tip> |
- | + | {{:pm:prj2023:adarmaz:pm_proiect2023_baiatu_bianca_333ca.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 90: | Line 102: | ||
<note tip> | <note tip> | ||
+ | - 25 aprilie - achiziționare piese | ||
+ | - 30 aprilie - pagină documentație | ||
+ | - 1-15 mai - realizare hardware | ||
+ | - 15-26 mai - realizare software | ||
</note> | </note> | ||
Line 95: | Line 111: | ||
<note> | <note> | ||
+ | - Laboratorul 2 Întreruperi: [[https://ocw.cs.pub.ro/courses/pm/lab/lab2-2023]] | ||
+ | - Laboratorul 3 PWM: [[https://ocw.cs.pub.ro/courses/pm/lab/lab3-2023]] | ||
+ | - Laboratorul 4 ADC: [[https://ocw.cs.pub.ro/courses/pm/lab/lab4-2022]] | ||
</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> | ||