Robot Pololu programado para seguir referencia movil y obedecer comandos inalambricos
Enviado por Pablo Turmero
OBJETIVO GENERAL Programar el Robot Pololu 3pi para que siga una referencia móvil y obedezca comandos inalámbricos a través del AVR Butterfly.
OBJETIVOS ESPECIFICOS Configurar los comandos que serán enviados por medio del Butterfly, usando el joystick. Seleccionar los comandos de comunicación que sean necesarios para seguir el móvil. Como son Avanzar Retroceder Girar a la derecha Girar a la izquierda
Descripción del Proyecto
Este proyecto tiene como función principal programar el robot pololu 3pi que seguirá una referencia móvil que será controlada mediante comandos inalámbricos, para esto se necesita un circuito receptor que recibirá los comandos que serán enviados a través del Butterfly que es el que hará las veces de transmisor.
EL sistema de control del proyecto será diseñado para que funcionen con los micro-controladores ATMEGA 328 y el ATMEGA 169 usando la interfaz del AVR Studio 4 que es un software que ofrece dos tipos de compiladores que son: ATMEL AVR assembler para lenguaje assembler y AVR GCC para lenguaje C.
Aplicaciones Como el robot es controlado a través de Joystick comando inalámbrico cualquier persona puede enviarle instrucciones. Por lo cual, se puede diseñar un robot explorador de zonas urbanas, al cual se le ingresen coordenadas y el robot se moverá hacia ellas.
La principal aplicación de los robots tiene lugar en la industria, donde se necesitan repetir tareas, seguir cierto recorrido donde las personas no pueden llegar y estos robots llegarían a realizar ese trabajo . Un robot está programado para realizar los mismos movimientos con una buena precisión, por lo que es perfecto para aplicaciones industriales. Aunque todos los campos de la industria son susceptibles de emplear diferentes tipos de robots para determinadas operaciones.
Proyectos similares Pololu 3pi seguidor de pared. Este proyecto demuestra una posible configuración donde dos sensores de distancia Sharp analógicos están conectados al mismo con un mínimo de soldadura.
Los dos sensores de distancia permiten explorar una habitación siguiendo la pared y evitando los obstáculos que encuentra en el recorrido. Este trata de mantener una distancia prudencial de la pared si ve a su lado izquierdo un obstáculo, éste gira a la derecha. Como medida de seguridad adicional, cada 15 segundos, el robot trata de una copia de seguridad en caso de que sin saberlo se ha atascado mientras explora.
Robot TRIC TRAC radio controlado por joystick de play station 2 TRI-TRAC es un robot todo terreno con orugas que puede ser usado mediante radio control o mediante control autónomo. Debido a su oruga el robot puede trabajar tanto en interior como exterior.
Robot controlado por comando Wii de cámara inalámbrica Este proyecto está basado en Arduino. Posee una cámara inalámbrica con alcance de 30 metros montada sobre un sistema Pan&Tilt que es usado en mini cámaras en el que va montado un sonar de ultrasonidos y un láser en cruz. Su diseño permite girar hasta 360º para tener una visión periférica completa.
Ahora mismo, el control se realiza con un mando nunchuk de wii, El Nunchuk es una expansión para el mando inalámbrico de Wii. Con el acelerómetro para el movimiento de las orugas, el joystick para el control del Pan&Tilt y los botones para seleccionar entre modos y activar el láser.
Requerimientos para el proyecto Este proyecto se lo puede dividir en 2 secciones: Software y Hardware.
Requerimientos para el programa Para realizar la aplicación que gestionará el pololu y el butterfly con los datos que serán enviados y recibidos a través de ellos usaremos el programa AVR studio 4 usando el lenguaje más acorde ya sea lenguaje ensamblador o c. Estos compiladores son los que nos ayudarán a entender el código base del robot Pololu 3pi y permitirá implementar una variedad al mismo.
Requerimientos para el proyecto Robot Pololu 3p El robot Pololu 3p es un robot el cual fue diseñado para ser un seguidor de línea y éste es capaz de resolver laberintos de forma autónoma. Posee una alimentación de 4 baterías AAA los cuales alimentan a los motores con 9.25 V, este robot es capaz de alcanzar velocidades de 100cm/s. A continuación se mencionarán las características del robot: Posee 4 sensores reflectantes QTR-RC Microcontrolador ATmega328P Un sensor de luz Un display 8 x 2 2 Motores Leds para marcar alimentación de 5v al microcontrolador y 9.25v para los motores.
Requerimientos para el proyecto
AVR Butterfly El kit de evaluación del AVR Butterfly está diseñado para demostrar los beneficios y características claves. Se trata de un solo módulo microprocesador soporte que puede ser utilizado en numerosas aplicaciones: Diseño de bajo poder. Controlador LCD. -Interfaces de comunicación. – UART, SPI, USI. – Selfprogramming / gestor de arranque, SPI, en paralelo, JTAG. – Temporizadores / Contadores. – Reloj en Tiempo Real (RTC). – Modulación de Ancho de Pulso (PWM).
Diseño del Proyecto Diagrama de Bloques El diagrama de bloques del sistema se encuentra establecido por la etapa del transmisor (Butterfly )y la etapa del receptor (Robot Pololu 3pi ).
Diagrama de Bloque del Transmisor
Código del transmisor //Declaración de constantes #define Centro 0 #define Arriba 1 #define Abajo 2 #define Izquierda 3 #define Derecha 4 #define Otros 5
//Libreias a usar #include #include #include #include #include
//Librerias a usar #include #include
//Librerias a usar que no pertenecen al entorno #include "mydefs.h" #include "LCD_functions.h" #include "LCD_driver.h" #include "button.h" #include "usart.h"
//Prototipo de funciones int Obtener_Boton(void);
//Programa principal int main(void) { //Se habilita las interrupciones globales sei();
//Se muestra un mensaje a través del LCD PGM_P statetext = PSTR("AVR BUTTERFLY");
// Disable Analog Comparator (power save) ACSR = (1