Progetto 3: Sensore di Tracciamento Linea

1. Descrizione
Il sensore di tracciamento è in realtà un sensore a infrarossi. Il componente utilizzato qui è il tubo a infrarossi TCRT5000. Il suo principio di funzionamento è utilizzare la diversa riflettività della luce infrarossa rispetto ai colori, quindi convertire l’intensità del segnale riflesso in un segnale di corrente.
Durante il processo di rilevamento, il nero è attivo a livello HIGH mentre il bianco è attivo a livello LOW. L’altezza di rilevamento è 0-3 cm.
Il modulo di tracciamento linea a 3 canali Keyestudio ha integrato 3 set di tubi a infrarossi TCRT5000 su una scheda, il che rende più comodo il cablaggio e il controllo.
Ruotando il potenziometro regolabile sul sensore, è possibile regolare la sensibilità di rilevamento del sensore.
2. Specifiche
Tensione di funzionamento: 3.3-5V (DC)
Interfaccia: 5PIN
Segnale di uscita: Segnale digitale
Altezza di rilevamento: 0-3 cm

Nota: Prima del test, ruotare il potenziometro sul sensore per regolare la sensibilità di rilevamento. La sensibilità è ottimale quando si regola il LED a una soglia tra acceso e spento.
3. Componenti
Scheda di Sviluppo *1 |
Driver Motore 8833 *1 |
Modulo LED Rosso *1 |
Sensore di Tracciamento Linea *1 |
|---|---|---|---|
|
|
|
|
Cavo Dupont 5P *1 |
Cavo USB *1 |
Cavo Dupont 3P *1 |
|
|
|
|
4. Schema di Collegamento

G, V, S1, S2 e S3 del sensore di tracciamento linea sono collegati rispettivamente a G (GND), V (VCC), D11, D7 e D8 della scheda di espansione sensori.
5. Codice di Test
//****************************************************************************
/*
keyestudio 4wd BT Car
lesson 3.1
Line Track sensor
http://www.keyestudio.com
*/
int L_pin = 11; //pin del sensore di tracciamento linea sinistro
int M_pin = 7; //pin del sensore di tracciamento linea centrale
int R_pin = 8; //pin del sensore di tracciamento linea destro
int val_L,val_R,val_M; // definisci le variabili valore dei tre sensori
void setup()
{
Serial.begin(9600); // inizializza la comunicazione seriale a 9600 bit al secondo
pinMode(L_pin,INPUT); // imposta L_pin come ingresso
pinMode(M_pin,INPUT); // imposta M_pin come ingresso
pinMode(R_pin,INPUT); // imposta R_pin come ingresso
}
void loop()
{
val_L = digitalRead(L_pin); // leggi L_pin:
val_R = digitalRead(R_pin); // leggi R_pin:
val_M = digitalRead(M_pin); // leggi M_pin:
Serial.print("left:");
Serial.print(val_L);
Serial.print(" middle:");
Serial.print(val_M);
Serial.print(" right:");
Serial.println(val_R);
delay(500); // ritardo tra le letture per stabilità
}
//****************************************************************************
6. Risultato del Test
Dopo aver caricato con successo il codice sulla scheda V4.0, collegare i cablaggi secondo lo schema di collegamento e utilizzare un cavo USB per collegare il computer e alimentare la scheda.
Dopo l’accensione, aprire il monitor seriale e si visualizzerà lo stato dei tre sensori di tracciamento linea. Quando non vengono ricevuti segnali, il valore è 1. Se copriamo il sensore con un foglio bianco, il valore sarà 0.


7. Spiegazione del Codice
Serial.begin(9600) - Inizializza la porta seriale, imposta la velocità di trasmissione a 9600 baud
pinMode - Definisce il pin come modalità input o output
digitalRead - Legge lo stato del pin, che generalmente è livello HIGH o LOW
8. Pratica Estesa
Dopo aver compreso il principio di funzionamento, puoi collegare un LED a D9 per controllare il LED tramite il sensore.

/*
keyestudio 4wd BT Car
lesson 3.2
Line Track Sensor LED
http://www.keyestudio.com
*/
int L_pin = 11; //pin del sensore di tracciamento linea sinistro
int M_pin = 7; //pin del sensore di tracciamento linea centrale
int R_pin = 8; //pin del sensore di tracciamento linea destro
int val_L,val_R,val_M;// definisci le variabili dei tre sensori
void setup()
{
Serial.begin(9600); // inizializza la comunicazione seriale a 9600 bit al secondo
pinMode(L_pin,INPUT); // imposta L_pin come input
pinMode(M_pin,INPUT); // imposta M_pin come input
pinMode(R_pin,INPUT); // imposta R_pin come input
pinMode(9, OUTPUT);
}
void loop()
{
val_L = digitalRead(L_pin);//leggi L_pin:
val_R = digitalRead(R_pin);//leggi R_pin:
val_M = digitalRead(M_pin);//leggi M_pin:
Serial.print("left:");
Serial.print(val_L);
Serial.print(" middle:");
Serial.print(val_M);
Serial.print(" right:");
Serial.println(val_R);
delay(500);// ritardo tra le letture per stabilità
if ((val_L == LOW) || (val_M == LOW) || (val_R == LOW))//se il sensore di tracciamento linea sinistro rileva segnali
{
Serial.println("HIGH");
digitalWrite(9, HIGH);//LED acceso
}
else//se il sensore di tracciamento linea sinistro non rileva segnali
{
Serial.println("LOW");
digitalWrite(9, LOW);//LED spento
}
}
//****************************************************************************
Dopo aver caricato con successo il codice sulla scheda V4.0, collega i fili secondo lo schema di collegamento e usa un cavo USB per collegare il computer e alimentare la scheda.
Dopo l’accensione, avvicina un foglio di carta al sensore, quindi noterai che il LED si accende quando copri il sensore di tracciamento linea.






