O VisionBot teve como objetivo criar,montar, um robô com movimentos automáticos que através de um  sensor ultrassônico detecta obstáculos a frente. Ao detectar esses obstáculos o robô identifica outras alternativas de caminho para alcançar seu objetivo.

Foi desenvolvido para uso doméstico de pessoas com deficiências, elas usarão o robô ao invés da tradicional bengala, que pode enroscar em objetos e causar acidentes. No Brasil, o treinamento de um cão guia pode chegar a custar R$ 30.000,00.

O VisionBot funciona como o guia para o mesmo, evitando acidentes e emitindo um sinal sonoro para o deficiente visual.

#include
int TRIGGER = 12;
int ECHO = 13;
int MotorA1 = 10;
int MotorA2 = 11;
int MotorB1 = 3;
int MotorB2 = 5;
float distanciaE = 0;
float distanciaD = 0;

Ultrasonic ultrasonic(TRIGGER, ECHO);

void setup() {
pinMode(MotorA1,OUTPUT);
pinMode(MotorA2,OUTPUT);
pinMode(MotorB1,OUTPUT);
pinMode(MotorB2,OUTPUT);
Serial.begin (9600);

}
float distancia(){
float cmMsec, inMsec;
long microsec = ultrasonic.timing();
cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM);
Serial.print(", CM: ");
Serial.print(cmMsec);
return cmMsec;
}
void frente(){
digitalWrite(MotorA1,LOW);
digitalWrite(MotorA2,HIGH);
digitalWrite(MotorB1,HIGH);
digitalWrite(MotorB2,LOW);
}
void tras(){
digitalWrite(MotorA1,HIGH);
digitalWrite(MotorA2,LOW);
digitalWrite(MotorB1,LOW);
digitalWrite(MotorB2,HIGH);
}
void direita(){
digitalWrite(MotorA1,HIGH);
digitalWrite(MotorA2,LOW);
digitalWrite(MotorB1,HIGH);
digitalWrite(MotorB2,LOW);
}
void esquerda(){
digitalWrite(MotorA1,LOW);
digitalWrite(MotorA2,HIGH);
digitalWrite(MotorB1,LOW);
digitalWrite(MotorB2,HIGH);
}
void parar(){
digitalWrite(MotorA1,HIGH);
digitalWrite(MotorA2,HIGH);
digitalWrite(MotorB1,HIGH);
digitalWrite(MotorB2,HIGH);
}

void loop() {

if(distancia() > 30){
frente();
} else {
parar();
delay(500);
esquerda();
delay(2000);
distanciaE = distancia();
direita();
delay(1500);
distanciaD = distancia();

if (distanciaD > distanciaE){
tras();
delay(100);
frente();
}

else {
esquerda();
delay(2000);
tras();
delay(100);
frente();
}
}

}

Apresentação

Atividades recentes