Sei sulla pagina 1di 5

UNIVERSITARIA DE INVESTIGACION Y DESARROLLO.

UDI

Diseo Y Construccin De Un Seguidor De Lnea Negra Con Arduino


UNO VELOSTER
Leidy Vanessa Martnez Alvarado
e-mail: leidyvanessamartinezalvarado@gmail.com

Ingrid Paola Rangel Contreras


e-mail: contreras.ingrid@gmail.com

Manuel Felipe Rodrguez Bersinger


felipebersinger@hotmail.com

Carlos Eduardo Solano Rodrguez

RESUMEN: La construccin de un seguidor de lnea

Un Paquete De Amarre Pequeo


Transparente
Un Rollo De Cinta Negra Aislante
Una cuadrado Metlica

negra con la tarjeta de desarrollo Arduino UNO, permite


al estudiante sumergirse con facilidad en el diseo y
programacin de robots ya que utiliza un lenguaje de
programacin sencillo como es el C, permite al
programador estar a la par con las tecnologas actuales,
gracias a que Arduino se ha convertido en una de las
ms importantes empresas en cuanto a creacin de
tarjetas de desarrollo se refiere en el mundo.

III.

A. Arduino UNO: como se describe


anteriormente, es una tarjeta de desarrollo,
que posee las siguientes caractersticas:

PALABRAS CLAVE: Microprocesador Atmega 328,


Lenguaje de programacin C, Sensor Digital, Motor DC.

I.

Microcontroller ATmega328
Operating Voltage
5V
Input Voltage (recommended) 7-12V
Input Voltage (limits)
6-20V
Digital I/O Pins 14 (of which 6 provide
PWM output)
Analog Input Pins
6
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin50 mA
Flash Memory 32 KB (ATmega328) of
which 0.5 KB used by bootloader
SRAM 2 KB (ATmega328)
EEPROM
1 KB (ATmega328)
Clock Speed 16 MHz

LINTRODUCCIN

a tarjeta de desarrollo Arduino UNO, es una placa


electrnica basada en el microprocesador Atmega328.
Tiene 14 pines digitales de entrada / salida (de las cuales
6 se pueden utilizar como salidas PWM), 6 entradas
analgicas, un resonador cermico de 16 MHz, conexin
USB, un conector de alimentacin, una cabecera ICSP,
y un botn de reinicio. Contiene todo lo necesario para
apoyar al microcontrolador, permite ser alimentada con
solo conectarla a un ordenador por cable USB, con un
adaptador AC-DC o ya sea con una batera.
II.

Descripcin de los componentes


Principales:

COMPONENTES
Una Tarjeta De Desarrollo ARDUINO UNO
Un Dynamotion Shield Para Arduino
Un GearBox Cuatro Configuraciones
Un Servomotor
Cinco Sensores QTR Digital
Una Batera polmero litio Ion 1200 7.4V
Acrlico Transparente
Cables De Colores
Cinco Bases metlicas Hexagonales 3/4
(2-56)
Dos Ruedas Bsicas
Dos Ruedas De Neopreno

Fotografia.1. Tarjeta de desarrollo Arduino UNO

B. Dynamotion Shield Para Arduino: La


board Dynamotion integra leds para
verificar que la board est energizada y
para ver el sentido de giro de cada motor;
as, cuando una seal de control del motor
se da, el led correspondiente se enciende.
Tiene un pulsador que se puede habilitar y
deshabilitar mediante un jumper y un

Dos Bases Metlicas

UNIVERSITARIA DE INVESTIGACION Y DESARROLLO. UDI

.
seleccionador de puerto para entrada de
voltaje, para que el usuario decida si
quiere manejar la board con una fuente
externa (usando la bornera) o si prefiere
manejarla desde los pines de potencia de
arduino. Adicionalmente la board tiene
puertos digitales y anlogos de salida para
hacer un fcil conexionado de sensores u
otros dispositivos, de esta manera
sensores para medir distancia, sensores
de seguimiento de lnea y otros se pueden
conectar fcilmente.

de manera interna que consta de un


potencimetro
y
una
tarjeta
de
comparacin. Los servomotores tienen la
capacidad de ser controlados en posicin y
velocidad.
E. Sensor QTR Digital: Sensor tipo rflex en
board diseado para aplicaciones de
deteccin de contraste y seguimiento de
lnea, Salida digital tipo digital controlada
por el usuario lo que permite hacer un
ahorro de potencia y un mejor control de
lectura.

Esta tarjeta va incrustada dentro del


arduino Uno

Fotografia.3. Sensor QTR Digital

F. Batera polmero litio Ion 1000 7.4V: Esta


batera de tecnologa LiPO, permite
implementar aplicaciones de Alta descarga
de energa, por ejemplo robots de SUMO,
Aeromodelos, Aplicaciones mviles, etc.
Presenta las siguientes caractersticas.
Fig.1. Descripcin de Dynamotion Shield Para Arduino

Voltaje
Celdas:
1000mAh
Descarga
Conector carga
Conector descarga
plug
Dimensiones:
18mm
Peso

