This is an old revision of the document!
Masina ocolitoare de obstacole
Introducere
Obiectivul temei propuse este acela de a construi o masina autonoma, care ocoleste toate obstacolele din calea ei.
Este o tema destul de interesanta, cu o aplicabilitate vasta in continuare.
Masina va merge inainte pana cand va detecta un obstacol. Atunci va incerca sa depisteze o noua ruta pe care sa o ia.
In acest fel masina nu se va bloca niciodata atata timp cat mai exita minim o ruta pe care sa o ia.
Descriere generală
Hardware Design
In scopul obtinerii masinii autonome am ales sa folosesc urmatoarele componente:
Arduino
Motor driver shield
Roti
Motorase
Servo motor
Senzor ultrasonic
Baterii
Fire
Sasiu de lemn
Schema electrica a robotului este urmatoarea:
Software Design
Aplicatiile folosite pentru acest proiect sunt:
Arduino IDE pentru a scrie cod si pentru a incarca codul pe placuta Arduino
EAGLE 9.3.0 pentru a face schema electrica
Despre cod:
Biblioteci instalate si folosite:
#include <AFMotor.h>
#include <NewPing.h>
#include <Servo.h>
Logica codului:
functia setup(): initializez si setez servo-motorul, calculez distanta pana la primul obstacol(daca exista)
functia loop(): daca distanta este mai mica de 2cm, atunci masina opreste prin functia stopCar(), da putin cu spatele prin functia mvBk(), opreste iar, calculeaza distantele pana la primele obstacole din stanga si din dreapta prin functiile verifDr() si verifSt() si alege pe ce directie se pozitioneaza in functie de distanta mai mare, pozitionare realizata de una dintre functiile setSt() sau setDr(), apoi iar se opreste; daca distanta initiala pana la primul obstacol nu este mai mica de 2cm atunci masina continua sa mearga in fata. In finalul functiei loop() calculez iar distanta pana la primul obstacol.
Rezultate Obținute
Demo:
Descarca documentatia:
PDF
Concluzii
Download
Jurnal
Bibliografie/Resurse