Robotkar vezérlések

Az elkészült robotkart PC-vel már vezéreltem, de az elég nehézkes volt. Ezért különféle vezérlőket építettem. Ezek jönnek most röviden.

Joystick

Sikerült vennem egy pici joystick-ot, amit valami konzolos játékhoz használnak egyébként. 2 dimenziós és meg is lehet nyomni, mint egy gombot. Ráragasztottam egy fadarabra és ennyi. Egyelőre ez a legjobb vezérlés. Hihetetlen, hogy mind a négy szervót és a fogó részt is egyszerűen lehet vele irányítani. Ha röviden nyomom a gombot, akkor a másik két szervót lehet állítani, ha hosszan nyomom, akkor kinyitja vagy összecsukja a karmait.

Hajlítás szenzorból épített kesztyű

Ettől sokat vártam, de sajnos még kicsit fejleszteni kell az analóg jelet feldolgozó algoritmusokon és a hardveren is. Jelenleg az egyes szenzorok abszolút pozíciója (ellenállása) határozza meg a szervó pozícióját. Ha behajlítom az egyik ujjam akkor az egyik szervó elkezdi közelíteni az adott pozíciót. Sajnos a szenzorokról érkező jel kissé zajos, ezt szoftveresen próbáltam csökkenteni: egyrészt 8-szor vettem mintát az AD konverterről és az átlagát vettem másrészt az aktuális szenzorérték kiszámításánál az előző érték 70%-át és az új érték 30%-át veszem. így kicsit késik a jel, de a nagy kiugrások símíthatóak.
A szenzor építésről itt olvashatsz.

Nyomószenzoros billentyűzet

Itt annyi a plusz a sima gombokhoz képest, hogy a nyomásérzékelő analóg. Vagyis, ha erősebben nyomom a "gombot" gyorsabban mozoghat a szervó. Ezzel a megoldással az a gond, hogy egy szervó irányításához két analóg bemenet kell. Négy szervónál ez már 8 AD bemenet, ami elég sok mikrokontrollernél a felső határ. Utána külső multiplexert kell használni. Az alábbi videón csak két szervót vezéreltem. (A nyomószenzor felépítése pont ugyanolyan, mint a hajlításszenzor csak kicsit más az alakja.)

Az adatokat feldolgozó MCU egyébként egy ATmega324P és soros vonalon kapcsolódik a szervóvezérlőhöz.