SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
ROBOT SEGUIDOR DE
LÍNEA CON SOFTWARE Y
HARDWARE LIBRE
July Paola Chitiva Ortiz
Jhosman Alfonso Lizarazo
Universidad Distrital Francisco José de Caldas
Facultad Tecnológica
Tecnología en Sistematización de Datos
PROBLEMA PLANTEADO
 Vehículo Controlado Mediante un Computador: se podría
controlar un “vehículo” (Robot pequeño de ruedas) que
avance, retroceda o gire mediante instrucciones que se
impartan desde el computador, o se podría hacer que este
vehículo en vez de seguir instrucciones desde el PC, siga una
ruta determinada mediante sensores infrarrojos. Este será
constituido por ruedas, motores, fuente de energía, y tarjeta de
control (micro controlador Arduino ATmega168) programado en
lenguaje Arduino.
FASE DE DISEÑO
ELECTRÓNICO
El robot actuará como un móvil seguidor de línea
negra haciendo uso de sensores infrarrojos, los
cuales detectan la línea y envían una señal al resto
del circuito del robot. Allí, de acuerdo a la
programación realizada, se tomará una decisión
respecto a las acciones que el robot debe realizar
para mantenerse en el camino y llegar a la meta.
Este diseño electrónico cuenta con dos sistemas:
percepción y potencia.
PERCEPCIÓN
En el sensor infrarojo lo que hace es enviar y recibir una
señal muy pequeña que determina la transmisión de
luz infraroja que dependiendo de las condiciones del
espacio puede darnos varios valores, estos van
conectados a unas resistencias R2 y R4 controlan el
flujo de corriente, la cual desbloqueará su base y
permitirá la amplificación de la señal. Las resistencias
R1 y R3 actúan como protección de los led
disminuyendo el flujo de corriente hacia éstos.
CNY70
Es importante tener presente que el sensor infrarrojo
también es sensible a la luz ambiente, razón por la cual
tanto el led infrarrojo como el fotodiodo deben
recubrirse con cinta aislante negra (u otro material
oscuro), formando una especie de conducto que
limita la incidencia de esta luz y facilita que el haz de
luz infrarroja se emita en una sola dirección. O
reprogramar la sensibilidad de los sensores CNY70
dentro de la programación.
POTENCIA
La señal de salida obtenida de los sensores infrarrojos
se convierte en la señal de entrada a la fase de
programación, en la que interviene un módulo
electrónico (Arduino) para el control del robot. Para
ello se utilizará un componente (SN754410NE) o el
componente (L293D) quienes realizarán la función de
indicar a los motores que actividad realizar
dependiendo del momento
“
”
FUNCIONAMIENTO DEL PUENTE H
S1 S2 S3 S4 Resultado
1 0 0 1 El motor gira en avance
0 1 1 0 El motor gira en retroceso
0 0 0 0
El motor se detiene bajo su
inercia
1 0 1 0 El motor frena (fast-stop)
DISEÑO MECANICO
El robot cuenta con tracción diferencial, ya
que utiliza dos ruedas que son controladas
de manera individual y soportadas en un eje
central común (rueda loca) para el balance.
Las dos ruedas tienen un recubrimiento de
caucho que permite mayor adhesión a la
superficie plana del entorno; la rueda loca
además facilita el movimiento del robot al
contar con un giro libre de 360 grados. Las
dos ruedas principales son controladas por
un motor de corriente continua que cuenta
con un sistema de engranajes que ayuda a
aumentar la potencia en el movimiento.
UBICACIÓN DE LAS RUEDAS DEL
ROBOT
 En la figura 7 se observa la ubicación de las ruedas en el robot;
la rueda loca se encuentra en la parte posterior de éste. Las
formas de avance con las que cuenta robot son hacia adelante,
girar a la izquierda y girar a la derecha y hacia atrás si así se
requiere. En la figura 8 se indica la posición en el robot de los
sensores para el avance del seguimiento de línea:
DISEÑO DE PROGRAMACIÓN
 Como ya se ha descrito en la fase de diseño mecánico la
tracción de los robots es diferencial, pero se hace necesario
controlar su movimiento (detenerse, avanzar, girar) y además
garantizar el correcto funcionamiento de los sensores para seguir
un camino. Para solucionar esto se propone hacerlo a través de
un entorno de programación, teniendo en cuenta la población
principal a la cual va dirigida la actividad, por lo que es
importante que sea de fácil acceso y uso.
 De esta manera, el control de los robots se realiza a través el IDE
de programación de Arduino www.arduino.cc.
DISEÑO DE PROGRAMACIÓN
 Para que sea posible la programación de la placa en el entorno
