ROBOT ESQUIVA OBJETOS
En esta ocasión traemos un post para desarrollar tu propio robot capaz de esquivar objetos. Este robot es una opción estupenda para los que quieran iniciarse en el mundo de la robótica ya que usa motores de corriente continua, controlador de motores, Arduino y sensor de distancia por ultrasonidos que te puede medir las distancias entre obstáculos y otros.
MATERIALES:
25 cables de 20cm macho-hembra:
Nos servira como un conductor
Bateria de 9v
La pila 9 voltios (o pila 9V) es una pila eléctrica de nueve voltios. Es llamada regularmente pila a transistor debido a su gran utilización en las primeras radios a transistores. La pila tiene la forma de un prisma rectangular con las aristas redondeadas con un connector que posee dos teminales uno positivo y uno negativo sobre un de sus lados.
Arduino
Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos multidisciplinares.
Características de un Microcontrolador:
- Velocidad del reloj u oscilador
- Tamaño de palabra
- Memoria: SRAM, Flash, EEPROM, ROM, etc..
- I/O Digitales
- Entradas Analógicas
- Salidas analógicas (PWM)
- DAC (Digital to Analog Converter)
- ADC (Analog to Digital Converter)
- Buses
- UART
- Otras comunicaciones.
Fuente para la bateria
Chasis de robot 2WD
Uno de los mejores y mas prácticos chasis de robot con ruedas. Imprescindible para todo aquel que desee iniciarse en el mundo de la robótica. Es de fácil montaje y manejo.
Sensor ultrasonido
Este sensor mide la distancia a la que se encuentran los objetos calculando el tiempo que tarda una señal de ultrasonidos en ir y volver a un objeto.
Características:
-Tensión de funcionamiento: 5V.
-Distancia de detección: 1 a 500 cm.
-Ángulo de detección: 20º.
-4 pines (Vcc, Echo, Triger, Gnd.)
Pernos y tuerca
Está relacionada con el tornillo, pero tiene un extremo de cabeza redonda, una parte lisa, y otro extremo roscado para la chaveta,tuerca, o remache, y se usa para sujetar piezas en una estructura, por lo general de gran volumen. Un espárrago, en cambio, es unperno sin cabeza, roscado en sus dos extremos.
Modulo bluetooth
con antena integrada, es un modulo de comunicación qeu trabaja a 5VDC, incluye maestro y esclavo integrados en un mismo dispositivo, muy facil de usar, ideal para principiantes.
PRIMER AVANCE
- Trabajando con el sensor ultrasonido:
SEGUNDO AVANCE
- Ensamblaje de nuestro robot
- Video evidencial
- Programa para el funcionamiento de nuestro robot
int AN = 5;
int A = 6;
int BN = 9;
int B = 10;
int GO = 120;
int estado = 'G';
int led1 = 2;
int led2 = 3;
int eco = 7;
int trig = 8;
int duracion, distancia;
void setup()
{
Serial.begin(9600);
pinMode(A, OUTPUT);
pinMode(AN, OUTPUT);
pinMode(B, OUTPUT);
pinMode(BN, OUTPUT);
pinMode(eco, INPUT);
pinMode(trig,OUTPUT);
pinMode(13,OUTPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
}
void loop()
{
if(Serial.available()>0)
{
estado = Serial.read();
}
if(estado=='A')
{
analogWrite(A, GO);
analogWrite(AN, 0);
analogWrite(B, GO);
analogWrite(BN, 0);
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
}
if(estado=='B')
{
analogWrite(A, GO);
analogWrite(AN, 0);
analogWrite(B, 0);
analogWrite(BN, 0);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
}
if(estado=='C')
{
digitalWrite(led1, LOW);
analogWrite(A, 0);
analogWrite(AN, 0);
analogWrite(B, 0);
analogWrite(BN, 0);
digitalWrite(led2, HIGH);
delay(200);
digitalWrite(led2, LOW);
delay(100);
}
if(estado=='D')
{
analogWrite(A, 0);
analogWrite(AN, 0);
analogWrite(B, GO);
analogWrite(BN, 0);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
}
if(estado=='E')
{
digitalWrite(led1, LOW);
analogWrite(A, 0);
analogWrite(AN, GO);
analogWrite(B, 0);
analogWrite(BN, GO);
digitalWrite(led2, HIGH);
delay(200);
digitalWrite(led2, LOW);
delay(100);
}
if (estado =='F')
{
digitalWrite(trig, HIGH);
delay(0.01);
digitalWrite(trig, LOW);
duracion = pulseIn(eco, HIGH);
distancia = (duracion/2) / 29;
delay(10);
if (distancia <= 15 && distancia >=2)
{
digitalWrite(13,HIGH);
analogWrite(A, 0);
analogWrite(AN, 0);
analogWrite(B, 0);
analogWrite(BN, 0);
delay (200);
digitalWrite(led1, HIGH);
delay(150);
digitalWrite(led1, LOW);
delay(100);
analogWrite(A, GO);
analogWrite(B, GO);
delay(500);
analogWrite(A, 0);
analogWrite(AN, GO);
analogWrite(B, 0);
analogWrite(BN, GO);
delay(600);
analogWrite(A, 0);
analogWrite(AN, 0);
analogWrite(B, 0);
analogWrite(BN, GO);
delay(1000);
digitalWrite(13,LOW);
digitalWrite(led1, LOW);
}
else
{
digitalWrite(led1, HIGH);
delay(150);
digitalWrite(led1, LOW);
delay(100);
analogWrite(A, GO);
analogWrite(AN, 0);
analogWrite(B, GO);
analogWrite(BN, 0);
}
}
if(estado=='G')
{
analogWrite(A, 0);
analogWrite(AN, 0);
analogWrite(B, 0);
analogWrite(BN, 0);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
}
}
PRESENTACIÓN FINAL:
Conclusiones:
Conclusiones:
- Se presentaron algunos inconvenientes al momento de crear la programación, aunque al principio nos fue un poco complicada la programación, se logró terminar.
- Se aprendió a manejar el programa ARDUINO.
- Mediante este trabajo, pudimos concretar invaluable conocimiento sobre la puesta en marcha de motores electicos mediante un “puente H” y la programación de unPIC16F84A. Con este ensamble del puente H, podemos controlar el sentido de giro de los motores, de igual manera, la necesidad de utilizar una fuente de voltaje regulada, para tener 5V de salida y así alimentar el PIC.
- Una vez culminado nuestro proyecto se nos iso mas fácil modificar y probarlo al mismo tiempo nuestro programa.
RECOMENDACIONES:
- La
recomendación mas básica seria, empezar
por la mecánica tomando en cuenta por
supuesto, la potencia de los motores, que deben tener la suficiente fuerza para
soportar al chasis, cabe destacar que todo debe estar alineado, de la forma mas
precisa posible, ya que, de lo contrario, el control tendrá que lidiar con esos
defectos en la alineación.
- Algo que es
muy importante, es el peso, ya que mientras menos peso exista, menor sera la
inercia a vencer, tanto en el arranque como en las curvas. con menos peso
también, los motores tendrán que hacer menos esfuerzo y al hacer menos
esfuerzo, necesitaran menos corriente, al necesitar menos corriente, se podrán
ocupar baterías mas pequeñas y al usar baterías mas pequeñas, se podrá tener
menos peso.
- Parte del
diseño de la mecánica debe ser el tipo
de pilas a ocupar, para que estas, no queden mal puestas o desequilibren el
centro de gravedad del móvil, así que se les debe considerar desde el
principio.
- Recomendamos
amplia mente las baterías según nuestra experiencia son las de ion de litio o polímero de litio,
ya que son ligeras, tienen una tasa de descarga alta y se recargan rápidamente.
- Algo mas que
se debe considerar desde el diseño de la mecánica son las llantas y los motores, en este caso
se recomiendan llantas pequeñas para que el centro de gravedad del móvil tenga
poca altura y los motores, de preferencia que sean de bajo voltaje, para no
tener que ocupar pilas muy grandes.
No hay comentarios:
Publicar un comentario