1 
Robot Sigue-líneas Hipócrates 1 
Reporte de diseño, elaboración y construcción 
Universidad Hipócrates 
Facultad de Ingeniería en Electrónica y Cibernética 
Alumno: Braulio Emiliano Vazquez Valdez 
Profesor: Carlos Arturo Alarcón 
16/12/2013 
RSGH-1
2 
Introducción 
Con motivo del proyecto final de la materia electrónica 1 segundo parcial, se planteó un proyecto mesclador de químicos, al encontrar una limitante en su funcionamiento se optó por buscar otro proyecto, de esta manera se adoptó la idea de diseñar un robot sigue-líneas denominado ahora como RSGH-1 
La finalidad del proyecto además de aprobar la materia electrónica 1 impartida por el profesor Carlos Arturo Alarcón, es iniciarse en la robótica y abrir un panorama para la facultad para abrir futuras participaciones en competencias y eventos en el ámbito de la robótica, no es seguro con este robot en sí, pero si se puede comenzar a desarrollar un proyecto más competente y sofisticado, además se logró un interés en los alumnos de preparatoria Hipócrates en la carrera de ingeniería en Electrónica y Cibernética 
El resultado del proyecto fue convincente y en opinión del desarrollador gratificante no solo por su buen funcionamiento, sino porque es su primer robot 
Pero antes que nada ¿qué es un robot sigue-líneas? 
Según Wikipedia “Los robots seguidores de línea son robots muy sencillos, que cumplen una única misión: seguir una línea marcada en el suelo normalmente de color negro sobre un tablero blanco (normalmente una línea negra sobre un fondo blanco). ” 
Con esto queda entendido que son, ahora que lo conforman? 
Partes que lo conforman: 
1.- Sensores 
Son los encargados de referenciar la posición del robot con respecto a la línea negra o blanca 
2.- Microcontrolador 
Se encarga de recoger los datos otorgados por los sensores y usarlos para decidir como administrar los pulso de control para los motores 
3.- Motores con Motorreductor 
Son los encargados de darle movimiento al robot siendo estos acoplados a unas llantas la tracción
3 
Primeros pasos 
Al plantear la idea del robot sigue-líneas surgieron 2 preguntas 
¿Qué tipo de robot queríamos? 
¿Cómo conseguiríamos las piezas necesarias? 
Se optó por un robot microcontrolado ya que se puede modificar su programación en cualquier momento y porque son mucho más versátiles que un robot puramente electrónico, además de que se pueden usar más sensores y configurar el comportamiento independiente de cada uno de ellos en resumen la versatilidad es mucho mayor 
Se investigaron las piezas necesarias para su elaboración 
El 60% de las piezas usadas no se encontraron en guerrero, se tuvieron que pedir por tiendas en línea resultando encontrar las piezas en una llamada MICROSIDE que se ubica en Tlaxcala 
Una vez teniendo todas las piezas se procedió a construir el robot
4 
Detalles sobre la investigación 
Siendo este el primer sigue-líneas desarrollado se fue investigando en un orden 
¿Como obtendremos las señales? 
Mediante a sensores 
¿Qué sensores necesitamos? 
Sensores Emisor-Receptor 
¿Cuáles hay disponibles? 
QRD1114 y CNY70 
Optamos por los QRD1114 ya que tienen un mayor rango de acción y son más precisos 
¿Qué tipo de señales emiten? 
Emiten señales analógicas en función a la reflexión del material que este frente a su emisor- receptor 
¿Qué señales necesitamos? 
Necesitamos señales digitales para nuestro robot 
¿Cómo convertimos la señal analógica de los sensores en digital? 
Buscando en la red se encontró el diagrama de la figura 1 
Figura 1
5 
Probándolo en la práctica se comprobó su funcionamiento, devolviendo señales de entre 0 y 5 volts siendo estos valores, señales digitales. 
Se procedió diseñar el circuito impreso y estos fueron los resultados 
Figura 1.1 (Panel de sensores) 
Figura 1.2 (Convertidor analógico-digital)
6 
Ahora ¿Qué hacemos con esas señales? 
Toco investigar de qué manera podíamos procesar estas señales, sin duda podíamos procesarlas mediante un sistema electrónico con un puente h pero se tiene el inconveniente que si se quieren usar más de 2 sensores se necesitarían muchos componentes y además sería un funcionamiento fijo sin posibilidad de ser modificado fácilmente 
Entonces se optó por el uso de un Microcontrolador 
Se puede fabricar uno pero por falta de tiempo las opciones eran comprar uno 
Existen diferentes marcas, Arduino, Chipkit, Genius, entre otros, la mejor opción fue el Chipkit Uno32 
Figura 2 
tanto por su velocidad de procesamiento como por su cantidad de puertos además de ser compatible con toda la gama de productos Arduino y la programación es mediante ensamblador siendo relativamente sencilla y fácil de aprender 
Para realizar el programa se visitaron muchas paginas entre ellas las mas destacadas por la calidad y veracidad de sus artículos fueron 
http://www.arduino.cc/es/ 
http://www.forosdeelectronica.com/ 
http://www.taringa.net/ 
Después de revisar programas hechos por terceros y tutoriales en las paginas antes mencionadas se realizó con éxito este programa para seguir línea blanca mediante al programa MP-IDE 
//Pines de los sensores 
const int sensor1 =8 ; 
const int sensor2 =9 ; 
const int sensor3 =11 ;
7 
const int sensor4 =12 ; 
const int sensor5 =13 ; 
//Pines Motores 
const int motor1 = 7; 
const int motor2 = 4; 
const int rmotor1 = 5; 
const int rmotor2 = 6; 
void setup() { 
//Incializacion de los pines de los motores como salidas 
pinMode(motor1, OUTPUT); 
pinMode(motor2, OUTPUT); 
//Incializacion de los pines de las reversas de los motores 
pinMode(rmotor1, OUTPUT); 
pinMode(rmotor2, OUTPUT); 
//Incializacion de los pines de los sensoeres como entradas 
pinMode(sensor1, INPUT); 
pinMode(sensor2, INPUT); 
pinMode(sensor3, INPUT); 
pinMode(sensor4, INPUT); 
pinMode(sensor5, INPUT); 
} 
void loop(){ 
//Comprovacion del estado del sensor 3
8 
if (digitalRead(sensor3)) { 
digitalWrite(motor1, LOW); 
digitalWrite(motor2, LOW); 
} 
else { 
digitalWrite(motor1, HIGH); 
digitalWrite(motor2, HIGH); 
} 
//Comprovacion del estado del sensor 2 
if (digitalRead(sensor2)) { 
digitalWrite(motor2, LOW); 
} 
else { 
digitalWrite(motor2, HIGH); 
} 
//Comprovacion del estado del sensor 4 
if (digitalRead(sensor4)) { 
digitalWrite(motor1, LOW); 
} 
else { 
digitalWrite(motor1, HIGH); 
} 
//Comprovacion del estado del sensor 1 
if (digitalRead(sensor1)) { 
digitalWrite(rmotor1, LOW); 
digitalWrite(motor2, LOW); 
} 
else {
9 
digitalWrite(rmotor1, HIGH); 
digitalWrite(motor2, HIGH); 
} 
//Comprovacion del estado del sensor 5 
if (digitalRead(sensor5)) { 
digitalWrite(motor1, LOW); 
digitalWrite(rmotor2, LOW); 
} 
else { 
digitalWrite(motor1, HIGH); 
digitalWrite(rmotor2, HIGH); 
} 
} 
Donde los puertos 8, 9, 11, 12, 13 son las entradas donde se recogen las señales de los sensores y los puertos 4, 5, 6, 7 son las salidas de control para los motores 
Ya con esto resuelto 
¿Cómo alimentaremos los Motores? 
El Microcontrolador emite una señal de 3.3 volts 18ma, mientras que los motores necesitan un voltaje de 8 volts 1000ma 
Investigando se encontró que esto se podía realizar mediante un puente H 
Según Wikipedia “Un Puente H o Puente en H es un circuito electrónico que permite a un motor eléctrico DC girar en ambos sentidos, avance y retroceso. Son ampliamente usados enrobótica y como convertidores de potencia. Los puentes H están disponibles como circuitos integrados, pero también pueden construirse a partir de componentes discretos.” El circuito que se encontró activa el avance y retroceso mediante un pulso de control de entre 3.2 volts hasta 5 volts, con una entrada/salida de potencia de 5volts 500ma hasta 8.3volts 4000ma, quedando perfecto para nuestro robot, el diagrama en la figura 3
10 
Figura 3 
Una vez probado su funcionamiento en la práctica se procedió a diseñar una el circuito impreso a partir de este diagrama. Véase figura 3.1 
Figura 3.1
11 
La vista previa tridimensional en la figura 3.2 
Figura 3.2 
Y el resultado final en la figura 3.3 
Figura 3.3 
Ya con todo esto solo faltaban los motores, se compró un kit de chasis y motorreductores 4x4 de la marca DFRobot 
Figura 4
12 
Ahora ¿Cómo alimentaremos el robot? 
Se necesitaba una fuente de energía que proveyera 8 volts 4000ma, la solución fue crear un pack de baterías a partir de batería viejas de laptop 
Figura 5 
Al final se procedió a cablear y armar todo los componentes elaborados mediante a extensores y tornillos 
Y este fue el resultado final 
Figura 6
13 
Figura 6.1 
Figura 6.2 
Después de realizar pruebas los resultados fueron satisfactorios

