Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Robot
Robot
Ingeniera de Sistemas
Electrnica Bsica
Integrantes:
Jimmy Yomar Mayta Jimenez
Olga Quispe Quispe
David Guillermo Huanca Sanchez
Liseth Claudia Suxo Torrez
Docente:
Ing. Guillermo Uria Ovando
INFORME
Objetivo Especifico
Conocer el tipo de codificacin y armado de un robot haciendo uso de sensores y motores.
Materiales
Arduino mega o Arduino uno
Sensor ultrasonico HC-SR04
Motor shield driver para arduino de Adafruit
2 Motores de corriente continua de 3v a 6v
2 Ruedas para los motores
Chasis para armar el robot, recuerden que puede ser uno de fabricacin propia
Alimentacin para arduino, ya sea atraves de 4 o 6 pilas AA (Recomiendo pilas recargables ya que al usar dos motores y el sensor gasta mucha
energia), una pila de 9v o batera de tipo Lipo (es la que se usa para los Drones).
4 Cables para conectar el sensor ultrasonico HC-SR04 al Arduino
Armado
Programacin
(Arduino.)
#include<AFMotor.h>
AF_DCMotor M1(1);
AF_DCMotor M2(2);
intTrig = 48;
int Echo = 40;
intcont = 0;
intaux = 0;
voidsetup()
{
Serial.begin (9600);
M1.setSpeed(140);
M2.setSpeed(140);
pinMode(Trig,OUTPUT);
pinMode(Echo,INPUT);
}
voidloop()
{
longduracion;
long distancia;
digitalWrite(Trig,LOW);
delayMicroseconds(2);
digitalWrite(Trig,HIGH);
delayMicroseconds(10);
digitalWrite(Trig,LOW);
duracion = pulseIn(Echo,HIGH);
distancia = (duracion/2)/29;
Serial.println(distancia);
if(distancia > 10)
{
M1.run(FORWARD);
M2.run(FORWARD);
if(distancia > 120)
{
M1.setSpeed(250);
M2.setSpeed(250);
}
else
{
M1.setSpeed(distancia+130);
M2.setSpeed(distancia+130);
}
}
elseif(distancia < 4)
{
M1.run(RELEASE);
M2.run(RELEASE);
delay(400);
M1.setSpeed(140);
M2.setSpeed(140);
M1.run(BACKWARD);
M2.run(BACKWARD);
delay(400);
cont++;
}
else
{
M1.setSpeed(140);
M2.setSpeed(140);
if(aux == 0)
{
M1.run(FORWARD);
M2.run(BACKWARD);
}
else
{
M1.run(BACKWARD);
M2.run(FORWARD);
}
while(distancia < 20 && distancia > 3)
{
digitalWrite(Trig,LOW);
delayMicroseconds(2);
digitalWrite(Trig,HIGH);
delayMicroseconds(10);
digitalWrite(Trig,LOW);
duracion = pulseIn(Echo,HIGH);
distancia = (duracion/2)/29;
delay(100);
}
if(cont == 2 &&aux == 0)
{
aux = 1;
cont = 0;
}
elseif(cont == 2)
{
aux = 0;
cont = 0;
}
}
delay(100);
}
Observaciones
El manejo de motores implica dificultad para la batera, ya que su amperaje es muy bajo.
Se puede implicar que los motores dependern su accin mediante la polaridad de cada motor de
corriente continua.
Conclusiones
Se ha podido observar que el robot acciona correctamente. Tanto como su shield y su arduino se ha
podido concluir que el robot si detecta obstculos.
Referencias