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).
Aggiunta il link al corso Linux Uno su Udemy.
Aggiunto il tutorial per la realizzazionedi un Arcade con materiale di riciclo.