Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PROBLEMA PLANTEADO
FASE DE DISEO
ELECTRNICO
El robot actuar como un mvil seguidor de lnea
negra haciendo uso de sensores infrarrojos, los
cuales detectan la lnea y envan una seal al resto
del circuito del robot. All, de acuerdo a la
programacin realizada, se tomar una decisin
respecto a las acciones que el robot debe realizar
para mantenerse en el camino y llegar a la meta.
Este diseo electrnico cuenta con dos sistemas:
percepcin y potencia.
PERCEPCIN
En el sensor infrarojo lo que hace es enviar y recibir una
seal muy pequea que determina la transmisin 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 amplificacin de la seal. Las resistencias
R1 y R3 actan como proteccin de los led
disminuyendo el flujo de corriente hacia stos.
CNY70
Es importante tener presente que el sensor infrarrojo
tambin es sensible a la luz ambiente, razn 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 direccin. O
reprogramar la sensibilidad de los sensores CNY70
dentro de la programacin.
POTENCIA
La seal de salida obtenida de los sensores infrarrojos
se convierte en la seal de entrada a la fase de
programacin, en la que interviene un mdulo
electrnico (Arduino) para el control del robot. Para
ello se utilizar un componente (SN754410NE) o el
componente (L293D) quienes realizarn la funcin 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
El motor se detiene bajo su
0 0 0 0
inercia
1 0 1 0 El motor frena (fast-stop)
DISEO MECANICO
El robot cuenta con traccin diferencial, ya
que utiliza dos ruedas que son controladas
de manera individual y soportadas en un eje
central comn (rueda loca) para el balance.
Las dos ruedas tienen un recubrimiento de
caucho que permite mayor adhesin a la
superficie plana del entorno; la rueda loca
adems 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.
En la figura 7 se observa la ubicacin 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 atrs si as se
requiere. En la figura 8 se indica la posicin en el robot de los
sensores para el avance del seguimiento de lnea:
DISEO DE PROGRAMACIN
Para que sea posible la programacin 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 pgina principal de Arduino se encuentran las
especificaciones de instalacin de acuerdo al tipo y versin del
sistema operativo con el que se cuente. En este proyecto se
utiliz la versin de Arduino para Ubuntu, el cual se puede
encontrar en el centro de Software para
Ubuntu: https://apps.ubuntu.com/cat/applications/arduino/
DISEO DE PROGRAMACIN
Programacin:
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
PROGRAMACION
Cdigo para nuestro robot seguidor de } digitalWrite(M2A, LOW);
lnea con Arduino:
void loop() digitalWrite(M2B, HIGH);
#define M1A 19 //Motor 1A
{ void ATR(uint16_t time){ delay(time);
#define M1B 18 //Motor 1B
byte SDER = (analogRead(S1)> _UMBRAL_ digitalWrite(M1A, HIGH); }
#define M2A 17 //Motor 2A )?0:1;
digitalWrite(M1B, LOW);
#define M2B 16 //Motor 2B byte SIZQ = (analogRead(S2)> _UMBRAL_
)?0:1; digitalWrite(M2A, HIGH); void IZQ(uint16_t time){
#define PIN_PWM 11 //Modulacion por
ancho de pulso - Emular salida analogica digitalWrite(M2B, LOW); //Llanta Izquierda
con salida digital
if(SDER && SIZQ) delay(time); digitalWrite(M1A, LOW);
#define VEL 100 //Velocidad
STOP(0); } digitalWrite(M1B, HIGH);
#define S1 0 //IZQ
else if (!SDER && SIZQ)
#define S2 1 //DER
DER(0); void ADE(uint16_t time){ //Llanta Derecha
#define _UMBRAL_ 200 //Umbral de los
sensores else if (SDER && !SIZQ) digitalWrite(M1A, LOW); digitalWrite(M2A, HIGH);
} } //llanta Derecha
Cantidad Componente
ELEMENTOS NECESARIOS
FOTOGRAFIAS