Proiectul consta intr-un robot de tip line-follower. Robotelul va urmari o linie neagra pe fundal alb, formand astfel diverse circuite pe care acesta va trebui sa le parcurga. Am ales acest proiect deoarece l-am considerat cel mai spectaculos si interesant.
Componente:
Placuta de baza ATMEGA16 (realizata in prima etapa a proiectului):
Driver motoare L298 (cumparat de la robofun: http://www.robofun.ro/L298N):
Kit robot(cumparat de la robofun: http://www.robofun.ro/kit-roboti/platforma-magician-robot-kit):
Bara senzori QTRA 8A(cumparata de la robofun: http://www.robofun.ro/bara_senzori_linie_qtr_8a):
Soft-ul robotului a fost dezvoltat in AVR Studio 4 pe Windows 7 64 bit. Din cauza unor probleme de recunoastere a placutei pe Windows am incarcat fisierul .hex pe Atmega16 prin avrusbboot pe Linux.
Am determinat cel mai din dreapta si cel mai din stanga senzor ce detecteaza linia de culoare neagra si am urmarit urmatorul algoritm:
Linia de senzori este pozitionata in felul urmator:
Stanga || SENZOR1 | SENZOR2 | SENZOR3 | SENZOR4 | SENZOR5 | SENZOR6 | SENZOR7 || Dreapta
Pentru ca robotul sa vireze am actionat un motor intr-un sens, iar celalalt motor in celalalt sens.
In fiecare pas de timp am determinat valorile detectate de fiecare senzor inspectand valorile intoarse de acestia pe PORTUL A al placutei ATMEGA 16. Am aflat astfel senzorii din ambele extreme (stanga - dreapta) care detectau linia neagra, considerand apoi 4 cazuri. Daca niciun senzor nu detecta linia neagra robotul se va deplasa inainte prin actionarea ambelor motoare in acceasi directie. Daca cel mai din stanga senzor care detecteaza linia neagra este unul din senzorii 5,6,7 robotul va vira spre stanga pentru ca senzorii 4 si 5 sa fie pozitionati in dreptul liniei. Daca cel mai din dreapta senzor care detecteaza linia este unul din senzorii 0,1,2 robotul va vira spre stanga pentru ca senzorii 4 si 5 sa fie pozitionati in dreptul liniei. Daca senzorii care detecteaza linia sunt senzorii 4 si 5 (cel putin 2 senzori detecteaza linia datorita latimii acesteia si distantei dintre senzori) atunci robotul se va deplasa inainte.
Driver motoare L298 + circuitul de protectie al acestuia
Robot semiasamblat
Robot complet asamblat (lipsa girofar) - vedere din fata
Robot complet asamblat - vedere din spate
Testarea line-followerului pe circuitul oficial
Asamblarea line-follower-ului a fost partea cea mai interesanta, dificultati mai mari intalnind in realizarea unui algoritm care sa urmeze corect circuitul. Realizarea proiectului a durat in jur de o saptamana.
Codul sursa este disponibil in arhiva: linefollower.zip