SlideShare una empresa de Scribd logo
1 de 14
TECNOLOGICO DE ESTUDIOS SUPERIORES DE IXTAPALUCA

CARRERA: INGENIERIA EN SISTEMAS COMPUTACIONALES

MATERIA: LENGUAJES Y AUTOMATAS II

PROFESOR: SOBERANES MARTIN ALFONSO

INTEGRANTES:
GALICIA SANCHEZ ANA KAREN
MARTINEZ OJEDA DANIA ANAHI
SOTO ZAMUDIO SAMANTHA

PROYECTO: ROBOT EN SIMULADOR

GRUPO: 1701
1- Lenguaje a manejar
Lenguaje c
2- Función de cada lenguaje
Realiza las instrucciones de la velocidad y los movimientos de dirección
3- Actividades de cada integrante
Soto Zamudio Samantha y Martínez Ojeda Dania Anahi
La realización del diseño electrónico y mecánico
Galicia Sánchez Ana Karen
La realización en programa en c
4- Funciones específicas del robot
Avance retrocede o gire mediante instrucciones que se le impartan desde
el equipo está constituido por ruedas, motores, fuentes de energía y
tarjetas de control programado en lenguaje c.
5- Simulador a utilizar
Robot main
Características
Es un simulador avanzado de robotica tipo de herramienta para definir
modelos propios. Define la física, escribir, controladores para los bots y
hacer simuladores a gran velocidad.
Ventajas
Código en c++
Tiene las bibliotecas de robot incluidas se maneja en la plataforma.
Desventajas
Tiene un solo diseño.
MATERIALES DE PROTOTIPO

Activiades
2
2
2
1
2

Precio
$35
4 paquete $ 10
$ 12.46
$ 437.69

Cables para conexion

2
1
1
1
1
1
1

Componentes
Ledinfrarojo (ny70)
Resistencias (220)
Resistencia 47 k
Driver motor (l293 bo
Secciones de acrílico 12x
12
Tornillos y tuercas
Ruedas 8 cm diametro
Ruedas locas
Twin motor
Placa arduino at mega
protoboard

$ 95

condensadores

$ 107

5

$ 50
$ 30
$ 45
$ 35
$329
$97

CRONOGRAMA
ACTIVIDADES
Planeación
Diseño
Electrónico
Requerimientos
Control de
Motores
Ejemplo
Diseño Mecánico
Aplicación
Diseño del Robot

1 Periodo
1, 2, 3, 4

2 Periodo

3 Periodo

5, 6

7, 8, 9, 10, 11
12, 13, 14, 15,
16
PRESUPUESTO
PRODUCTO
2 LED INFRARROJO CNY7035
2 RESISTENCIAS 220
2 RESISTENCIAS 47K
1 DRIVER MOTOR CL293
2 SECCIONES DE ACRILICO 12x12
2 TORNILLOS Y TUERCAS
RUEDAS DE 8 cm DE DIAMETRO
1 RUEDA LOCA
1 TWIN MOTOR GTEAR BAR
1 PLACA ARDUINO AT mesa
1 PROTOBOARD PARA ARDUINO
CABLES PARA CONEXIÓN
5 CONDENSADORES

COSTO
$35
$10
$12
$475.69
$100
$50
$30
$45
$35
$329
$97
$95
$107
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 equipo, o se podría hacer que este vehículo en vez de
seguir instrucciones desde el PC, siga una ruta determinada mediante 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

Es el sistema encargado de obtener la información del entorno para enviarla al
sistema de comunicación en el cual se determinarán las acciones para los robots.
En este caso se usarán leds infrarrojos, un emisor y un receptor, los cuales están
encargados de detectar la línea negra que define el camino a seguir. En este caso
se utilizarán dos sensores CNY70.

El led infrarrojo (IR) es un componente electrónico que emite luz infrarroja,
caracterizada por encontrarse en una frecuencia menor (10-5 m) que la luz visible
por el ojo humano (0.5 x 10-6m), por lo que sólo puede ser detectada por otro
componente electrónico llamado fotodiodo. De esta manera el led infrarrojo actúa
como el emisor y el fotodiodo como el receptor. La configuración usada es de tipo
auto-reflexiva, es decir que tanto el emisor como el receptor se encuentran
ubicados uno al lado del otro y la luz emitida que viaja en línea recta se refleja en
un objeto o superficie hacia el fotodiodo (figura 5). Este tipo de luz se refleja sobre
colores blancos o claros, si se hace sobre un color oscuro o negro la luz es
mayormente absorbida, disminuyendo la intensidad que recibirá el fotodiodo. De
acuerdo a este y al diseño del entorno, debe invertirse la señal para que pueda
actuar sobre la línea negra.

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.

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.
Se crea puente H para control de los motores

Como hemos dicho el puente H se usa para invertir el giro de un motor, pero
también puede usarse para frenarlo (de manera brusca), al hacer un corto entre
las bornas del motor, o incluso puede usarse para permitir que el motor frene bajo
su propia inercia, cuando desconectamos el motor de la fuente que lo alimenta. En
el siguiente cuadro se resumen las diferentes acciones.
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)
La señal de salida de los sensores infrarrojos es de tipo análoga porque su
variación depende de la distancia entre los componentes, la cantidad de luz
percibida y la línea negra, de la incidencia de la luz ambiente y de las pérdidas en
el flujo de corriente en todo el circuito. Esta señal entra a la fase de programación
y allí es transformada en una señal digital, la cual a su vez es la entrada al driver
de los motores (Puente H).
Fase de diseño mecánico
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.
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);
}
Robot seguidor de línea con Arduino

