Table of Contents

Iulian-Marian BARBU (78306) - Line Follower Robot

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Descriere generală

Hardware Design

Piesă Cantitate
Placa de baza 1
Componente obligatorii 1
Roata cauciuc 2
DC motor 2
Modul senzori urmarit linie 1
Punte H 1
Sasiu 1

Schema electrica pe care o voi implementa este urmatoarea:

Software Design

Design-ul software este modest. Acesta se bazeaza pe natura ultra aplicativa a modulului line tracer FunDuino, pe care l-am folosit. Acest line tracer module imi ofera trei output-uri, L(eft), R(ight), C(enter), output-uri care atunci cand sunt LOW, detecteaza banda neagra, iar atunci cand sunt HIGH, detecteaza iesirea senzorului corespunzator in afara perimetrului benzii negre.

Astfel, logica care ruleaza pe microcontrollerul ATmega actioneaza motoarele in diferite situatii:

Aceasta logica simpla nu este de ajuns, intrucat masina poate iesi cu modulul line trace de pe banda, iar toate output-urile sa fie HIGH.

In aceasta situatie, algoritmul va redresa masina in directia acelui senzor care a fost pus pe HIGH ultimul. Spre exemplu, daca masina iese de pe banda, mai intai cu senzorul R, dupa cu C, si in final cu L, va fi actionat motorul opus, adica cel drept pentru a aduce masina din nou deasupra benzii negre.

Masina a fost testata si se poate observa in videoclipul de alaturi ca urmareste un traseu curbat. watch

Rezultate Obţinute

Concluzii

Proiectul a fost o experienta interesanta. Poate fi imbunatatit la capitolul impachetare.

Download

Pentru compilarea codului am folosit avr-libc si avr-gcc, pe Debian 9 Stretch. Ca sa urc pe placa cod, am folosit bootloadHID pus la dispozitie de echipa PM.

Arhiva cu codul si Makefile se gaseste la linkul de alaturi. linefollower_barbuiulianmarian332cc.zip

Bibliografie/Resurse