Inseguitori di linea e Arduino

0

di Emanuele Paiano

 

Introduzione

L’impiego dei sensori, in elettronica e robotica, è piuttosto vasto: si va dal semplice termostato per gli impianti di riscaldamento, fino all’impiego di sonar e sensori infrarossi per il rilevamento di ostacoli e superfici. Grazie ai sensori, è possibile misurare le proprietà fisiche dell’ambiente, permettendo loro di conoscerne lo stato ed eventualmente modificarlo tramite gli attuatori. In questo articolo studieremo il funzionamento dei sensori ad infrarossi implementati nel modulo KY-033 (o inseguitore di linea), che permette ad Arduino di distinguere le superfici chiare da quelle scure. Vedremo un’applicazione pratica in cui un semplice robot insegue una traccia nera stampata su una superficie bianca (come può essere un cartoncino o un pannello di legno), oltre che gestire curve,
incroci e svolte ad angolo retto.

Il sensore di traccia: caratteristiche e test

Il modulo KY-033 (noto anche come line tracking sensor) è un sensore che permettere di rilevare il passaggio da una superficie chiara ad una scura. È composto da un comparatore di segnali, un potenziometro per regolarne la sensibilità, e due fotodiodi: il primo fotodiodo è un trasmettitore di raggi infrarossi, mentre il secondo è un ricevitore. Il principio di funzionamento è basato sulla tendenza degli infrarossi ad essere assorbiti dalle superfici scure: tale funzionamento consiste nell’inviare un segnale dal trasmettitore e attenderne l’eventuale ricezione sul ricevitore, in questo modo possiamo distinguere (a grandi linee) il colore bianco della superficie, da quello nero. Se la ricezione da parte del fotodiodo ricevitore è andata a buon fine, allora vuol dire che l’infrarosso è stato riflesso su una
superficie chiara,

diversamente, dopo un brevissimo intervallo di tempo, si verifica un timeout e ciò indica che il segnale non è stato ricevuto: in tal caso siamo di fronte ad una superficie scura

I fotodiodi non sono gestiti direttamente da Arduino, ma da un comparatore (LM393) integrato nel modulo, il quale confronta la tensione generata dal fotodiodo ricevitore con quella di riferimento. Il risultato viene inviato sui pin del microcontrollore sotto forma di segnali TTL. In base a tale confronto, l’uscita DO del sensore (Data Output, è l’uscita che andrà collegata ad Arduino) sarà LOW oppure HIGH, ma può anche essere letta come pin analogico, ottenendo un intervallo di possibili valori compresi tra 0 e 1023. I valori di uscita (analogici e digitali) sono riassunti nella seguente tabella:

Per vedere il sensore all’opera, lo possiamo collegare ad

Questi contenuti sono riservati agli utenti registrati. Effettua il login o registrati per poterli vedere.

Informazioni sull'autore

Laureato in Informatica, i miei principali campi di interesse riguardano alcuni framework di sviluppo (nei linguaggi Java, Javascript, Python e Php), le reti TCP/IP e alcuni sistemi operativi unix-like (Linux). Dopo un periodo di formazione su Angular e Spring per lo sviluppo di Web Application, ho intrapreso la strada come sviluppatore backend. Di recente mi occupo di sviluppo frontend con Angular 6. Nel tempo libero mi piace sperimentare con droni e dispositivi IoT basati su Arduino e Raspberry Pi, oltre che realizzare le relative interfacce software per il controllo remoto (Python e NodeJS). https://emanuelepaiano.github.io

Nessun commento su "Inseguitori di linea e Arduino"

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.