Más contenido relacionado

La actualidad más candente

Carro seguidor de línea negra
Carro seguidor de línea negraCarro seguidor de línea negra
Carro seguidor de línea negraAngelo Gnaupari
 
Planos para la realización del carro seguidor de línea
Planos para la realización del carro seguidor de líneaPlanos para la realización del carro seguidor de línea
Planos para la realización del carro seguidor de líneacaligulappp
 
Proyecto: Brazo mecanico con servomotor, potenciometro y arduino
Proyecto: Brazo mecanico con servomotor, potenciometro y arduinoProyecto: Brazo mecanico con servomotor, potenciometro y arduino
Proyecto: Brazo mecanico con servomotor, potenciometro y arduinoUTEQ
 
Minivoltios fase3
Minivoltios fase3Minivoltios fase3
Minivoltios fase3josglods
 
seguidor-de-linea-negra
seguidor-de-linea-negraseguidor-de-linea-negra
seguidor-de-linea-negraandres mera
 
2.búsqueda de información
2.búsqueda de información2.búsqueda de información
2.búsqueda de informaciónjuanfer99
 
Introduccion caract generales
Introduccion caract generalesIntroduccion caract generales
Introduccion caract generalesSantiago Acurio
 
Manual sensor movimiento_esp_ed2
Manual sensor movimiento_esp_ed2Manual sensor movimiento_esp_ed2
Manual sensor movimiento_esp_ed2tupizaG
 
Manual seguidor de linea
Manual seguidor de lineaManual seguidor de linea
Manual seguidor de lineaENRIQUE PIGUAVE
 
Unidad 4. Robotica. Sistemas de control y motores de impulsión
Unidad 4. Robotica. Sistemas de control y motores de impulsión Unidad 4. Robotica. Sistemas de control y motores de impulsión
Unidad 4. Robotica. Sistemas de control y motores de impulsión Alberto Carranza Garcia
 
Tutorial veloci botcb rv.4
Tutorial veloci botcb rv.4Tutorial veloci botcb rv.4
Tutorial veloci botcb rv.4Jandres73
 
Controlar motores de corriente continua con puente h
Controlar motores de corriente continua con puente hControlar motores de corriente continua con puente h
Controlar motores de corriente continua con puente hedyhard
 
62962340 manual-arduino-uno
62962340 manual-arduino-uno62962340 manual-arduino-uno
62962340 manual-arduino-unoAngelik Hdez
 
Robótica y programación Kuka
Robótica y programación KukaRobótica y programación Kuka
Robótica y programación Kukakryos01
 
Presentación arduino 4 eso
Presentación arduino 4 esoPresentación arduino 4 eso
Presentación arduino 4 esoamartind11
 

La actualidad más candente (19)

Carro seguidor de línea negra
Carro seguidor de línea negraCarro seguidor de línea negra
Carro seguidor de línea negra
 
Planos para la realización del carro seguidor de línea
Planos para la realización del carro seguidor de líneaPlanos para la realización del carro seguidor de línea
Planos para la realización del carro seguidor de línea
 
Proyecto: Brazo mecanico con servomotor, potenciometro y arduino
Proyecto: Brazo mecanico con servomotor, potenciometro y arduinoProyecto: Brazo mecanico con servomotor, potenciometro y arduino
Proyecto: Brazo mecanico con servomotor, potenciometro y arduino
 
Arduino: Motor paso a paso Arduino
Arduino: Motor paso a paso ArduinoArduino: Motor paso a paso Arduino
Arduino: Motor paso a paso Arduino
 