C. GearBox Cuatro Configuraciones: La


Caja reductora Tamiya Doble GearBox usa
dos motores DC los cuales por medio de
un juego de piones reducen su velocidad
para aumentar su torque, llevando a dos
salidas (shaft) de forma hexagonal de
3mm la fuerza necesaria a las dos salidas
las cuales se mueven de forma
independiente, permitiendo usar esta caja
reductora como sistema motor de
plataformas
mviles
para
robtica,
juguetes, carros a control remoto, etc.

7.4V
Paquete de 2 celdas
25C
JST-XH
JST-RCY discharge
70mm x 35mm x
85g

Fotografia.4. Batera polmero litio Ion 1000 7.4V

G. Ruedas de Neopreno: Las ruedas de


Neopreno se caracterizan por su alta
traccin y generalmente son usadas en
robots de sumo o seguidores de lnea.

Fotografia.2. GearBox Cuatro Configuraciones

D. Servomotor: es un aparato muy parecido


a un motor DC, el servo tiene la capacidad
de ubicarse en cualquier posicin dentro
de su rango de operacin y mantenerse
estable en dicha posicin. Esto lo hace
gracias a un sistema de control, que trae

Fig.2. Rueda de Neopreno

IV.
2

Etapas del Diseo

UNIVERSITARIA DE INVESTIGACION Y DESARROLLO. UDI

Fotografia.5. Montaje mecnico

B. PRIMERAS PRUEBAS
Al haber concluido el montaje mecanico se
procede a comprobar si el sistema funciona, si el
peso es el apropiado, si las llantas instaladas son
las adecuadas, si la plataforma diseada para la
direccion esta cumpliendo con su funcin, si las
medidas exigidas se estan cumpliendo y por ultimo
se hace una breve prueba conectando la bateria al
motor que dara el impulso del movimiento para
observar su comportamiento. Si lo anterior
presenta alguna irregularidad Se procede a
solucionarla sino se continua a la siguiente etapa

Fig.3. Diagrama de Bloques

V.

Metodologa:

Para el diseo del seguidor de linea se empleara la


tarjeta de desarrollo Arduino Uno.
A. Diseo Mecnico
El diseo implementado en el seguidor de linea
negra consta de los siguientes pasos:
-

C. CONEXIONES
A continuacion ya teniendo ubicado el motor y el servo
se pasa a conectarlos al Dynamotion Shield que a su

Forma: Se recorto el acrilico donde se


ubicarian el gearbox, los sensores, la
bateria y el arduino con su tarjeta
Dynamotion Shield, con anterioridad se
diseo el prototipo para darle la direccin,
una forma en semi- circulo la cual permitir
al seguidor tomar de mejor forma el giro
en las curvas.
Ubicacin de elementos: Despues de
tenerse las piezas de acrilico formadas, se
procede a empezar a ubicar los elementos
como el gearbox de forma muy especifica
sobre la base de acrilico,luego el
servomotor que previamente se arreglo
para que funcionase como un motor DC,
en el proceso se descubre que es mejor
construir encima
de la base una
plataforma donde se colocaria luego en la
parte inferior la bateria y sobre esta con
ayuda de bases metalicas el arduino y la
tarjeta Dynamotion Shield, despus de
tener
esto
armado
se
continua
posicionando los sensores, agregndole
las ruedas.

vez esta ya introducido en el arduino, despus le


sigue la conexin de los sensores y los arreglos de
los cables que van a servir de puente de
comunicacin entre estos y el arduino, por ltimo
se conecta la batera y se realiza nuevamente otra
breve prueba.

Fotografia.7. Prototipo Inicial

Fotografia.8. Prototipo inicial sobre lnea negra.

UNIVERSITARIA DE INVESTIGACION Y DESARROLLO. UDI

.
D. ENSAYOS DE PRUEBA Y ERROR

digitalWrite (sensor2,HIGH);
digitalWrite (sensor3,HIGH);
digitalWrite (sensor4,HIGH);
digitalWrite (sensor5,HIGH);

Al concluir con la construccin del prototipo inicial,


