Se ho capito quello che ti serve, potresti tenere la tua formula (180-direzione) è aggiungere un if tipo:
x=180-direzione;
if (x<0) x=360-x;
Però, anche se non ho idea di quanto dovresti cambiare il resto del codice, credo ti sarebbe infinitamente più comodo cosiderare come "diritto" l'angolo 0° e avere a destra da -1° a -180° e a sinistra da +1° a +180°..
EDIT:
oppure te la cavi con x=(540-direzione)%360, credo..