Robot Evita Obstaculos.

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 12

COLEGIO NACIONAL DE EDUCACION PROFESIONAL

TECNICA

PLANTEL SALINA CRUZ 155

MODULO: CONTRUCCION Y PROGRAMACION DE ROBOT


´S

ESPECIALIDAD: ELECTRONICA

PRACTICA: #2

ROBOT EVITA OBSTACULOS

NOMBRE DEL DOCENTE : RICARDO ANTONIO ORTIZ


CEL

ALUMNA: BERENICE SUNEM GOYTIA VILLAVICENCIO

GRUPO: 5202

SALINA CRUZ OAX. 16 DE JUNIO DEL 2018


Objetivo de la practica:

El objetivo principal es diseñar y programar un robot totalmente


autónomo capaz de detectar objetos de diferentes tamaños, formas,
colores, superficies y diferentes materiales para posteriormente
esquivar el mismo obstáculo y seguir avanzando hacia diferente
trayectoria, utilizando componentes electrónicos.

Marco teórico:

Arduino

Arduino es una plataforma de hardware libre, basada en una placa


con un microcontrolador y un entorno de desarrollo (software),
diseñada para facilitar el uso de la electrónica en proyectos
multidisciplinares.

El hardware de Arduino consiste en una placa con un


microcontrolador generalmente  Atmel AVR con puertos de
comunicación y puertos de entrada/salida. 
Por otro lado Arduino nos proporciona un   software consistente en
un entorno de desarrollo (IDE) que implementa el lenguaje de
programación de arduino, las herramientas para transferir el
firmware al microcontrolador y el bootloader ejecutado en la
placa. La principal característica del software y del lenguaje de
programación es su sencillez y facilidad de uso.

¿Para qué sirve Arduino? Arduino se puede utilizar para crear


elementos autónomos, conectándose a dispositivos e interactuar
tanto con el hardware como con el software. Nos sirve tanto para
controlar un elemento
SHIELD ADAFRUIT MOTOR DRIVER L293D (Puente H).

Este puente fue diseñado por Adafruit para facilitar el control


de motores con Arduino. Posee 2 drivers L293D, manejados por un
conversor serial paralelo 74HC595. El shield es compatible con
Arduino UNO y Arduino Leonardo.
El conversor se expande 3 pines de Arduino a 8 pines necesarios
para manejar la dirección de los drivers. Las señales “enable”
de los drivers están conectadas directamente a los pines PWM de
Arduino, permitiendo controlar la velocidad de los motores.

El Shield aporta:
 4 motores DC bidireccionales (con control de velocidad
individual).
 O 2 motores paso a paso (unipolares y bipolares).
 Separación entre fuente de motores/fuente de Arduino.
 2 conexiones para servomotores (SG90).
 Conectores para los pines analógicos.
SENSOR HC-SR04 (sensor ultrasónico)

los sensores de ultrasonido son muy útiles para medir


distancias y detectar obstáculos.

El funcionamiento es simple, envía una señal ultrasónica


inaudible y nos entrega el tiempo que demoro en ir y venir
hasta el obstáculo mas cercano que detecto.

Generalmente están conformados por dos cilindros puestos uno al


lado del otro, uno de ellos es quien emite la señal
ultrasónica, mientras que el otro es quien la recibe.

El sensor hc-sr04 en particular tiene una sensibilidad muy


buena del orden de los 3mm, teniendo en cuenta que la mayoría
de las aplicaciones donde este sensor es utilizado es para
medir o detectar obstáculos o distancias mayores a varios
centímetros, podemos decir que su sensibilidad es muy buena.
necesitamos algún micro controlador para leer los datos que nos
entrega.
Material y equipo:

 1 chasis.
 14 tornillos 10 tuercas y 4 piezas auxiliares para el
montaje.
 2 motores DC
 2 ruedas.
 1 rueda libre/loca.
 1 interruptor.
 2 led’s verde/naranja.
 Mini protoboard de 170 puntos
 1 carcasa para 4 pilas de tipo AA.
 1 carcasa de 2 pilas de tipo AA.
 6 pilas tipo AA.
 1 placa ARDUINO 1R3.
 Sensor HC-SR04 (sensor ultrasónico).
 1 cable de alimentación del Arduino.
 Shield Adafruit motor driver L293D.
 cables jumpers macho-macho (los necesarios).
 Estaño/ cautín.
 separadores de metal.
 Push down.
 Kola loca
