Masina ocolitoare de obstacole

Autor: Mosessohn Vlad Grupa: 332CA

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:

  1. Arduino
  2. Motor driver shield
  3. Roti
  4. Motorase
  5. Servo motor
  6. Senzor ultrasonic
  7. Baterii
  8. Fire
  9. Sasiu de lemn

Schema electrica a robotului este urmatoarea:

Software Design

Aplicatiile folosite pentru acest proiect sunt:

  1. Arduino IDE pentru a scrie cod si pentru a incarca codul pe placuta Arduino
  2. EAGLE 9.3.0 pentru a face schema electrica

Despre cod:

Biblioteci instalate si folosite:

  1. #include <AFMotor.h>
  2. #include <NewPing.h>
  3. #include <Servo.h>

Logica codului:

  1. functia setup(): initializez si setez servo-motorul, calculez distanta pana la primul obstacol(daca exista)
  2. 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

Concluzii

Obiectivul acestui proeict, si anume acela de a construi si programa o masinuta ocolitoare de obstacole, a fost indeplinit cu succes. Tema a fost una foarte interesanta, iar constructia si programarea robotului au durat putin mai mult decat ma asteptam intrucat a trebuit sa studiez in detaliu fiecare componenta a masinii. In final, rezultatul proiectului este cel asteptat, si anume o masina autonoma functionala.

Download

Descarca documentatia: PDF

Jurnal

  1. 10.5.2021 - Am comandat piesele;
  2. 13.5.2021 - Au ajuns piesele; Am decis si sasiul robotului(din lemn) si am lipit motoarele pe el;
  3. 17.5.2021 - Am terminat de scris codul masinii(varianta initiala);
  4. 19.5.2021 - Am incarcat codul pe placa Arduino; Am montat placuta Arduino; Am montat motor driver shield-ul; Am conectat motoarele la shield; Am lipit pe sasiu si servo directia; Am conectat servo directia la shield; Am conectat senzorul de proximitate la shield;
  5. 21.5.2021 - Am mers la varul meu(care are o sursa de tensiune) pentru a alimenta masina sa vad daca functioneaza; Dupa am mers sa cumpar baterii si suport de baterii; Am contctat si alimentarea la shield;
  6. 22.5.2021 - Am testat robotul; Am facut unele modificari in cod(cand dadea de un obstacol si voia sa o ia in alta directie, masina nu mai avea loc sa mearga deoarece era prea aproape de obstacol, asa ca am pus-o sa dea putin cu spatele);
  7. 23.5.2021 - Am testat iar robotul; Acum merge optim, desi se mai intampla sa detecteze prea greu un obstacol;
  8. 1.6.2021 - Documentatia este gata;

Bibliografie/Resurse

pm/prj2021/apredescu/masina_ocolitoare_de_obstacole.txt · Last modified: 2021/06/02 09:15 by vlad.mosessohn
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