Minivoltios fase3
Minivoltios fase3Minivoltios fase3
Minivoltios fase3
 
seguidor-de-linea-negra
seguidor-de-linea-negraseguidor-de-linea-negra
seguidor-de-linea-negra
 
2.búsqueda de información
2.búsqueda de información2.búsqueda de información
2.búsqueda de información
 
Introduccion caract generales
Introduccion caract generalesIntroduccion caract generales
Introduccion caract generales
 
Vvcmp
VvcmpVvcmp
Vvcmp
 
Manual sensor movimiento_esp_ed2
Manual sensor movimiento_esp_ed2Manual sensor movimiento_esp_ed2
Manual sensor movimiento_esp_ed2
 
Manual seguidor de linea
Manual seguidor de lineaManual seguidor de linea
Manual seguidor de linea
 
Brazo robotico
Brazo roboticoBrazo robotico
Brazo robotico
 
Unidad 4. Robotica. Sistemas de control y motores de impulsión
Unidad 4. Robotica. Sistemas de control y motores de impulsión Unidad 4. Robotica. Sistemas de control y motores de impulsión
Unidad 4. Robotica. Sistemas de control y motores de impulsión
 
Tutorial veloci botcb rv.4
Tutorial veloci botcb rv.4Tutorial veloci botcb rv.4
Tutorial veloci botcb rv.4
 
Unidad 5: Control y robótica
Unidad 5: Control y robóticaUnidad 5: Control y robótica
Unidad 5: Control y robótica
 
Controlar motores de corriente continua con puente h
Controlar motores de corriente continua con puente hControlar motores de corriente continua con puente h
Controlar motores de corriente continua con puente h
 
62962340 manual-arduino-uno
62962340 manual-arduino-uno62962340 manual-arduino-uno
62962340 manual-arduino-uno
 
Robótica y programación Kuka
Robótica y programación KukaRobótica y programación Kuka
Robótica y programación Kuka
 
Presentación arduino 4 eso
Presentación arduino 4 esoPresentación arduino 4 eso
Presentación arduino 4 eso
 

Destacado

Destacado (8)

Digital feud (digital sales team game)
Digital feud (digital sales team game)Digital feud (digital sales team game)
Digital feud (digital sales team game)
 
Tipos de datos
Tipos de datosTipos de datos
Tipos de datos
 
Manejo de filtros y ordenacion de datos
Manejo de filtros y ordenacion de datosManejo de filtros y ordenacion de datos
Manejo de filtros y ordenacion de datos
 
Max min
Max minMax min
Max min
 
Tablas
TablasTablas
Tablas
 
MJ Detailed genre research
MJ Detailed genre researchMJ Detailed genre research
MJ Detailed genre research
 
Salto de pagina
Salto de paginaSalto de pagina
Salto de pagina
 
Technology & Problem- Based Learning in Action
Technology & Problem- Based Learning in ActionTechnology & Problem- Based Learning in Action
Technology & Problem- Based Learning in Action
 

Similar a Robot seguidor de línea con Arduino

Automóvil con sensor
Automóvil con sensorAutomóvil con sensor
Automóvil con sensorjuliorovira96
 
Proyecto seguidor de linea
Proyecto seguidor de linea Proyecto seguidor de linea
Proyecto seguidor de linea DL3004
 
Informe de la araña robótica (1).pdf
Informe de la araña robótica (1).pdfInforme de la araña robótica (1).pdf
Informe de la araña robótica (1).pdfsebastian214948
 
seguidor-de-linea-negra
seguidor-de-linea-negraseguidor-de-linea-negra
seguidor-de-linea-negraandres mera
 
Carrito seguidor de línea final 2
Carrito seguidor de línea final 2Carrito seguidor de línea final 2
Carrito seguidor de línea final 2dani
 
Impresora matriz de punto
Impresora matriz de puntoImpresora matriz de punto
Impresora matriz de puntowilliammendez89
 
Curso básico de introducción
Curso básico de introducciónCurso básico de introducción
Curso básico de introducciónDaniel Cruz
 
Control coche 3d Álvaro y Raúl
Control coche 3d Álvaro y RaúlControl coche 3d Álvaro y Raúl
Control coche 3d Álvaro y Raúltoni
 
ARQUITECTURA DE ROBOTS, SENSORES Y ACTUADORES
ARQUITECTURA DE ROBOTS, SENSORES Y ACTUADORESARQUITECTURA DE ROBOTS, SENSORES Y ACTUADORES
ARQUITECTURA DE ROBOTS, SENSORES Y ACTUADORESCoacHseq
 