Arduino, primero debe descargarse el software Arduino y el
firmware que hará posible el reconocimiento de dicha placa por
el entorno. En la página principal de Arduino se encuentran las
especificaciones de instalación de acuerdo al tipo y versión del
sistema operativo con el que se cuente. En este proyecto se
utilizó la versión de Arduino para Ubuntu, el cual se puede
encontrar en el centro de Software para
Ubuntu: https://apps.ubuntu.com/cat/applications/arduino/
PROGRAMACION
 Programación:
 1) Instalar Arduino (sudo apt-get install arduino)
 2) Conectar Arduino por USB
 3) Abrir Arduino
PROGRAMACION
 4) Seleccionar tarjeta (Herramientas/Tarjeta/Arduino Diecimila or
Duemileanve w/ Atmega168
PROGRAMACION
 5) Verificar permisos USB (~$ ls -l /dev/tty*)
PROGRAMACION
 6) Visualizar cual fue el puerto asignado ~$ dmesg
PROGRAMACION
 7) Si no tiene permisos asignar permisos al puerto USB que se
asignó a la placa (crwxrwxrwx 1 root dialout 188, 0 may 24 10:33
ttyUSB0)
 ~$chmod 777 ttyUSB0
PROGRAMACION
 Este es un ejemplo del Hola Mundo para arduino
PROGRAMACION
Código para nuestro robot seguidor de
línea con Arduino:
#define M1A 19 //Motor 1A
#define M1B 18 //Motor 1B
#define M2A 17 //Motor 2A
#define M2B 16 //Motor 2B
#define PIN_PWM 11 //Modulacion por
ancho de pulso - Emular salida analogica
con salida digital
#define VEL 100 //Velocidad
#define S1 0 //IZQ
#define S2 1 //DER
#define _UMBRAL_ 200 //Umbral de los
sensores
unsigned long timeserial;
void setup (){
Serial.begin(9600);
timeserial = millis();
pinMode(M1A, OUTPUT);
pinMode(M1B, OUTPUT);
pinMode(M2A, OUTPUT);
pinMode(M2B, OUTPUT);
STOP(10000);
analogWrite(PIN_PWM, VEL);
}
void loop()
{
byte SDER = (analogRead(S1)> _UMBRAL_
)?0:1;
byte SIZQ = (analogRead(S2)> _UMBRAL_
)?0:1;
if(SDER && SIZQ)
STOP(0);
else if (!SDER && SIZQ)
DER(0);
else if (SDER && !SIZQ)
IZQ(0);
else
ADE(0);
if(millis() - timeserial > 500){
timeserial = millis();
Serial.print("Sensor1: ");
//Serial.print(SDER);
Serial.print(analogRead(S1));
Serial.print(" Sensor2: ");
//Serial.println(SIZQ);
Serial.println(analogRead(S2));
}
}
void ATR(uint16_t time){
digitalWrite(M1A, HIGH);
digitalWrite(M1B, LOW);
digitalWrite(M2A, HIGH);
digitalWrite(M2B, LOW);
delay(time);
}
void ADE(uint16_t time){
digitalWrite(M1A, LOW);
digitalWrite(M1B, HIGH);
digitalWrite(M2A, LOW);
digitalWrite(M2B, HIGH);
delay(time);
}
void DER(uint16_t time){
//Llanta Izquierda
digitalWrite(M1A, HIGH);
digitalWrite(M1B, LOW);
//llanta Derecha
digitalWrite(M2A, LOW);
digitalWrite(M2B, HIGH);
delay(time);
}
void IZQ(uint16_t time){
//Llanta Izquierda
digitalWrite(M1A, LOW);
digitalWrite(M1B, HIGH);
//Llanta Derecha
digitalWrite(M2A, HIGH);
digitalWrite(M2B, LOW);
delay(time);
}
void STOP(uint16_t time){
digitalWrite(M1A, LOW);
digitalWrite(M1B, LOW);
digitalWrite(M2A, LOW);
digitalWrite(M2B, LOW);
delay(time);
}
ELEMENTOS NECESARIOS
Cantidad Componente
2 Led infrarrojo CNY70
2 Resistencias 220
2 Resistencias 47K
1 Driver para motor L293 B ó
SN754410NE
2 Secciones de acrílico de
12x12 cms de 10 mm. de
ancho para las partes
superior e inferior.
Tornillos y Tuercas
2 Ruedas de 8 cm de
diámetro
1 Rueda loca
1 Twin Motor GrearBox
1 Placa Arduino ATMega168
1 Protoboard
Cables para conexiones
5 Condensadores
Agradecimientos:
 Laura Romero
 Leonardo Urrego
 Documentación arduino.cc
 Google y Wikipedia
 Texas Instruments
FOTOGRAFIAS

Más contenido relacionado

La actualidad más candente

Tema 6: Introducción al Diseño Secuencial: Contadores y Registros.
Tema 6: Introducción al Diseño Secuencial: Contadores y Registros.Tema 6: Introducción al Diseño Secuencial: Contadores y Registros.
Tema 6: Introducción al Diseño Secuencial: Contadores y Registros.Manuel Fernandez Barcell
 
