Está en la página 1de 6

Universidad Pblica de El Alto

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

Robot Detector de Obstculos


Objetivo General
Demostrar y observar el manejo de robot con un sensor.

Objetivo Especifico
Conocer el tipo de codificacin y armado de un robot haciendo uso de sensores y motores.

Objetivo del Problema


Controlar un robot con un sensor ultrasnico.

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

Electrnica Bsica Guillermo Ura O.

También podría gustarte