LEZIONE 13

Prima di effettuare trasmissioni e ricezioni da e verso il robot conviene ideare un protocollo.
Per la ricezione (del robot) il protocollo da me usato èr abbastanza semplice:
La sequenza di dati viene trasmessa anticipata da un carattere speciale, in questo caso l'asterisco, successivamente ci saranno le 4 direzioni avanti indietro destra sinistra con la relativa velocità.

Un esempio chiarirà il discorso.
Per mandare avanti il robot alla massima velocità la stringa da inviare al robot sarà:
*255000000000

L'asterisco rappresenta l'inizio della trasmissione dei comandi.
I primi tre valori (255) rappresentano la velocità per la direzione avanti (in questo caso massima).
I secondi tre valori (000) rappresentano la velocità per la direzione indietro (in questo caso nessuna).
I terzi tre valori (000) rappresentano la velocità per la direzione destra (in questo caso nessuna).
Gli ultimi tre valori (000) rappresentano la velocità per la direzione sinistra (in questo caso nulla).

Con questa stringa il robot andrà in avanti, alla massima velocità con lo sterzo dritto.
Se volessimo mandare il robot avanti ed a destra la stringa dovrà essere la seguente:
*255000255000

Da quì tutte le direzioni:
AVANTI ----- *255000000000
INDIETRO --- *000255000000
DESTRA ----- *000000255000
SINISTRA --- *000000000255

Le direzioni si possono sommare ma attenzione a non sommare le direzioni opposto.
Posso sommare AVANTI e DESTRA ed ottenere:
*255000255000
Oppure INDIETRO e SINISTRA ed ottenere:
*000255000255
Ma non posso sommare AVANTI ed INDIETRO:
*255255000000
Altrimenti i valori si sottraggono ed il robot rimane fermo.

La variazione di velocità si può fare variando il numero che deve essere compreso tra 0 e 255.
Quindi per far muovere il robot in avanti ma lentamente possiamo usare la stringa seguente:
*200000000000

Come accennato nelle lezioni precedenti il valore varia da motore a motore e da alimentazione ad alimentazione, effettuate dei test per regolarvi.
I primi test possono essere effettuati collegando Arduino alla porta USB ed aprendo il "monitor seriale" che potete trovare nel menù strumenti del software Arduino.

LEZIONE14
LEZIONE12