Clasificación de robots/Type of Robots
Clasificación de robots/Type of RobotsClasificación de robots/Type of Robots
Clasificación de robots/Type of RobotsSPEed 施
 
Clasificación de los controladores lógicos programables.
Clasificación de los controladores lógicos programables.Clasificación de los controladores lógicos programables.
Clasificación de los controladores lógicos programables.Angel Ng
 
Actuadores mecanicos
Actuadores mecanicosActuadores mecanicos
Actuadores mecanicosgarzilla
 
Diapositiva de codificadores y decodificadores circuitos logicos1111111
Diapositiva de codificadores y decodificadores circuitos logicos1111111Diapositiva de codificadores y decodificadores circuitos logicos1111111
Diapositiva de codificadores y decodificadores circuitos logicos1111111Dianosky Sosa Piñango
 
Proyecto puerta corredera (Tecnología ESO)
Proyecto puerta corredera (Tecnología ESO)Proyecto puerta corredera (Tecnología ESO)
Proyecto puerta corredera (Tecnología ESO)jmnd80
 
Controladores (teoria de control)
Controladores (teoria de control)Controladores (teoria de control)
Controladores (teoria de control)martinezeduardo
 
Arquitectura de la memoria flash
Arquitectura de la memoria flashArquitectura de la memoria flash
Arquitectura de la memoria flashYESENIA CETINA
 

La actualidad más candente (20)

Compuertas logicas
Compuertas logicasCompuertas logicas
Compuertas logicas
 
Tema 6: Introducción al Diseño Secuencial: Contadores y Registros.
Tema 6: Introducción al Diseño Secuencial: Contadores y Registros.Tema 6: Introducción al Diseño Secuencial: Contadores y Registros.
Tema 6: Introducción al Diseño Secuencial: Contadores y Registros.
 
Clasificación de robots/Type of Robots
Clasificación de robots/Type of RobotsClasificación de robots/Type of Robots
Clasificación de robots/Type of Robots
 
Presentación p.l.c.
Presentación p.l.c.Presentación p.l.c.
Presentación p.l.c.
 
Ejercicio de PLC y GRAFCET numero 9
Ejercicio de PLC y GRAFCET numero 9Ejercicio de PLC y GRAFCET numero 9
Ejercicio de PLC y GRAFCET numero 9
 
Informe sobre Arduino.
Informe sobre Arduino.Informe sobre Arduino.
Informe sobre Arduino.
 
Clasificación de los controladores lógicos programables.
Clasificación de los controladores lógicos programables.Clasificación de los controladores lógicos programables.
Clasificación de los controladores lógicos programables.
 
Luces automotrices
Luces automotricesLuces automotrices
Luces automotrices
 
Actuadores mecanicos
Actuadores mecanicosActuadores mecanicos
Actuadores mecanicos
 
Ejercicios ladder
Ejercicios ladderEjercicios ladder
Ejercicios ladder
 
Electrónica.pdf
Electrónica.pdf Electrónica.pdf
Electrónica.pdf
 
Transductores pasivos
Transductores  pasivosTransductores  pasivos
Transductores pasivos
 
Motorreductores y motores de DC
Motorreductores y motores de DCMotorreductores y motores de DC
Motorreductores y motores de DC
 
Diapositiva de codificadores y decodificadores circuitos logicos1111111
Diapositiva de codificadores y decodificadores circuitos logicos1111111Diapositiva de codificadores y decodificadores circuitos logicos1111111
Diapositiva de codificadores y decodificadores circuitos logicos1111111
 
Semaforo inteligente implementado en vhdl
Semaforo inteligente implementado en vhdlSemaforo inteligente implementado en vhdl
Semaforo inteligente implementado en vhdl
 
Semana dos
Semana dosSemana dos
Semana dos
 
Reporte proyecto sumorobot
Reporte proyecto sumorobotReporte proyecto sumorobot
Reporte proyecto sumorobot
 
Proyecto puerta corredera (Tecnología ESO)
Proyecto puerta corredera (Tecnología ESO)Proyecto puerta corredera (Tecnología ESO)
Proyecto puerta corredera (Tecnología ESO)
 
Controladores (teoria de control)
Controladores (teoria de control)Controladores (teoria de control)
Controladores (teoria de control)
 
Arquitectura de la memoria flash
Arquitectura de la memoria flashArquitectura de la memoria flash
Arquitectura de la memoria flash
 

Destacado

Proyecto: Robot seguidor de línea
Proyecto: Robot seguidor de líneaProyecto: Robot seguidor de línea
Proyecto: Robot seguidor de líneaFrancesc Perez
 
Proyecto seguidor de linea
Proyecto seguidor de linea Proyecto seguidor de linea
Proyecto seguidor de linea DL3004
 
Carrito seguidor de línea final
Carrito seguidor de línea finalCarrito seguidor de línea final
Carrito seguidor de línea finaldani
 
