• Autor de la entrada:
  • Categoría de la entrada:Arduino
Sensor de ultrasonidos
Sensor de ultrasonidos

Los módulos de ultrasonidos, como el módulo de Ultrasonidos con SRF05, son usados básicamente para medir distancias y poder crear mapas de profundidad, que puedan servir por ejemplo para tener una idea de la forma que tiene el fondo del mar, como es el caso de los sonar en los barcos, o poder ver una imagen de la cara de un bebé antes de nacer. A favor de la naturaleza hay que decir que la técnica de los ultrasonidos no es artificial, no la ha inventado el hombre puesto que los murciélagos usan esta técnica para poder orientarse.

Uno de los módulos más conocidos y usados por la comunidad de electrónicos y ardumaniacos es el módulo SRF05, el cual es muy fácil de utilizar puesto que no necesitamos ninguna librería sino que solo necesitamos tener algo de conocimientos de como funciona el módulo y ya podremos hacer funcionar con funciones básicas.

Para este tutorial vamos a necesitar un Arduino, un módulo de medición por ultrasonidos como el SRF-05 y una Prototype Shield para hacer las conexiones del módulo, podéis encontrarlos pinchando encima de los nombres o de las fotos a continuación.

Prototype Shield
Prototype Shield
srf05
srf05

Vídeo


Sensor de ultrasonidos - RincónIngenieril con GearBest

Código para Arduino

/*
* Puedes distribuirlo y modificar el código.
*
* RincónIngenieril
* Versión: 1.0
* Fecha: 22/07/2015
*/
int echo = 2;
int trigger = 3;
float echoTime;
float distancia;

#define velocidadSonido 340 //Unidades m/s

void setup(){
Serial.begin(9600); //Inicializar puerto serie
pinMode(echo,INPUT);  //Pin echo como salida
pinMode(trigger,OUTPUT); //Pin de disparo como entrada
}

void loop(){
digitalWrite(trigger,LOW);
delayMicroseconds(2); //Bajo durante 2 microsegundos
digitalWrite(trigger,HIGH);
delayMicroseconds(10);  //Arriba durante 10 microsegundos
digitalWrite(trigger,LOW);
echoTime = pulseIn(echo, HIGH);
echoTime = echoTime/1000000.0;  //Paso a segundos
distancia = echoTime * velocidadSonido;
distancia = distancia * 100;
distancia = distancia /2;

Serial.println(distancia);

delay(100);

}

Puedes aprender más sobre Arduino con el resto de tutoriales de Rincón Ingenieril.

Gracias a los compañeros de GearBest por el material para hacer este vídeo.

Enrique Gómez

Ingeniero Electrónico Industrial y Automático, amante de la comunicación audiovisual y de la divulgación ingenieril y científica. Friki de Star Wars, cuenta más de lo que parece. Puedes saber más sobre mi y sobre mis trabajos en www.enriquegomez.me