# [Aporte]  robot detector y evita obstaculos (arduino)



## sixtojsbs (May 4, 2014)

hoy les traigo una parte de mi proyecto de grado el cual es  un robot de limpieza para el hogar o home-bot 

esta es la parte de  detección de obstáculos consta de 
3 sensores ultrasonicos HC-SCR04 , 
1  driver IC L293D
adicional 2 servos truqueados

adjuntas imágenes del  robot en protoboard





esta seria la programación para el arduino :



```
// Ultrasonic - Library for HR-SC04 Ultrasonic Ranging Module. 


#include <Ultrasonic.h> 

Ultrasonic ultrafront(3,2); // (Trig PIN,Echo PIN) 
Ultrasonic ultraleft(4,5); // (Trig PIN,Echo PIN) 
Ultrasonic ultraright(7,6); // (Trig PIN,Echo PIN) 

int sensoradeval = 0; 
int sensoriz = 0; 
int sensordr = 0; 


void setup() { 

//Serial.begin(9600); 

pinMode(8,OUTPUT); 
pinMode(9,OUTPUT); 
pinMode(10,OUTPUT); 
pinMode(11,OUTPUT); 

} 

void loop() 
{ 

SENSORADEL(); 
SENSORIZQ(); 
SENSORDER(); 

} 

void SENSORADEL() { 

//Serial.print("Front: ") ; 
// Serial.print(ultrafront.Ranging(CM)); // CM or INC 
// Serial.print(" cm " ); 
// delay(50); 

if(ultrafront.Ranging(CM) > 15){ 

IRADELANTE(); 

} 
else 
{ 

IRATRAS(); 
delay(300); 
IRDERECHA(); 
delay(200); 
SENSORIZQ(); 
} 

} 

void SENSORIZQ() { 

//Serial.print("Left: ") ; 
//Serial.print(ultraleft.Ranging(CM)); // CM or INC 
//Serial.print(" cm " ); 
// delay(50); 

if(ultraleft.Ranging(CM) > 6){ 

SENSORADEL(); 

} 
else 
{ 
IRDERECHA(); 
//delay(200); 
SENSORDER(); 

} 

} 

void SENSORDER() { 

// Serial.print("Right: ") ; 
// Serial.print(ultraright.Ranging(CM)); // CM or INC 
// Serial.println(" cm" ); 
// delay(50); 

if(ultraright.Ranging(CM) > 6){ 

SENSORADEL(); 

} 
else 
{ 
IRIZQUIERDA(); 
//delay(200); 
SENSORIZQ(); 
} 

} 

void IRADELANTE(){ 

digitalWrite(8,LOW); 
digitalWrite(9,HIGH); 
digitalWrite(10,HIGH); 
digitalWrite(11,LOW); 

} 

void IRATRAS(){ 

digitalWrite(8,HIGH); 
digitalWrite(9,LOW); 
digitalWrite(10,LOW); 
digitalWrite(11,HIGH); 
} 

void IRIZQUIERDA(){ 

digitalWrite(8,HIGH); 
digitalWrite(9,LOW); 
digitalWrite(10,HIGH); 
digitalWrite(11,LOW); 

} 

void IRDERECHA(){ 

digitalWrite(8,LOW); 
digitalWrite(9,HIGH); 
digitalWrite(10,LOW); 
digitalWrite(11,HIGH); 

} 

void STOP(){ 

digitalWrite(8,LOW); 
digitalWrite(9,LOW); 
digitalWrite(10,LOW); 
digitalWrite(11,LOW); 
}
```

recuerden tener las librerías de  los ultrasonicos

adjunto también la imagen de el pcb para imprimir haci como el mismo archivo pcb diseñado en pcb  wizard para guiarse en las conexiones 


Ver el archivo adjunto final obstaculos.rar


video

busca en youtube mi canal se llama   jhonmixtec

es el único que aparece y hay esta la demostración de el robot

esta es la primera de  las 4 partes de mi proyecto  espero les guste y les sirva cualquier duda quedo atento.


----------



## Gudino Roberto duberlin (May 4, 2014)

Hola, buen aporte, pero para tal desarrollo, es curiosidad obligada de ver un video!.


----------



## sixtojsbs (May 4, 2014)

busca en youtube mi canal se llama jhonmixtec

es el único que aparece y hay esta la demostración de el robot

y el video esta como robot evita obstaculos con arduino por sixtojsbs


----------

