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.
Mediul de dezvoltare utilizat a fost
Arduino IDE, iar testarea a fost realizata direct pe modelul hardware.
Librarii incluse:
NewPing.h (senzorul ultrasonic)
Servo.h (servomotor)
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);
Acest proiect a reprezentat o adevarata provocare, incepand de la cautarea pieselor necesare si pana la asamblarea lui si implementarea codului.
De ce? Pentru ca am intampinat dificultati, nu gaseam piesele de care aveam nevoie, la asamblarea lui s-au mai rupt anumite componente etc. Cand a ajuns in starea fizica finala am intampinat cateva probleme si la nivel software. Insa, cu putina rabdare si atentie am reusit sa dau de cap problemelor intampinate si am obtinut un rezultat final frumos si functional. Acest proiect m-a facut sa inteleg cum pot transforma o idee in ceva real, palpabil, starnindu-mi interesul in crearea altor proiecte ce contin placi arduino si nu numai.