Carro seguidor de luz... Electronica y digital
Carro seguidor de luz... Electronica y digital Carro seguidor de luz... Electronica y digital
Carro seguidor de luz... Electronica y digital Eduardo Arévalo Angamarca
 
Manual seguidor de linea
Manual seguidor de lineaManual seguidor de linea
Manual seguidor de lineaENRIQUE PIGUAVE
 
Informe Seguidor De Linea
Informe Seguidor De LineaInforme Seguidor De Linea
Informe Seguidor De Lineacristi9908
 
seguidor de linea
seguidor de lineaseguidor de linea
seguidor de lineaYupi Raton
 
Robot seguidor de linea
Robot seguidor de lineaRobot seguidor de linea
Robot seguidor de linea94022301238
 
Taller de scratch 1.1
Taller de scratch 1.1Taller de scratch 1.1
Taller de scratch 1.1rafaelru
 
taller scratch
taller scratchtaller scratch
taller scratchDaniVA68
 
Bases didácticas y recursos para trabajar el pensamiento computacional en el ...
Bases didácticas y recursos para trabajar el pensamiento computacional en el ...Bases didácticas y recursos para trabajar el pensamiento computacional en el ...
Bases didácticas y recursos para trabajar el pensamiento computacional en el ...fernandoposada
 
Experimentar y Compartir: una red para colaborar y aprender robótica en red”
Experimentar y Compartir: una red para colaborar y aprender robótica en red” Experimentar y Compartir: una red para colaborar y aprender robótica en red”
Experimentar y Compartir: una red para colaborar y aprender robótica en red” Mertxe J. Badiola
 
Examen circuitos alterna solución
Examen circuitos alterna soluciónExamen circuitos alterna solución
Examen circuitos alterna soluciónjosglods
 
Examen circuitos corriente alterna 2 solucion
Examen circuitos corriente alterna 2 solucionExamen circuitos corriente alterna 2 solucion
Examen circuitos corriente alterna 2 solucionjosglods
 

Destacado (20)

Proyecto: Robot seguidor de línea
Proyecto: Robot seguidor de líneaProyecto: Robot seguidor de línea
Proyecto: Robot seguidor de línea
 
Seguidor de linea con arduino
Seguidor de linea con arduinoSeguidor de linea con arduino
Seguidor de linea con arduino
 
Robot seguidor de linea
Robot seguidor de lineaRobot seguidor de linea
Robot seguidor de linea
 
Proyecto seguidor de linea
Proyecto seguidor de linea Proyecto seguidor de linea
Proyecto seguidor de linea
 
Carrito seguidor de línea final
Carrito seguidor de línea finalCarrito seguidor de línea final
Carrito seguidor de línea final
 
Carro seguidor de luz... Electronica y digital
Carro seguidor de luz... Electronica y digital Carro seguidor de luz... Electronica y digital
Carro seguidor de luz... Electronica y digital
 
ROBOT SEGUIDOR DE LUZ
ROBOT SEGUIDOR DE LUZ ROBOT SEGUIDOR DE LUZ
ROBOT SEGUIDOR DE LUZ
 
Manual seguidor de linea
Manual seguidor de lineaManual seguidor de linea
Manual seguidor de linea
 
Informe Seguidor De Linea
Informe Seguidor De LineaInforme Seguidor De Linea
Informe Seguidor De Linea
 
seguidor de linea
seguidor de lineaseguidor de linea
seguidor de linea
 
Robot seguidor de linea
Robot seguidor de lineaRobot seguidor de linea
Robot seguidor de linea
 
Taller sobre scratch
Taller sobre scratchTaller sobre scratch
Taller sobre scratch
 
taller scratch
taller scratchtaller scratch
taller scratch
 
Taller de scratch 1.1
Taller de scratch 1.1Taller de scratch 1.1
Taller de scratch 1.1
 
taller scratch
taller scratchtaller scratch
taller scratch
 
Bases didácticas y recursos para trabajar el pensamiento computacional en el ...
Bases didácticas y recursos para trabajar el pensamiento computacional en el ...Bases didácticas y recursos para trabajar el pensamiento computacional en el ...
Bases didácticas y recursos para trabajar el pensamiento computacional en el ...
 
Experimentar y Compartir: una red para colaborar y aprender robótica en red”
Experimentar y Compartir: una red para colaborar y aprender robótica en red” Experimentar y Compartir: una red para colaborar y aprender robótica en red”
Experimentar y Compartir: una red para colaborar y aprender robótica en red”
 
Examen circuitos alterna solución
Examen circuitos alterna soluciónExamen circuitos alterna solución
Examen circuitos alterna solución
 
Examen circuitos corriente alterna 2 solucion
Examen circuitos corriente alterna 2 solucionExamen circuitos corriente alterna 2 solucion
Examen circuitos corriente alterna 2 solucion
 
Senoides y fasores presentacion ppt
Senoides  y fasores presentacion pptSenoides  y fasores presentacion ppt
Senoides y fasores presentacion ppt
 

