domingo, 8 de julio de 2012

Medidor de distancias con ultrasonidos HC-SR04.

 

100_1030

Hola, este circuito de pruebas, es para familiarizarse con el sensor ultrasinico, lo utilizare para tomar distancias, estas se reflejaran en “cm” . Basicamente mide distancias calculando el tiempo en que emite el pulso sonico y lo recibe, demodo que lo pocras ver en tu PC cuandi activas el monitor serial.

Les mostrare como activar este monitor, es sensillo.

Ver imagen:

serial monitor

Ver imagen de como se comunica con el monitor serial.

serial monitor1

Las conecciones son importantes:

VCC = 5Voltios

Trig= Conectar al pin #12

Echo= Conectar al pin #13

Gnd = Tierra

Este es el Sketch que instalaran en su arduino, solo les fincionara si su programa de arduino esta actualizado para el sensor ultrasonico HC-SR04.


// Ultrasonic.h – Library for HR-SC04 Ultrasonic Ranging Module.
// Rev. 2 (06/2011)
// www.arduino.com.es

#include <Ultrasonic.h>
Ultrasonic ultrasonic(12,13); // (Trig PIN,Echo PIN)

void setup() {
Serial.begin(9600);
}

void loop()
{
Serial.print(ultrasonic.Ranging(CM)); // CM or INC
Serial.println(” cm” );
delay(100);
}


Hasta la proxima.

5 comentarios:

Unknown dijo...

disculpe me sale un error
In file included from ultrasonido.cpp:5:
C:\Users\mirelly\Desktop\arduino-1.0.1\libraries\Ultrasonic/Ultrasonic.h:11:22: error: WProgram.h: No such file or directory

APC dijo...

Hola Mirelly

Esta libreria requiere una pequeña modificacion, solo cuando utilizas las verciones nuevas del programa de Arduino 1.0 y 1.0.1 en las anteriores no tendras problemas.

La modificacion consiste en remplazar #include (WProgram.h)
por #include (Arduino.h) en el archivo Ultrasonic.h.

Si tienen algun problema me abisan, con gusto los ayudare.

Unknown dijo...

Hola me han servido de mucho tus consejos, pero he tenido un problema, quiero programar un bot con el arduino 1.0 con el sensor ultrasonico HRSR04, Y me he quebrado la cabeza para saber como puedo hacerlo, e intentado de todo y no lo logro, podrias ayuidarme?

APC dijo...

Hola Araceli

Si pudieras darme mas informacion, sobre tu proyecto o que deseas hacer, talves podria ayudar te, ademas nesecito saber cual modelo de Arduino tienes.

Espero la informacion, Gracias.

Nuumen dijo...

hola tengo un arduino UNO esto haciendo un robot sumo, no he podido hacer funcionar mi sensor este es mi codigo

#define trigPin 3
#define echoPin 2

void setup () {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}

void loop(){
int duration, distance;
digitalWrite(trigPin, HIGH);
delayMicroseconds(1000);
digitalWrite(trigPin, LOW);
duration= pulseIn(echoPin, HIGH);
distance= (duration/2)/ 29.1;
Serial.print(distance);
Serial.print(" cm");
delay(500);
}
el resultado siempre es cero no importa que haga.

si me pudieras corregir, y aconsejarme como hacer para programarlo para que cuando no detecte algo gire y repita el proceso y cuando detecte valla en esa direccion?