Line Follower
Marcolino,
Per evitare di far muovere a scatti i servo devi SEMPRE rammentare che:
bisogna rimandare il comando pulsout entro un massimo di 40 millisecondi. (meglio se 20). Questo significa, che tutte le varie routines, (lettura sensori, decisione sulla direzione, ecc,) non devono durare più di quel tempo.
Poichè questo è praticamente impossibile, non rimane che spezzetare, queste routine, per inviare i comandi serout.
Ti faccio un esempio di flow:
loop:
gosub CkBaffi CkBaffi ´Controlla ostacoli tramite i Baffi
st=2: gosub GoMotori ´avvio motori per st cicli
gosub CkIr ´controlla ostacoli con IR
st=10: gosub GoMotori ´avvio motori per st cicli
gosub cktele ´controllo ordini da Telecomando
st=2: gosub GoMotori ´avvio motori per st cicli
goto Loop
Un´altro consiglio:
fai il programma in diversi step,
prima molto semplici,
verifica il funzionamento,
poi aggiungi il pezzettino successivo,
riverifica il funzionamento.
e continua, così...all´infinito.
Ciao
Pino03
|