Similar a Robot seguidor de línea con software y hardware

Proyecto coche por bluetooth por joaquin berrocal piris marzo 2017
Proyecto coche por bluetooth por joaquin berrocal piris marzo 2017Proyecto coche por bluetooth por joaquin berrocal piris marzo 2017
Proyecto coche por bluetooth por joaquin berrocal piris marzo 2017joaquinin1
 
DISEÑO DE UN DETECTOR DE VELOCIDAD CON ARDUINO
DISEÑO DE UN DETECTOR DE VELOCIDAD CON ARDUINODISEÑO DE UN DETECTOR DE VELOCIDAD CON ARDUINO
DISEÑO DE UN DETECTOR DE VELOCIDAD CON ARDUINOFernando Marcos Marcos
 
Minivoltios fase3
Minivoltios fase3Minivoltios fase3
Minivoltios fase3josglods
 
Automóvil con sensor
Automóvil con sensorAutomóvil con sensor
Automóvil con sensorjuliorovira96
 
Robot móvil de tracción diferencial con plataforma de control
Robot móvil de tracción diferencial con plataforma de controlRobot móvil de tracción diferencial con plataforma de control
Robot móvil de tracción diferencial con plataforma de controlBryan Garcia
 
seguidor-de-linea-negra
seguidor-de-linea-negraseguidor-de-linea-negra
seguidor-de-linea-negraandres mera
 
seguidor-de-linea-negra
seguidor-de-linea-negraseguidor-de-linea-negra
seguidor-de-linea-negraandres mera
 
CONCEPTOS BASICOS DE ARDUINO EN ELECTRICIDAD
CONCEPTOS BASICOS DE ARDUINO EN ELECTRICIDADCONCEPTOS BASICOS DE ARDUINO EN ELECTRICIDAD
CONCEPTOS BASICOS DE ARDUINO EN ELECTRICIDADMaestroMatematicas
 
Mis proyectos con Arduino
Mis proyectos con ArduinoMis proyectos con Arduino
Mis proyectos con ArduinoJomicast
 
Curso básico de introducción
Curso básico de introducciónCurso básico de introducción
Curso básico de introducciónDaniel Cruz
 
Manual de operación arduino cabezal
Manual de operación arduino cabezalManual de operación arduino cabezal
Manual de operación arduino cabezalXxScioNxX
 
Tutorial-pic16 f877a- algunas-mejoras
Tutorial-pic16 f877a- algunas-mejorasTutorial-pic16 f877a- algunas-mejoras
Tutorial-pic16 f877a- algunas-mejorasAldo Corp
 
Proyecto mecatronica industrial control de servomotores
Proyecto mecatronica industrial control de servomotoresProyecto mecatronica industrial control de servomotores
Proyecto mecatronica industrial control de servomotoresAdrián Fernández Samalea
 

Similar a Robot seguidor de línea con software y hardware (20)

Proyecto
ProyectoProyecto
Proyecto
 
Unidad 5: Control y robótica
Unidad 5: Control y robóticaUnidad 5: Control y robótica
Unidad 5: Control y robótica
 
Taller de Robótica Educativa.pdf
Taller de Robótica Educativa.pdfTaller de Robótica Educativa.pdf
Taller de Robótica Educativa.pdf
 
Proyecto coche por bluetooth por joaquin berrocal piris marzo 2017
Proyecto coche por bluetooth por joaquin berrocal piris marzo 2017Proyecto coche por bluetooth por joaquin berrocal piris marzo 2017
Proyecto coche por bluetooth por joaquin berrocal piris marzo 2017
 
Robot Seguidor de Lineas
Robot Seguidor de LineasRobot Seguidor de Lineas
Robot Seguidor de Lineas
 
DISEÑO DE UN DETECTOR DE VELOCIDAD CON ARDUINO
DISEÑO DE UN DETECTOR DE VELOCIDAD CON ARDUINODISEÑO DE UN DETECTOR DE VELOCIDAD CON ARDUINO
DISEÑO DE UN DETECTOR DE VELOCIDAD CON ARDUINO
 
Minivoltios fase3
Minivoltios fase3Minivoltios fase3
Minivoltios fase3
 
Automóvil con sensor
Automóvil con sensorAutomóvil con sensor
Automóvil con sensor
 
Robot móvil de tracción diferencial con plataforma de control
Robot móvil de tracción diferencial con plataforma de controlRobot móvil de tracción diferencial con plataforma de control
Robot móvil de tracción diferencial con plataforma de control
 
seguidor-de-linea-negra
seguidor-de-linea-negraseguidor-de-linea-negra
seguidor-de-linea-negra
 
seguidor-de-linea-negra
seguidor-de-linea-negraseguidor-de-linea-negra
seguidor-de-linea-negra
 
CONCEPTOS BASICOS DE ARDUINO EN ELECTRICIDAD
CONCEPTOS BASICOS DE ARDUINO EN ELECTRICIDADCONCEPTOS BASICOS DE ARDUINO EN ELECTRICIDAD
CONCEPTOS BASICOS DE ARDUINO EN ELECTRICIDAD
 
