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

News

Aggiunto il programma sulla telemetria (in fase di sviluppo).
Aggiunto il forum. Temporaneamente abilitato solo a persone autorizzate.
Aggiunta la pagina con qualche datasheet nella sezione elettronica.
Aggiunto il tutorial Snail un line follower base con Arduino Nano.
Recupero di un LCD da 272X204 pixel.