LEZIONE 46

SENSORI DI LINEA

I sensori di linea sono utilizzati per seguire una linea nera su sfondo bianco o viceversa.
Il loro uso è simile agli altri sensori, ad esempio quelli meccanici e sono collegati alle porte RB0 (destro) ed RB1 (sinistro).
Questi sensori possono essere usati anche per rivelare la presenza del pavimento, vedremo di seguito i programmi per questi usi.
ATTENZIONE: I sensori di linea sono molto sensibili alla luce artificiale o solare, se il programma non funziona apportare le modifiche descritte sul sito o abbassare la luce della stanza chiudendo le tapparelle o spostando le tende.

Programma che segue una linea nera su sfondo bianco.

#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 sensori

Ciclo:           'Valuto cosa fare
         'Linea sinistra e destro attivi
         Valore = Portb & b'00000011'
         IF Valore = b'00000011' THEN GOTO AVANTI
         'Linea ottico sinistra
         IF PortB.0 = 1 THEN GOTO SINISTRA
         'Linea ottico destra
         IF PortB.1 = 1 THEN GOTO DESTRA
         'Se non c'è nessuna linea vado avanti
         GOTO AVANTI
GOTO Ciclo

DESTRA:           'Il microrobot gira a destra
PortA = b'00000101'           'Salta all'inizio del programma
GOTO Ciclo

SINISTRA:           'Il microrobot gira a sinistra
PortA = b'00001010'           'Salta all'inizio del programma
GOTO Ciclo

AVANTI:           'Il microrobot va avanti
PortA = b'00001001'           'Salta all'inizio del programma
GOTO Ciclo

END           'Fine del programma

Come vedete basta fare un controllo sulle porte RB0 ed RB1 e decidere cosa fare, se il sensore di destra è sulla linea bianca ed il sensore di sinistra sulla linea nera il microrobot girerà a sinistra, ovvero verso la linea nera, viceversa per il caso opposto. Da notare che il sensore quando rileva una linea bianca dà come valore logico 1. Invertendo le istruzioni SINISTRA e DESTRA il microrobot seguirà una linea bianca su sfondo nero. Se vogliamo un programma che riveli la presenza di un pavimento dobbiamo usare gli stessi accorgimenti: Rilevare la presenza del pavimento Si è presente allora vado avanti NO non è presente allora torno indietro. Ovviamente il pavimento deve riflettere la luce del diodo trasmettitore in modo da essere rilevata dal transistor ricevitore.

LEZIONE 47
LEZIONE 45