Mis proyectos con Arduino
Mis proyectos con ArduinoMis proyectos con Arduino
Mis proyectos con Arduino
 
Curso básico de introducción
Curso básico de introducciónCurso básico de introducción
Curso básico de introducción
 
Manual de operación arduino cabezal
Manual de operación arduino cabezalManual de operación arduino cabezal
Manual de operación arduino cabezal
 
Tutorial-pic16 f877a- algunas-mejoras
Tutorial-pic16 f877a- algunas-mejorasTutorial-pic16 f877a- algunas-mejoras
Tutorial-pic16 f877a- algunas-mejoras
 
sesion1.pptx
sesion1.pptxsesion1.pptx
sesion1.pptx
 
Trabajo plus (1)
Trabajo plus (1)Trabajo plus (1)
Trabajo plus (1)
 
Robotica2
Robotica2Robotica2
Robotica2
 
Proyecto mecatronica industrial control de servomotores
Proyecto mecatronica industrial control de servomotoresProyecto mecatronica industrial control de servomotores
Proyecto mecatronica industrial control de servomotores
 

Más de Namsohj Ozarazil

Representacion semantica animales
Representacion semantica animalesRepresentacion semantica animales
Representacion semantica animalesNamsohj Ozarazil
 
Escritorios en Ubuntu 12.10 por David Guerrero
Escritorios en Ubuntu 12.10 por David GuerreroEscritorios en Ubuntu 12.10 por David Guerrero
Escritorios en Ubuntu 12.10 por David GuerreroNamsohj Ozarazil
 
Ubuntu Quantal 12.10 www.ubuntu-co.com
Ubuntu Quantal 12.10 www.ubuntu-co.comUbuntu Quantal 12.10 www.ubuntu-co.com
Ubuntu Quantal 12.10 www.ubuntu-co.comNamsohj Ozarazil
 
Primer Reunión Preparatoria FLISoL Bogotá 2012 28 de Enero de 2012
Primer Reunión Preparatoria FLISoL Bogotá 2012 28 de Enero de 2012Primer Reunión Preparatoria FLISoL Bogotá 2012 28 de Enero de 2012
Primer Reunión Preparatoria FLISoL Bogotá 2012 28 de Enero de 2012Namsohj Ozarazil
 
Distribución de Recursos Art 87 CESU 19 10-11 1
Distribución de Recursos Art 87 CESU 19 10-11 1Distribución de Recursos Art 87 CESU 19 10-11 1
Distribución de Recursos Art 87 CESU 19 10-11 1Namsohj Ozarazil
 
Circular 15 nov U Distrital
Circular 15 nov U DistritalCircular 15 nov U Distrital
Circular 15 nov U DistritalNamsohj Ozarazil
 
La desigualdad universitaria, una realidad nacida del mito de la eficiencia
La desigualdad universitaria, una realidad nacida del mito de la eficienciaLa desigualdad universitaria, una realidad nacida del mito de la eficiencia
La desigualdad universitaria, una realidad nacida del mito de la eficienciaNamsohj Ozarazil
 
Aspectos financieros de la reforma a la ley 30
Aspectos financieros de la reforma a la ley 30Aspectos financieros de la reforma a la ley 30
Aspectos financieros de la reforma a la ley 30Namsohj Ozarazil
 

Más de Namsohj Ozarazil (10)

Representacion semantica animales
Representacion semantica animalesRepresentacion semantica animales
Representacion semantica animales
 
Torre de hanoi
Torre de hanoiTorre de hanoi
Torre de hanoi
 
Escritorios en Ubuntu 12.10 por David Guerrero
Escritorios en Ubuntu 12.10 por David GuerreroEscritorios en Ubuntu 12.10 por David Guerrero
Escritorios en Ubuntu 12.10 por David Guerrero
 
Ubuntu Quantal 12.10 www.ubuntu-co.com
Ubuntu Quantal 12.10 www.ubuntu-co.comUbuntu Quantal 12.10 www.ubuntu-co.com
Ubuntu Quantal 12.10 www.ubuntu-co.com
 
Primer Reunión Preparatoria FLISoL Bogotá 2012 28 de Enero de 2012
Primer Reunión Preparatoria FLISoL Bogotá 2012 28 de Enero de 2012Primer Reunión Preparatoria FLISoL Bogotá 2012 28 de Enero de 2012
Primer Reunión Preparatoria FLISoL Bogotá 2012 28 de Enero de 2012
 
Distribución de Recursos Art 87 CESU 19 10-11 1
Distribución de Recursos Art 87 CESU 19 10-11 1Distribución de Recursos Art 87 CESU 19 10-11 1
Distribución de Recursos Art 87 CESU 19 10-11 1
 
Circular 15 nov U Distrital
Circular 15 nov U DistritalCircular 15 nov U Distrital
Circular 15 nov U Distrital
 
