LEZIONE 43

SENSORI OTTICI

Vediamo ora come comportarci con i sensori ottici.
I sensori sono collegati ai piedini 11 e 10, le porte sono RB5, RB4 rispettivamente destro e sinistro.
I sensori ottici ci forniscono uno stato logico basso (0) quando percepiscono della luce, e alto (1) quando non la percepiscono.
Il discorso è analogo agli interruttori meccanici.
Scriviamo un programma che permette al microrobot di seguire una fonte di luce.

#CHIP 16F84, 4           'Tipo di PIC utilizzato
Dir PORTA OUT           'Definisco le porte d'uscita
Dir PORTB IN           'e d'ingresso

DIM Valore as BYTE           'Variabile contatore

Ciclo:           'Etichetta
Valore = PortB           'Prendo il valore dei sensori ottici
Valore = Valore & b'00110000'           'Prendo solo i bit che mi interessano

Select case Valore
case b'00110000'           'Controllo se tutti e due i sensori sono attivi
PortA = b'00001001'           'Vado avanti verso la luce
case b'00100000'           'Sensore destro 1, luce a sinistra
PortA = b'00001010'           'Vado a sinistra
case b'00010000'           'Sensore destro a, La luce a destra
PortA = b'00000101’           'Vado a destra
case else
PortA = b'00001001'           'Vado avanti se non trova nulla
end select

GOTO Ciclo           'Torna all'inizio del programma
END           'Fine del programma

In questo caso, quando il sensore destro fornisce l’uscita 1 vuol dire che non c’è luce, quindi gira alla parte opposta (sinistra), se invece è presente in tutti e due i sensori il microrobot andrà avanti.
Notate che il programma è simile a quello per il lottatore di sumo.
I sensori digitali binari, qualunque essi siano si controllano allo stesso modo, bisogna solo associare il segnale 1 ad una funzione ed il segnale zero all’altra.

Ricordatevi di tarare i potenziometri in modo corretto rispetto all’ambiente in cui si trova il microrobot, se è presente molta luce bisogna diminuire la sensibilità, se è presente poca luce alzarla.
Questo programma è utile se avete alimentato il vostro microrobot con dei pannelli solari e quindi volete fargli cercare le fonti di luce per ricaricarsi in modo autonomo.
Provate a scrivere un programma che faccia allontanare il microrobot dalle fonti di luce che, per esempio possono essere delle fonti di calore (fuoco intenso).

LEZIONE 44
LEZIONE 42