Para el programa:

 1 laptop
 Programa de arduino IDE instalado (cualquier versión)
 Código en lenguaje C a utilizar

Desarrollo:
Una vez teniendo el chasis del robot pasamos a armarlo siguiendo
los pasos siguientes:
( con la ayuda del manual del fabricante)

1. Verificar si las piezas del kit, están en correcto estado,


incluyendo los motores que funcionan de manera correcta.
2. Retiramos la pegatina marrón que cubre al chasis.
3. Instalamos los soportes aupara el montaje de los motores.
4. Introducimos el encoder por las laterales de las bornas de
cada un de los motores y colocamos junto al soporte de el
motor izquierdo y el derecho.
5. Con ayuda de estaño y cautín; Soldamos los cables a los
motores.
6. Colocamos es soporte exterior y atornillamos la reductora.
7. Atornillamos la rueda libre/loca a la base del chasis.
8. Montamos el Arduino al chasis con la ayuda de los
separadores de metal.
9. Atornillamos las piezas necesarias y las ensamblamos al
resto de nuestra estructura.
10. Después montamos la electrónica sobre el chasis de forma que
todo quede ordenado y accesible, para que así resulte más
fácil localizar y resolver cualquier fallo si este apareciera.
11. Ya una vez decidido bien el orden lo fijamos con ayuda de
kola loca.
12. Conectamos en forma serial ambas carcasas de las pilas la de
4 y la de 2 para que llegue a los 7.2 v.
13. Colocamos el push Down, interrumpiendo la corriente, para
que sirva como interruptor de encendido y apagado.
14. Conectar el sensor HC-SR04 (ultrasónico), en la mini
protoboard de manera centrada.
15. Conectamos los pines dl Arduino a al sensor de la siguiente
forma: (Vcc del sensor con 5v del Arduino pin 4) (GND del
sensor con GND del Arduino) (Trig del sensor con el pin 12
del Arduino) y por ultimo (Echo del sensor al pin 13 del
Arduino)
16. Montamos el puente H con cuidado, presionándolo de manera
correcta.
17. Pasamos a la conexión de los motores.
18. Conectamos en M1 el motor de la derecha.
19. Conectamos el M4 en el motor izquierdo.
20. Conectamos las baterías a una alimentación externa con el
jumper puesto, con la polarización correcta para alimentar
ambas cosas tanto el puente H y Arduino.

Programar el Arduino
Para programar el Arduino seguimos los siguientes pasos:
1. Conseguimos en la electrónica el Arduino.
2. Instalamos en una laptop el programa del Arduino IDE
(instalado para cualquier versión)
3. Después buscamos en fuentes confiables una manera de
programar de una manera mas fácil
4. De igual manera consultamos a nuestro docente para aclarar
las dudas sobre la programación.
5. Una vez que estábamos decididos con la programación a
ocupar.
6. Cargamos el código programador.
7. Verificamos errores de compilación.
8. Corregimos errores ortográficos que existían en el programa.
9. Cargamos el programa al Arduino.
Código programador:

#include <AFMotor.h>

#include <AFMotor.h> // importamos la libreria del motor shield


adafruit
#define DisparoPin 12 // Definimos los pines del sensor de ultra
sonido
#define EcoPin 13 // Definimos los pines del sensor de ultra
sonido

#define ledcito 3
#define leD 2

AF_DCMotor motor1(1,MOTOR12_64KHZ); // Seteamos la frecuencia de


PWM de los motores
AF_DCMotor motor4(4,MOTOR12_64KHZ); // Para motores 1 y 2 puede
ser 64, 8, 2 y 1KHZ
// Para motores 3 y 4 solo se esta disponible 64, 8 y 1KHZ.

