Robotel Line Follower

Introducere

Prezentarea pe scurt a proiectului vostru:

  • Proiectul acesta presupune crearea unui robotel care poate urmari o linie de pe podea. Scopul proiectului este acela de a aplica cunostintele dobandite pe parcursul laboratoarelor din acest semestru. De asemenea, reprezinta si o oportunitate de a-mi perfectiona abilitatile de programare in limbajul C.

Descriere generală a modului de functionare

Placuta Arduino UNO va primi informatii de la cei 2 senzori optici. Acesti senzori se afla de o parte si de alta a liniei care trebuie urmarita. In cazul in care un senzor detecteaza linia, informatia este transmisa catre microcontrollerul ATMEGA328 care, la randul lui, controleaza motoarele. Placuta va comanda oprirea rotii de pe partea cu senzorul, pentru ca masinuta sa se redreseze. Roata ramane oprita pana cand celalalt senzor “loveste” linia. Acum, cealalta roata se opreste. Procesul se repeta, linefollower-ul avansand “din greseala in greseala”.

In cazul unei “coliziuni” cu linia (descrisa mai sus), placuta ATMEGA328 va comanda ecranul OLED sa afiseze un anumit mesaj.

In plus, daca exista un obstacol la mai putin de 20 cm distanta in directia inainte, senzorul ultrasonic il va detecta, iar rotile linefollower-ului se vor opri.

Hardware Design

Lista de piese

  • Placuta Arduino UNO - microcontroller ATMEGA328
  • Baterie 9V (pentru alimentarea placutei Arduino)
  • Modul Driver L298N (pentru 2 motoare DC)
  • 2 motoare (curent continuu 6V)
  • 2 roti
  • 4 baterii AA (1.5V) + carcasa (pentru alimentarea modulului Driver)
  • Ecran OLED
  • 2 * Infrared Sensor
  • Sensor Ultrasonic pentru distanta HC-SR04
  • Fire de legatura

Software Design

Din punct de vedere al software-ului, linefollower-ul nu este foarte complicat. Avand doar 2 senzori infrarosii, am decis ca cea mai buna decizie ar fi sa implementez 2 intreruperi pe pinii PD2 si PD3 ai placutei. Aceste intreruperi vor schimba valoarea unei variabile, iar in bucla principala, in functie de aceasta variabila, voi controla motoarele.

O alta varianta de implementare software a a acestui proiect ar fi citirea direct in bucla principala a valorilor de la senzorii infrarosii.

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare: ARDUINO IDE
  • NU am folosit nicio biblioteca externa

Rezultate Obţinute

Robotul urmareste linia neagra trasata pe fundal alb.

Concluzii

Principala provocare a acestui proiect a fost asamblarea pieselor hardware astfel incat proiectul sa functioneze. A trebuit sa fiu atent la alimentarea modulului drive si a placutei Arduino astfel incat motoarele sa aiba destula putere sa miste robotul. Asezarea componentelor pe placa de carton a fost de asemenea foarte importanta, intrucat dezechilibrarea robotului putea duce la functionarea gresita a senzorilor infrarosii.

Download

Bibliografie/Resurse

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

Export to PDF

pm/prj2023/danield/linetracer.txt · Last modified: 2023/05/29 19:24 by araducanu
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