Informe N°1-Microcontroladores
Informe N°1-MicrocontroladoresInforme N°1-Microcontroladores
Informe N°1-MicrocontroladoresOmar Ruiz
 
Biblioteca de tinkercad.pdf
Biblioteca de tinkercad.pdfBiblioteca de tinkercad.pdf
Biblioteca de tinkercad.pdfDenisseGeovanna
 
Conferencia de robotica
Conferencia de roboticaConferencia de robotica
Conferencia de roboticaROBOTICAPERU
 
Morfologia de los Robot
Morfologia de los RobotMorfologia de los Robot
Morfologia de los RobotCesarAlonso31
 

Similar a Robot seguidor de línea con Arduino (20)

Automóvil con sensor
Automóvil con sensorAutomóvil con sensor
Automóvil con sensor
 
Taller de Robótica Educativa.pdf
Taller de Robótica Educativa.pdfTaller de Robótica Educativa.pdf
Taller de Robótica Educativa.pdf
 
Report cart line follower
Report cart line followerReport cart line follower
Report cart line follower
 
Proyecto seguidor de linea
Proyecto seguidor de linea Proyecto seguidor de linea
Proyecto seguidor de linea
 
Informe de la araña robótica (1).pdf
Informe de la araña robótica (1).pdfInforme de la araña robótica (1).pdf
Informe de la araña robótica (1).pdf
 
seguidor-de-linea-negra
seguidor-de-linea-negraseguidor-de-linea-negra
seguidor-de-linea-negra
 
Carrito seguidor de línea final 2
Carrito seguidor de línea final 2Carrito seguidor de línea final 2
Carrito seguidor de línea final 2
 
Seguidor de linea y metodo de quine mcclusky
Seguidor de linea y metodo de quine mccluskySeguidor de linea y metodo de quine mcclusky
Seguidor de linea y metodo de quine mcclusky
 
Informe ieee de robot sumo(cronos)
Informe ieee de robot sumo(cronos)Informe ieee de robot sumo(cronos)
Informe ieee de robot sumo(cronos)
 
Impresora matriz de punto
Impresora matriz de puntoImpresora matriz de punto
Impresora matriz de punto
 
Curso básico de introducción
Curso básico de introducciónCurso básico de introducción
Curso básico de introducción
 
Robotica
RoboticaRobotica
Robotica
 
Control coche 3d Álvaro y Raúl
Control coche 3d Álvaro y RaúlControl coche 3d Álvaro y Raúl
Control coche 3d Álvaro y Raúl
 
ARQUITECTURA DE ROBOTS, SENSORES Y ACTUADORES
ARQUITECTURA DE ROBOTS, SENSORES Y ACTUADORESARQUITECTURA DE ROBOTS, SENSORES Y ACTUADORES
ARQUITECTURA DE ROBOTS, SENSORES Y ACTUADORES
 
Robot seguidor de linea
Robot seguidor de lineaRobot seguidor de linea
Robot seguidor de linea
 
Informe N°1-Microcontroladores
Informe N°1-MicrocontroladoresInforme N°1-Microcontroladores
Informe N°1-Microcontroladores
 
Biblioteca de tinkercad.pdf
Biblioteca de tinkercad.pdfBiblioteca de tinkercad.pdf
Biblioteca de tinkercad.pdf
 
Robotica
RoboticaRobotica
Robotica
 
Conferencia de robotica
Conferencia de roboticaConferencia de robotica
Conferencia de robotica
 
Morfologia de los Robot
Morfologia de los RobotMorfologia de los Robot
Morfologia de los Robot
 

