Kadangi rungtis – linijos sekimas, mūsų robotukas turi aptikti tą liniją. Linijos aptikimui naudosime infraraudonųjų spindulių daviklius. Pats daviklis sudarytas iš infraraudonųjų spindulių (IR) siūstuvo – IR šviesos diodo, IR imtuvo – IR foto diodo ir komparatoriaus, kuris analoginį signalą pavers į skaitmeninį.
Baltas paviršius atspindi spindulius, juodas paviršius juos sugeria. Kadangi nera tokių idealių baltų-juodų paviršių kurie sugeria visu 100 procentų – tam reikalingas komapratorius. Mes matuojame atsispindinčius IR, todėl reguliuojame komparatorių pavyzdžiui taip, kad jei IR yra iki 30 procentų – tai bus juodas paviršius – loginis 0, jei daugiau nei 30 procentų – baltas paviršius – loginis 1. Reguliavimas ir jautrumas bus nustatyti bandymo metu, jautrumas priklausys nuo išorinio apšvietimo, paviršiaus, atstumo iki linijos ir t.t.
Seniai jau darytas projektas tik niekaip negalėjau (nesugebėjau) aprašyti jo. Kilo idėja Arduino pajungti prie šviesos diodų matricos panaudojant MAX7219 Led valdiklį (draiverį). Kas įdomausia – į vieną eilę 3 valdymo laidais galima pajungti iki 8 tokių modulių. Gaunama 8×64 taškų eilutė.
Pradėjus testuoti realius važiavimus išlindo pirmieji povandeniniai akmenys 🙂 Juk kitaip ir negali būti. Robotukas važiavo max. 2 sekundes, o paskui "užlinkdavo" kontroleris. Bėdos – kolektoriniai varikliukai. Juose stovi šepetėliai, kurie stipriai kibirkščiuoja, sukelia elektromagnetinius trukdžius ir visos tos "šiukšlės" persiduodavo kontroleriui, aišku jis to neištverdavo ir pasakydavo – "Nea, aš taip nežaidžiu". Prie viso to dar 5V reguliatorius ant kontrolerio nesugebėjo išspausti reikiamo galimgumo varikliukų užmaitinimui, todėl sprendimas – papildomas blokas su 5V reguliatoriumi ir kondensatorių (C) filtrais kiekvienam varikliukui.