Seguidor de linea con arduino

  • 1.
    1 Robot Sigue-líneasHipócrates 1 Reporte de diseño, elaboración y construcción Universidad Hipócrates Facultad de Ingeniería en Electrónica y Cibernética Alumno: Braulio Emiliano Vazquez Valdez Profesor: Carlos Arturo Alarcón 16/12/2013 RSGH-1
  • 2.
    2 Introducción Conmotivo del proyecto final de la materia electrónica 1 segundo parcial, se planteó un proyecto mesclador de químicos, al encontrar una limitante en su funcionamiento se optó por buscar otro proyecto, de esta manera se adoptó la idea de diseñar un robot sigue-líneas denominado ahora como RSGH-1 La finalidad del proyecto además de aprobar la materia electrónica 1 impartida por el profesor Carlos Arturo Alarcón, es iniciarse en la robótica y abrir un panorama para la facultad para abrir futuras participaciones en competencias y eventos en el ámbito de la robótica, no es seguro con este robot en sí, pero si se puede comenzar a desarrollar un proyecto más competente y sofisticado, además se logró un interés en los alumnos de preparatoria Hipócrates en la carrera de ingeniería en Electrónica y Cibernética El resultado del proyecto fue convincente y en opinión del desarrollador gratificante no solo por su buen funcionamiento, sino porque es su primer robot Pero antes que nada ¿qué es un robot sigue-líneas? Según Wikipedia “Los robots seguidores de línea son robots muy sencillos, que cumplen una única misión: seguir una línea marcada en el suelo normalmente de color negro sobre un tablero blanco (normalmente una línea negra sobre un fondo blanco). ” Con esto queda entendido que son, ahora que lo conforman? Partes que lo conforman: 1.- Sensores Son los encargados de referenciar la posición del robot con respecto a la línea negra o blanca 2.- Microcontrolador Se encarga de recoger los datos otorgados por los sensores y usarlos para decidir como administrar los pulso de control para los motores 3.- Motores con Motorreductor Son los encargados de darle movimiento al robot siendo estos acoplados a unas llantas la tracción
  • 3.
    3 Primeros pasos Al plantear la idea del robot sigue-líneas surgieron 2 preguntas ¿Qué tipo de robot queríamos? ¿Cómo conseguiríamos las piezas necesarias? Se optó por un robot microcontrolado ya que se puede modificar su programación en cualquier momento y porque son mucho más versátiles que un robot puramente electrónico, además de que se pueden usar más sensores y configurar el comportamiento independiente de cada uno de ellos en resumen la versatilidad es mucho mayor Se investigaron las piezas necesarias para su elaboración El 60% de las piezas usadas no se encontraron en guerrero, se tuvieron que pedir por tiendas en línea resultando encontrar las piezas en una llamada MICROSIDE que se ubica en Tlaxcala Una vez teniendo todas las piezas se procedió a construir el robot
  • 4.
    4 Detalles sobrela investigación Siendo este el primer sigue-líneas desarrollado se fue investigando en un orden ¿Como obtendremos las señales? Mediante a sensores ¿Qué sensores necesitamos? Sensores Emisor-Receptor ¿Cuáles hay disponibles? QRD1114 y CNY70 Optamos por los QRD1114 ya que tienen un mayor rango de acción y son más precisos ¿Qué tipo de señales emiten? Emiten señales analógicas en función a la reflexión del material que este frente a su emisor- receptor ¿Qué señales necesitamos? Necesitamos señales digitales para nuestro robot ¿Cómo convertimos la señal analógica de los sensores en digital? Buscando en la red se encontró el diagrama de la figura 1 Figura 1
  • 5.
    5 Probándolo enla práctica se comprobó su funcionamiento, devolviendo señales de entre 0 y 5 volts siendo estos valores, señales digitales. Se procedió diseñar el circuito impreso y estos fueron los resultados Figura 1.1 (Panel de sensores) Figura 1.2 (Convertidor analógico-digital)
  • 6.
    6 Ahora ¿Quéhacemos con esas señales? Toco investigar de qué manera podíamos procesar estas señales, sin duda podíamos procesarlas mediante un sistema electrónico con un puente h pero se tiene el inconveniente que si se quieren usar más de 2 sensores se necesitarían muchos componentes y además sería un funcionamiento fijo sin posibilidad de ser modificado fácilmente Entonces se optó por el uso de un Microcontrolador Se puede fabricar uno pero por falta de tiempo las opciones eran comprar uno Existen diferentes marcas, Arduino, Chipkit, Genius, entre otros, la mejor opción fue el Chipkit Uno32 Figura 2 tanto por su velocidad de procesamiento como por su cantidad de puertos además de ser compatible con toda la gama de productos Arduino y la programación es mediante ensamblador siendo relativamente sencilla y fácil de aprender Para realizar el programa se visitaron muchas paginas entre ellas las mas destacadas por la calidad y veracidad de sus artículos fueron http://www.arduino.cc/es/ http://www.forosdeelectronica.com/ http://www.taringa.net/ Después de revisar programas hechos por terceros y tutoriales en las paginas antes mencionadas se realizó con éxito este programa para seguir línea blanca mediante al programa MP-IDE //Pines de los sensores const int sensor1 =8 ; const int sensor2 =9 ; const int sensor3 =11 ;
  • 7.
    7 const intsensor4 =12 ; const int sensor5 =13 ; //Pines Motores const int motor1 = 7; const int motor2 = 4; const int rmotor1 = 5; const int rmotor2 = 6; void setup() { //Incializacion de los pines de los motores como salidas pinMode(motor1, OUTPUT); pinMode(motor2, OUTPUT); //Incializacion de los pines de las reversas de los motores pinMode(rmotor1, OUTPUT); pinMode(rmotor2, OUTPUT); //Incializacion de los pines de los sensoeres como entradas pinMode(sensor1, INPUT); pinMode(sensor2, INPUT); pinMode(sensor3, INPUT); pinMode(sensor4, INPUT); pinMode(sensor5, INPUT); } void loop(){ //Comprovacion del estado del sensor 3
  • 8.
    8 if (digitalRead(sensor3)){ digitalWrite(motor1, LOW); digitalWrite(motor2, LOW); } else { digitalWrite(motor1, HIGH); digitalWrite(motor2, HIGH); } //Comprovacion del estado del sensor 2 if (digitalRead(sensor2)) { digitalWrite(motor2, LOW); } else { digitalWrite(motor2, HIGH); } //Comprovacion del estado del sensor 4 if (digitalRead(sensor4)) { digitalWrite(motor1, LOW); } else { digitalWrite(motor1, HIGH); } //Comprovacion del estado del sensor 1 if (digitalRead(sensor1)) { digitalWrite(rmotor1, LOW); digitalWrite(motor2, LOW); } else {
  • 9.
    9 digitalWrite(rmotor1, HIGH); digitalWrite(motor2, HIGH); } //Comprovacion del estado del sensor 5 if (digitalRead(sensor5)) { digitalWrite(motor1, LOW); digitalWrite(rmotor2, LOW); } else { digitalWrite(motor1, HIGH); digitalWrite(rmotor2, HIGH); } } Donde los puertos 8, 9, 11, 12, 13 son las entradas donde se recogen las señales de los sensores y los puertos 4, 5, 6, 7 son las salidas de control para los motores Ya con esto resuelto ¿Cómo alimentaremos los Motores? El Microcontrolador emite una señal de 3.3 volts 18ma, mientras que los motores necesitan un voltaje de 8 volts 1000ma Investigando se encontró que esto se podía realizar mediante un puente H Según Wikipedia “Un Puente H o Puente en H es un circuito electrónico que permite a un motor eléctrico DC girar en ambos sentidos, avance y retroceso. Son ampliamente usados enrobótica y como convertidores de potencia. Los puentes H están disponibles como circuitos integrados, pero también pueden construirse a partir de componentes discretos.” El circuito que se encontró activa el avance y retroceso mediante un pulso de control de entre 3.2 volts hasta 5 volts, con una entrada/salida de potencia de 5volts 500ma hasta 8.3volts 4000ma, quedando perfecto para nuestro robot, el diagrama en la figura 3
  • 10.
    10 Figura 3 Una vez probado su funcionamiento en la práctica se procedió a diseñar una el circuito impreso a partir de este diagrama. Véase figura 3.1 Figura 3.1
  • 11.
    11 La vistaprevia tridimensional en la figura 3.2 Figura 3.2 Y el resultado final en la figura 3.3 Figura 3.3 Ya con todo esto solo faltaban los motores, se compró un kit de chasis y motorreductores 4x4 de la marca DFRobot Figura 4
  • 12.
    12 Ahora ¿Cómoalimentaremos el robot? Se necesitaba una fuente de energía que proveyera 8 volts 4000ma, la solución fue crear un pack de baterías a partir de batería viejas de laptop Figura 5 Al final se procedió a cablear y armar todo los componentes elaborados mediante a extensores y tornillos Y este fue el resultado final Figura 6
  • 13.
    13 Figura 6.1 Figura 6.2 Después de realizar pruebas los resultados fueron satisfactorios