La barra de sensores QTR8A cuenta con 8 sensores IR, las salidas de estos sensores las debemos conectar a nuestro microcontrolador (ARDUINO) a las entradas analógicas.
Las conexiones que se pueden ven en la imagen 1 a modo de ejemplo, los sensores de la barra están conectados a la entradas analógicas mediante los Net Port (QTR-1, QTR-2, QTR-3, QTR-4, QTR-5, QTR-6, QTR-7).
En este caso para el código de testeo es mas sencillo tomar al sensor QTR-1 como S1 para definir su etiqueta y así con los demás sensores.
Imagen 1
Etiquetas que se usaran en el código:
QTR-1 ► S1 - conectado A0.
QTR-2 ► S2 - conectado A1.
QTR-3 ► S3 - conectado A2.
QTR-4 ► S4 - conectado A3.
QTR-5 ► S5 - conectado A4.
QTR-6 ► S6 - conectado A5.
QTR-7 ► S7 - conectado A6.
QTR-8 ► S8 - conectado A7.
Debemos comprobar también si estamos utilizando una barra QTR8A controlando el LED ON con una salida.
☼ Código de testeo para Sensores IR.
/* LECTURA DE SENSORES*/
/* PINES SENSORES */
#define S1 A0
#define S2 A1
#define S3 A2
#define S4 A3
#define S5 A4
#define S6 A5
#define S7 A6
#define S8 A7
/* VARIABLES PARA SENSORES*/
int LS1 = 0;
int LS2 = 0;
int LS3 = 0;
int LS4 = 0;
int LS5 = 0;
int LS6 = 0;
int LS7 = 0;
int LS8 = 0;
void setup() {
/* en las entadas analogicas
no son nesesarios los modos de pin */
Serial.begin(9600); // inicio monitor serial
}
void loop() {
// Lectura de sesnores //
LS1 = analogRead(S1);
LS2 = analogRead(S2);
LS3 = analogRead(S3);
LS4 = analogRead(S4);
LS5 = analogRead(S5);
LS6 = analogRead(S6);
LS7 = analogRead(S7);
LS8 = analogRead(S8);
/* Muestra de valores en monitor serial */
Serial.print(" | ");
Serial.print(LS1); Serial.print(" | ");
Serial.print(LS2); Serial.print(" | ");
Serial.print(LS3); Serial.print(" | ");
Serial.print(LS4); Serial.print(" | ");
Serial.print(LS5); Serial.print(" | ");
Serial.print(LS6); Serial.print(" | ");
Serial.print(LS7); Serial.print(" | ");
Serial.print(LS8); Serial.println(" | ");
delay(500); // retardo de tiempo
}
▬ En el programa de testeo de sensores tenemos que :
☼ Configurar las etiquetas de los pines de entrada analógicas, ejemplo:
#define S1 A0 // el sensor S1 en A0
☼ Crear las variables enteras para guardar la lectura de los sensores IR, ejemplo:
int LS1 = 0; // variable para sensor S1
☼ Leer y guardar los datos de las entradas analógicas de cada sensor IR, ejemplo:
LS1 = analogRead(S1); // leer y guardar S1
☼ Escribir los valores en monitor serial para comprobaciones y configuraciones, ejemplo:
Serial.print(LS1); // imprimir valor S1 en monitor serial.
☼ Separa los valores de lectura en el monitor serial para mejor apreciación de estos, ejemplo:
Serial.print(" | "); // separador de valores.
☼ Es importante comprobar aquí que sensor tenemos a la derecha y cual a la izquierda de los extremos S1 o S8.