se empiezan a realizar diferentes prubas ya que se
encuentran dificultades con la estabilidad, y con la
ubicacin de los sensores, se empieza a crear
alternativas de mejora, como es remplazar las
ruedas principales por unas de neopreno, las
reemplazadas se usan como soporte y estabilidad
en el centro de la base a un lado del gearbox, este
seguidor solo usa medio gearbox construido con la
configuracin 12.7, para mayor velocidad, luego se
cambia el soporte trasero para darle mayor peso y
mejorar su estabilidad y se le agrega una bateria
de reserva, ademas se hacen los respectivos
ensayos para darle el lugar adecuado a los
sensores.

}
void loop(){
valorSensor1=digitalRead(sensor1);
valorSensor2=digitalRead(sensor2);
valorSensor3=digitalRead(sensor3);
valorSensor4=digitalRead(sensor4);
valorSensor5=digitalRead(sensor5);
if (valorSensor1==1 && valorSensor3==1 &&
valorSensor5==1) //DETENIDO
{
digitalWrite(motor,LOW);
//digitalWrite(rever,LOW);
digitalWrite(izq,LOW);
digitalWrite(der,LOW);
}else if (valorSensor1==0 && valorSensor3==1 &&
valorSensor5==0)//AVANCE
{
//digitalWrite(rever,LOW);
analogWrite(motor,velo);
digitalWrite(der,LOW);
digitalWrite(izq,LOW);
}
else if (valorSensor1==0 && valorSensor3==0 &&
valorSensor5==0)//DETENIDO - REVER - BLANCO
{/*
digitalWrite(motor,LOW);
analogWrite(rever,velo/4);
digitalWrite(izq,LOW);
digitalWrite(der,LOW);*/
if (flag==1)
{
//digitalWrite(izq,LOW);
analogWrite(der,movi);
// digitalWrite(rever,LOW);
analogWrite(motor,velo/1.2);
}
if (flag==2)
{ analogWrite(izq,movi);
// digitalWrite(der,LOW);
// digitalWrite(rever,LOW);
analogWrite(motor,velo/1.2);

E. PROGRAMACIN
Al haberse completado el diseo mecnico el siguiente
paso es la programacin, se empiezan a escribir las
lineas de codigo en lenguaje C, en el software de
Arduino, Esta es una programacin para que lea linea
negra y maneje una velocidad asignada.
int conta=0;
int motor=5;
//int rever=3;
int izq=6;
int der=9;
int velo=(255*40/100);//porcentaje velocidad motor
int movi=(255*45/100);//porcentaje giro o cruze del servo
int flag=0;
const int sensor1 = 2;
const int sensor2 = 4;
const int sensor3 = 7;
const int sensor4 = 8;
const int sensor5 = 10;
int valorSensor1;
int valorSensor2;
int valorSensor3;
int valorSensor4;
int valorSensor5;

}
}
else if (valorSensor1==1 && valorSensor3==0 &&
valorSensor5==0)//DERECHA RAPIDO
{ analogWrite(der,movi);
digitalWrite(izq,LOW);
// digitalWrite(rever,LOW);
analogWrite(motor,velo);
flag=1;
}
else if (valorSensor1==1 && valorSensor3==1 &&
valorSensor5==0)//DERECHA RAPIDO -2
{ analogWrite(der,movi);
digitalWrite(izq,LOW);
// digitalWrite(rever,LOW);

void setup(){
Serial.begin(9600);
pinMode (12, INPUT);
pinMode (sensor1,INPUT);
pinMode (sensor2,INPUT);
pinMode (sensor3,INPUT);
pinMode (sensor4,INPUT);
pinMode (sensor5,INPUT);
pinMode (motor,OUTPUT);
//pinMode (rever,OUTPUT);
pinMode (izq, OUTPUT);
pinMode (der, OUTPUT);
digitalWrite (12, HIGH);
digitalWrite (sensor1,HIGH);

UNIVERSITARIA DE INVESTIGACION Y DESARROLLO. UDI

.
analogWrite(motor,velo/1.2);
}
else if (valorSensor1==0 && valorSensor3==0 &&
valorSensor5==1) //IZQUIERDA RAPIDO
{ analogWrite(izq,movi);
digitalWrite(der,LOW);
// digitalWrite(rever,LOW);
analogWrite(motor,velo);
flag=2;
}
else if (valorSensor1==0 && valorSensor3==1 &&
valorSensor5==1) //IZQUIERDA RAPIDO -2
{ analogWrite(izq,movi);
digitalWrite(der,LOW);
//digitalWrite(rever,LOW);
analogWrite(motor,velo/1.2);
}}

F.

RESULTADOS

Video: EN FUNCIONAMIENTO
https://www.youtube.com/watch?v=p51R5Z7KmyQ

CONCLUSION.
Segn el diseo realizado, se espera que el
seguidor cumpla con el objetivo principal de este
proyecto, que es recorrer una pista de lnea negra
en el menor tiempo posible. A pesar de ser pesado
el seguidor de lnea evidencia muy buena
velocidad.
REFERENCIAS
[1] http://www.dynamoelectronics.com/home.html
[2] http://arduino.cc/en/Main/arduinoBoardUno
[3] http://www.arduino.cc/es/
[4] http://tienda.tdrobotica.co/categoria/81
[5]http://pfcrobolab.blogspot.com/2011/06/diagrama-de-bloquespara-el-diseno-del.html

Notas:
1.

El seguidor de linea queda dispuesto para


posibles mejoras futuras.

2. Se anexan imgenes del seguidor de lnea


negra VELOSTER. Adems de un link
donde se registra ste en funcionamiento.

Creado por:
Leidy Martnez, Ingrid Rangel, Manuel Bersinger,
Carlos Solano.
Para la materia de microcontroladores II
Escuela de Ingeniera Electrnica
Universitaria De Investigacin Y Desarrollo
2013

Potrebbero piacerti anche