Retiro Reformaley30
Retiro Reformaley30Retiro Reformaley30
Retiro Reformaley30
 
La desigualdad universitaria, una realidad nacida del mito de la eficiencia
La desigualdad universitaria, una realidad nacida del mito de la eficienciaLa desigualdad universitaria, una realidad nacida del mito de la eficiencia
La desigualdad universitaria, una realidad nacida del mito de la eficiencia
 
Aspectos financieros de la reforma a la ley 30
Aspectos financieros de la reforma a la ley 30Aspectos financieros de la reforma a la ley 30
Aspectos financieros de la reforma a la ley 30
 

Robot seguidor de línea con software y hardware

  • 1. ROBOT SEGUIDOR DE LÍNEA CON SOFTWARE Y HARDWARE LIBRE July Paola Chitiva Ortiz Jhosman Alfonso Lizarazo Universidad Distrital Francisco José de Caldas Facultad Tecnológica Tecnología en Sistematización de Datos
  • 2. PROBLEMA PLANTEADO  Vehículo Controlado Mediante un Computador: se podría controlar un “vehículo” (Robot pequeño de ruedas) que avance, retroceda o gire mediante instrucciones que se impartan desde el computador, o se podría hacer que este vehículo en vez de seguir instrucciones desde el PC, siga una ruta determinada mediante sensores infrarrojos. Este será constituido por ruedas, motores, fuente de energía, y tarjeta de control (micro controlador Arduino ATmega168) programado en lenguaje Arduino.
  • 3. FASE DE DISEÑO ELECTRÓNICO El robot actuará como un móvil seguidor de línea negra haciendo uso de sensores infrarrojos, los cuales detectan la línea y envían una señal al resto del circuito del robot. Allí, de acuerdo a la programación realizada, se tomará una decisión respecto a las acciones que el robot debe realizar para mantenerse en el camino y llegar a la meta. Este diseño electrónico cuenta con dos sistemas: percepción y potencia.
  • 4. PERCEPCIÓN En el sensor infrarojo lo que hace es enviar y recibir una señal muy pequeña que determina la transmisión de luz infraroja que dependiendo de las condiciones del espacio puede darnos varios valores, estos van conectados a unas resistencias R2 y R4 controlan el flujo de corriente, la cual desbloqueará su base y permitirá la amplificación de la señal. Las resistencias R1 y R3 actúan como protección de los led disminuyendo el flujo de corriente hacia éstos.
  • 5. CNY70 Es importante tener presente que el sensor infrarrojo también es sensible a la luz ambiente, razón por la cual tanto el led infrarrojo como el fotodiodo deben recubrirse con cinta aislante negra (u otro material oscuro), formando una especie de conducto que limita la incidencia de esta luz y facilita que el haz de luz infrarroja se emita en una sola dirección. O reprogramar la sensibilidad de los sensores CNY70 dentro de la programación.
  • 6. POTENCIA La señal de salida obtenida de los sensores infrarrojos se convierte en la señal de entrada a la fase de programación, en la que interviene un módulo electrónico (Arduino) para el control del robot. Para ello se utilizará un componente (SN754410NE) o el componente (L293D) quienes realizarán la función de indicar a los motores que actividad realizar dependiendo del momento
  • 7. “ ” FUNCIONAMIENTO DEL PUENTE H S1 S2 S3 S4 Resultado 1 0 0 1 El motor gira en avance 0 1 1 0 El motor gira en retroceso 0 0 0 0 El motor se detiene bajo su inercia 1 0 1 0 El motor frena (fast-stop)
  • 8.
  • 9. DISEÑO MECANICO El robot cuenta con tracción diferencial, ya que utiliza dos ruedas que son controladas de manera individual y soportadas en un eje central común (rueda loca) para el balance. Las dos ruedas tienen un recubrimiento de caucho que permite mayor adhesión a la superficie plana del entorno; la rueda loca además facilita el movimiento del robot al contar con un giro libre de 360 grados. Las dos ruedas principales son controladas por un motor de corriente continua que cuenta con un sistema de engranajes que ayuda a aumentar la potencia en el movimiento.
  • 10. UBICACIÓN DE LAS RUEDAS DEL ROBOT  En la figura 7 se observa la ubicación de las ruedas en el robot; la rueda loca se encuentra en la parte posterior de éste. Las formas de avance con las que cuenta robot son hacia adelante, girar a la izquierda y girar a la derecha y hacia atrás si así se requiere. En la figura 8 se indica la posición en el robot de los sensores para el avance del seguimiento de línea:
  • 11. DISEÑO DE PROGRAMACIÓN  Como ya se ha descrito en la fase de diseño mecánico la tracción de los robots es diferencial, pero se hace necesario controlar su movimiento (detenerse, avanzar, girar) y además garantizar el correcto funcionamiento de los sensores para seguir un camino. Para solucionar esto se propone hacerlo a través de un entorno de programación, teniendo en cuenta la población principal a la cual va dirigida la actividad, por lo que es importante que sea de fácil acceso y uso.  De esta manera, el control de los robots se realiza a través el IDE de programación de Arduino www.arduino.cc.
  • 12. DISEÑO DE PROGRAMACIÓN  Para que sea posible la programación de la placa en el entorno Arduino, primero debe descargarse el software Arduino y el firmware que hará posible el reconocimiento de dicha placa por el entorno. En la página principal de Arduino se encuentran las especificaciones de instalación de acuerdo al tipo y versión del sistema operativo con el que se cuente. En este proyecto se utilizó la versión de Arduino para Ubuntu, el cual se puede encontrar en el centro de Software para Ubuntu: https://apps.ubuntu.com/cat/applications/arduino/
  • 13. PROGRAMACION  Programación:  1) Instalar Arduino (sudo apt-get install arduino)  2) Conectar Arduino por USB  3) Abrir Arduino
  • 14. PROGRAMACION  4) Seleccionar tarjeta (Herramientas/Tarjeta/Arduino Diecimila or Duemileanve w/ Atmega168
  • 15. PROGRAMACION  5) Verificar permisos USB (~$ ls -l /dev/tty*)
  • 16. PROGRAMACION  6) Visualizar cual fue el puerto asignado ~$ dmesg
  • 17. PROGRAMACION  7) Si no tiene permisos asignar permisos al puerto USB que se asignó a la placa (crwxrwxrwx 1 root dialout 188, 0 may 24 10:33 ttyUSB0)  ~$chmod 777 ttyUSB0
  • 18. PROGRAMACION  Este es un ejemplo del Hola Mundo para arduino
  • 19. PROGRAMACION Código para nuestro robot seguidor de línea con Arduino: #define M1A 19 //Motor 1A #define M1B 18 //Motor 1B #define M2A 17 //Motor 2A #define M2B 16 //Motor 2B #define PIN_PWM 11 //Modulacion por ancho de pulso - Emular salida analogica con salida digital #define VEL 100 //Velocidad #define S1 0 //IZQ #define S2 1 //DER #define _UMBRAL_ 200 //Umbral de los sensores unsigned long timeserial; void setup (){ Serial.begin(9600); timeserial = millis(); pinMode(M1A, OUTPUT); pinMode(M1B, OUTPUT); pinMode(M2A, OUTPUT); pinMode(M2B, OUTPUT); STOP(10000); analogWrite(PIN_PWM, VEL); } void loop() { byte SDER = (analogRead(S1)> _UMBRAL_ )?0:1; byte SIZQ = (analogRead(S2)> _UMBRAL_ )?0:1; if(SDER && SIZQ) STOP(0); else if (!SDER && SIZQ) DER(0); else if (SDER && !SIZQ) IZQ(0); else ADE(0); if(millis() - timeserial > 500){ timeserial = millis(); Serial.print("Sensor1: "); //Serial.print(SDER); Serial.print(analogRead(S1)); Serial.print(" Sensor2: "); //Serial.println(SIZQ); Serial.println(analogRead(S2)); } } void ATR(uint16_t time){ digitalWrite(M1A, HIGH); digitalWrite(M1B, LOW); digitalWrite(M2A, HIGH); digitalWrite(M2B, LOW); delay(time); } void ADE(uint16_t time){ digitalWrite(M1A, LOW); digitalWrite(M1B, HIGH); digitalWrite(M2A, LOW); digitalWrite(M2B, HIGH); delay(time); } void DER(uint16_t time){ //Llanta Izquierda digitalWrite(M1A, HIGH); digitalWrite(M1B, LOW); //llanta Derecha digitalWrite(M2A, LOW); digitalWrite(M2B, HIGH); delay(time); } void IZQ(uint16_t time){ //Llanta Izquierda digitalWrite(M1A, LOW); digitalWrite(M1B, HIGH); //Llanta Derecha digitalWrite(M2A, HIGH); digitalWrite(M2B, LOW); delay(time); } void STOP(uint16_t time){ digitalWrite(M1A, LOW); digitalWrite(M1B, LOW); digitalWrite(M2A, LOW); digitalWrite(M2B, LOW); delay(time); }
  • 20. ELEMENTOS NECESARIOS Cantidad Componente 2 Led infrarrojo CNY70 2 Resistencias 220 2 Resistencias 47K 1 Driver para motor L293 B ó SN754410NE 2 Secciones de acrílico de 12x12 cms de 10 mm. de ancho para las partes superior e inferior. Tornillos y Tuercas 2 Ruedas de 8 cm de diámetro 1 Rueda loca 1 Twin Motor GrearBox 1 Placa Arduino ATMega168 1 Protoboard Cables para conexiones 5 Condensadores Agradecimientos:  Laura Romero  Leonardo Urrego  Documentación arduino.cc  Google y Wikipedia  Texas Instruments