Robot seguidor de línea con Arduino

  • 1. TECNOLOGICO DE ESTUDIOS SUPERIORES DE IXTAPALUCA CARRERA: INGENIERIA EN SISTEMAS COMPUTACIONALES MATERIA: LENGUAJES Y AUTOMATAS II PROFESOR: SOBERANES MARTIN ALFONSO INTEGRANTES: GALICIA SANCHEZ ANA KAREN MARTINEZ OJEDA DANIA ANAHI SOTO ZAMUDIO SAMANTHA PROYECTO: ROBOT EN SIMULADOR GRUPO: 1701
  • 2. 1- Lenguaje a manejar Lenguaje c 2- Función de cada lenguaje Realiza las instrucciones de la velocidad y los movimientos de dirección 3- Actividades de cada integrante Soto Zamudio Samantha y Martínez Ojeda Dania Anahi La realización del diseño electrónico y mecánico Galicia Sánchez Ana Karen La realización en programa en c 4- Funciones específicas del robot Avance retrocede o gire mediante instrucciones que se le impartan desde el equipo está constituido por ruedas, motores, fuentes de energía y tarjetas de control programado en lenguaje c. 5- Simulador a utilizar Robot main Características Es un simulador avanzado de robotica tipo de herramienta para definir modelos propios. Define la física, escribir, controladores para los bots y hacer simuladores a gran velocidad. Ventajas Código en c++ Tiene las bibliotecas de robot incluidas se maneja en la plataforma. Desventajas Tiene un solo diseño.
  • 3. MATERIALES DE PROTOTIPO Activiades 2 2 2 1 2 Precio $35 4 paquete $ 10 $ 12.46 $ 437.69 Cables para conexion 2 1 1 1 1 1 1 Componentes Ledinfrarojo (ny70) Resistencias (220) Resistencia 47 k Driver motor (l293 bo Secciones de acrílico 12x 12 Tornillos y tuercas Ruedas 8 cm diametro Ruedas locas Twin motor Placa arduino at mega protoboard $ 95 condensadores $ 107 5 $ 50 $ 30 $ 45 $ 35 $329 $97 CRONOGRAMA ACTIVIDADES Planeación Diseño Electrónico Requerimientos Control de Motores Ejemplo Diseño Mecánico Aplicación Diseño del Robot 1 Periodo 1, 2, 3, 4 2 Periodo 3 Periodo 5, 6 7, 8, 9, 10, 11 12, 13, 14, 15, 16
  • 4. PRESUPUESTO PRODUCTO 2 LED INFRARROJO CNY7035 2 RESISTENCIAS 220 2 RESISTENCIAS 47K 1 DRIVER MOTOR CL293 2 SECCIONES DE ACRILICO 12x12 2 TORNILLOS Y TUERCAS RUEDAS DE 8 cm DE DIAMETRO 1 RUEDA LOCA 1 TWIN MOTOR GTEAR BAR 1 PLACA ARDUINO AT mesa 1 PROTOBOARD PARA ARDUINO CABLES PARA CONEXIÓN 5 CONDENSADORES COSTO $35 $10 $12 $475.69 $100 $50 $30 $45 $35 $329 $97 $95 $107
  • 5. 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 equipo, o se podría hacer que este vehículo en vez de seguir instrucciones desde el PC, siga una ruta determinada mediante 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 Es el sistema encargado de obtener la información del entorno para enviarla al sistema de comunicación en el cual se determinarán las acciones para los robots. En este caso se usarán leds infrarrojos, un emisor y un receptor, los cuales están encargados de detectar la línea negra que define el camino a seguir. En este caso se utilizarán dos sensores CNY70. El led infrarrojo (IR) es un componente electrónico que emite luz infrarroja, caracterizada por encontrarse en una frecuencia menor (10-5 m) que la luz visible por el ojo humano (0.5 x 10-6m), por lo que sólo puede ser detectada por otro componente electrónico llamado fotodiodo. De esta manera el led infrarrojo actúa como el emisor y el fotodiodo como el receptor. La configuración usada es de tipo auto-reflexiva, es decir que tanto el emisor como el receptor se encuentran ubicados uno al lado del otro y la luz emitida que viaja en línea recta se refleja en un objeto o superficie hacia el fotodiodo (figura 5). Este tipo de luz se refleja sobre
  • 6. colores blancos o claros, si se hace sobre un color oscuro o negro la luz es mayormente absorbida, disminuyendo la intensidad que recibirá el fotodiodo. De acuerdo a este y al diseño del entorno, debe invertirse la señal para que pueda actuar sobre la línea negra. 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. 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. Se crea puente H para control de los motores Como hemos dicho el puente H se usa para invertir el giro de un motor, pero también puede usarse para frenarlo (de manera brusca), al hacer un corto entre las bornas del motor, o incluso puede usarse para permitir que el motor frene bajo su propia inercia, cuando desconectamos el motor de la fuente que lo alimenta. En el siguiente cuadro se resumen las diferentes acciones. S1 S2 S3 S4 Resultado 1 0 0 1 El motor gira en avance
  • 8. 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)
  • 9. La señal de salida de los sensores infrarrojos es de tipo análoga porque su variación depende de la distancia entre los componentes, la cantidad de luz percibida y la línea negra, de la incidencia de la luz ambiente y de las pérdidas en el flujo de corriente en todo el circuito. Esta señal entra a la fase de programación y allí es transformada en una señal digital, la cual a su vez es la entrada al driver de los motores (Puente H).
  • 10. Fase de diseño mecánico 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. 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);
  • 11. 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: ");
  • 12. //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);
  • 13. //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); }