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