void setup() {
Serial.begin(9600); // Empezamos la comunicacion serial
pinMode(DisparoPin, OUTPUT); // Setemos el Pin de trigger como
salida (Pin que envia las ondas sonoras)
pinMode(EcoPin, INPUT); // Setemos el Pin de Eco como entrada
(Pin que recibe las ondas sonoras)
pinMode(ledcito,OUTPUT);
pinMode(leD, OUTPUT);

motor1.setSpeed(200); // Establecemos la velocidad de los


motores, entre 0-255
motor4.setSpeed (200);

}
void loop() {
long duration=0, distance=40; // Creamos 2 variables de tamaño
extendido para almacenar numeros
digitalWrite(DisparoPin, LOW); // Enviamos a bajo el Pin de
Trigger
delayMicroseconds(2); // Un delays es requerido para que la
operacion del sensor se complete

digitalWrite(DisparoPin, HIGH); // Enviamos a alto el Pin de


Trigger
delayMicroseconds(10); // Mantenemos en alto el Pin de Trigger
por 10 us esto es necesario
digitalWrite(DisparoPin, LOW); // Enviamos a bajo el Pin de
Trigger
duration = pulseIn(EcoPin, HIGH); // Calculamos la duracion del
Pulso
distance = (duration/2) / 29.1; // Convertimos la distancia en
centimetros (velocidad Sonido 340m/s o 29.1 us x cm)

if (distance > 25) { // Si la distancia al objeto es meyor a 25


cm Gire a la izquierda
digitalWrite(ledcito,HIGH);
digitalWrite(leD,LOW);

motor1.run(FORWARD); // Avanzo el motor1 - motor de la derecha


motor4.run (FORWARD); // Giro en sentido inverso el motor2 -
motor de la izquierda
delay (50); // Establecemos el tiempo de giro a la izquierda

// Las opciones son FORWARD, BACKWARD, RELEASE (DETENER)


}
else {
digitalWrite(ledcito,LOW);
digitalWrite(leD,HIGH);

motor1.run(BACKWARD); // Avanzo el motor1 - motor de la derecha


motor4.run (BACKWARD); // Giro en sentido inverso el motor2 -
motor de la izquierda
delay(300);
motor1.run(BACKWARD); // Si no hay objetos detectados, avance
hacia adelante
motor4.run(FORWARD);
delay (150); // Seteamos un delay para estabilizar los motores
}
}

Resultados/Evidencia.
Para obtener el resultado final de este brazo robótico, antes
tuvimos que pasar por varios pasos; Desde conseguir el brazo en
la electrónica, hasta desarrollar de manera física el diagrama de
funcionamiento para que operara de manera correcta, ya que
teníamos distintas opciones para operarlo, de las cuales
destacaron: operarlo con el PIC 16F84A, operarlo con ayuda
justick’s o de lo contrario operarlo con ayuda de potenciómetros
de 10 kilos.
Después de platicar en equipo, decidimos que lo mejor seria
operarlo con potenciómetros, ya que de esta manera lo
programaríamos y lo moveríamos de la manera y a los grados que
fuese mejor para el objeto que moveríamos de lugar, además de que
seria de forma manual, lo cual nos daría mucha ventaja a la hora
de sujetar objetos y moverlo de posición.

Como resultado final obtuvimos el satisfactorio proyecto de un


brazo robótico, operado por elementos electrónicos.

Observaciones y comentarios:

o Es de suma importancia no apretar los tornillos


excesivamente, ya que, si eso sucediera, las
extremidades del brazo no tendrían un buen
desenvolvimiento, ya que estaría o muy apretado o de lo
contrario tan suelto que no haría una correcta
trasladación de objetos.

o Al momento de colocar los servomotores a el cuerpo del


robot, tenemos que checar los ángulos y la correcta
posición de los mismos.

o No utilizar grasa, pensando que de esta manera será mas


fácil mover las extremidades del brazo, por que la
grasa solo atraerá polvo.
Conclusión:
En conclusión esta practica me sirvió para conocer mas elementos
electrónicos y saber su correcto funcionamiento y de igual manera
saber los pasos necesarios que tendremos que seguir para
operarlos de manera adecuada, además de reflexionar en la gran
ayuda de una extremidad como un brazo.
También aprendí nuevas librerías en lenguaje C, asi como
programar el brazo por Arduino, y saber el funcionamiento de las
opciones dentro de la aplicación.

También podría gustarte