Siguelineas QRE1113 4 canales

arduino mega - siguelineas

siguelineas y arduino

 

Sensor Siguelineas QRE1113 4 canales 

El módulo de sensores Siguelineas QRE1113 4 canales, es una buena opción para  la construcción de un vehículo  seguidor de líneas con cualquier tarjeta de desarrollo o microcontrolador con entrada ADC.

Este módulo  cuenta con cuatro canales con sensor / emisor de las mismas características, por lo que es ideal, no solo para construir un vehículo sigue-líneas si no también se puede utilizar para una gran cantidad de aplicaciones que requieran monitoreo de paso, o presencia. Otro ejemplo sería contabilizar el producto de una línea de producción, detectar cualquier objeto en cercania para activar alguna otra  función de un sistema e incluso se podría adjuntar otros ejemplos para  diseñar un sistema completo donde se utilice los 4 canales. En resumen tu creatividad es el límite para utilizar este módulo de sensores.

Material a utilizar:

Enlaces de interés: 

Conexión módulo siguelineas:

siguelineas with arduino

siguelineas

En la imagen se muestra  como realizar la conexión de Arduino, en este caso un MEGA, a nuestro módulo de sensores Siguelineas. En el caso de otro modelo de Arduino usar de igual manera los canales A0 a A3. En la sección de entradas analógicas (“Analog in”)  que corresponde al Arduino se localizan nuestros cuatro pines que estaremos utilizando que son A0 al A3, así como también los pines que alimentan nuestro modulo que son 5v y GND.

Pines del ArduinoPines del Módulo de sensores
5vVcc
GNDGND
A0A0
A1A1
A2A2
A3A3

Explicación del código:

El primer paso, es declarar las variables donde se  guardaran los datos de  la lectura, así como también se asignaran en el Arduino los pines que se utilizaran para hacer esta lectura de datos, (recordemos que el modulo cuenta con 4 sensores siguelineas QRE1113), por lo que es necesario utilizar cuatro pines de la tarjeta que serán del pin A0 al A3 de la sección “Analog in”. Así como también se declarara la variable para guardar los datos de entrada. En el setup se configura el serial a 9600 baudios pero se puede  cambiar al valor que se requiera.

La función establishContact()  funciona para  enviar un byte que  establece un contacto con el  receptor. Es de seguridad, puede omitirse.

int Analogue0 = 0;
int Analogue1 = 0;
int Analogue2 = 0;
int Analogue3 = 0;
int inByte = 0;
void setup()
{
Serial.begin(9600);
establishContact();
}

 

Cuando los datos son guardados en las  variables declaradas anteriormente, procederemos a realizar la transformación de los datos obtenidos. Ya sea para  re-direccionarlos a otra variable o visualizarlos.

if (Serial.available() > 0) {
inByte = Serial.read();
Analogue0 = analogRead(0)/4;
delay(10);
Analogue1 = analogRead(1)/4;
 delay(10);
Analogue2 = analogRead(2)/4;
delay(10);
Analogue3 = analogRead(3)/4;
delay(10);

Por último enviamos los datos por el puerto serial de cada uno de los siguelineas QRE1113, para esto se utiliza la función write que es mucho más eficiente y precisa en cuestiones de envió de información , esto para obtener una mayor resolución de los datos.

Serial.write(Analogue0 );
Serial.write(Analogue1 );
Serial.write(Analogue2 );
Serial.write(Analogue3 );

Al final solo se revisa si el serial continuo   recibiendo datos, de no hacerlo escribir un valor predeterminado por el usuario en este caso “A” para finalizar el programa.

while (Serial.available() <= 0) {
Serial.write('A');
delay(300);

 

Código completo:


int Analogue0 = 0;
int Analogue1 = 0;
int Analogue2 = 0;
int Analogue3 = 0;
int inByte = 0;</p>
void setup()
{
Serial.begin(9600);
establishContact();
}

void loop()
{
if (Serial.available() > 0) {
inByte = Serial.read();
Analogue0 = analogRead(0)/4;
delay(10);
Analogue1 = analogRead(1)/4;
delay(10);
Analogue2 = analogRead(2)/4;
delay(10);
Analogue3 = analogRead(3)/4;
delay(10);
Serial.write(Analogue0 );
Serial.write(Analogue1 );
Serial.write(Analogue2 );
Serial.write(Analogue3 );
}
}
void establishContact() {
while (Serial.available() <= 0) {
Serial.write('A');
delay(300);
}
}


Escríbenos tus dudas o comentarios

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Usamos Cookies en nuestro sitio WEB

Por favor confirma, si aceptas nuestras cookies de rastreo. También puedes negar el uso de cookies de rastreo y seguir navegando sin que ninguna información sea enviada a servicios de terceros.