This is an old revision of the document!


Human Following Robot

Introducere

Human Following Robot este o masina pe 2 roti si o roata ajutatoare ce detecteaza miscarea din jurul sau. Acest proiect m-a ajutat sa imi perfectionez abilitatile in implementarea unui cod si sa il pun in functiune prin intermediul unui robot.

Descriere generală

Senzorul ultrasonic atasat pe un servomotor, ofera robotului capacitatea de a-si intoarce privirea la 90 de grade la stanga si 90 de grade la dreapta in scopul detectarii unui obiect pentru a-l putea urmari. Am avut nevoie, de asemenea, si de senzorul cu infrarosu de proximitate pentru a realiza virajele masinii.

Schema bloc

Hardware Design

Am avut nevoie de urmatoarele piese:

  • Arduino Uno R3
  • Driver motor
  • Roti
  • Gear motor
  • Servomotor
  • Senzor ultrasonic
  • Senzor infrarosu de proximitate
  • Baterii
  • Cabluri

Software Design

Mediul de dezvoltare utilizat a fost Arduino IDE, iar testarea a fost realizata direct pe modelul hardware.

Librarii incluse:

  1. NewPing.h (senzorul ultrasonic)
  2. Servo.h (servomotor)
  3. AFMotor.h (gear motor)

Primul pas important a fost sa creez setup-ul pentru servomotor, astfel incat acesta sa fie capabil sa se roteasca la 90 si la 180 de grade si sa revina la forma initiala.

void setup() {

Serial.begin(9600);
myservo.attach(10);

{
for(pos = 90; pos <= 180; pos += 1){   
myservo.write(pos);                   
delay(15);                            
} 

for(pos = 180; pos >= 0; pos-= 1) {     
myservo.write(pos);                   
delay(15);                            
}

for(pos = 0; pos<=90; pos += 1) {       
myservo.write(pos);                   
delay(15);                            
}

}
}

Creand variabile ce retin valorile senzorilor IR drept si stang (Right_Value si Left_Value), am reusit sa adaug in functia “loop” codul ce face robotul sa fie pus in miscare.

De exemplu, daca Right_Value = 0 si Left_Value = 1, atunci robotul va vira la stanga, roata motorului din stanga mergand inapoi iar a celui din dreapta inainte, prin implementari de tipul:

Motor3.setSpeed(150);  
Motor3.run(FORWARD);   
Motor4.setSpeed(150);  
Motor4.run(BACKWARD);  

Rezultate Obţinute

8-o 8-o 8-o

Concluzii

Download

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.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2022/avaduva/followingrobot.1653675576.txt.gz · Last modified: 2022/05/27 21:19 by ana.sandulescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0