Sensor Ultrasónico
El sensor ultrasónico de Seeed es un módulo de medición de distancia sin contacto, también compatible con la plataforma electronic brick. Está diseñado para facilitar proyectos modulares con rendimiento industrial.
Características
- Rango de detección: 3 cm a 4 m
- Óptimo a 30° de ángulo
- Interfaz compatible con electronic brick
- Alimentación de 5 VDC
- Compatible con protoboard
- Doble transductor
- Librería Arduino disponible
Especificaciones
Voltaje de alimentación | 5V |
Consumo de corriente | 15 mA |
Frecuencia ultrasónica | 40k Hz |
Rango máximo | 400 cm |
Rango mínimo | 3 cm |
Resolución | 1 cm |
Ancho del pulso de disparo | 10 μs |
Dimensiones | 43x20x15 mm |
Primeros pasos
El sensor transmite un pulso ultrasónico corto en el tiempo 0, que es reflejado por un objeto. Luego, el sensor recibe la señal reflejada y la convierte en señal eléctrica. El siguiente pulso puede ser enviado cuando se disipe el eco. Este periodo se llama período de ciclo, y se recomienda que sea mayor a 50 ms.
Cuando se envía un pulso de disparo de 10 μs al pin de señal, el módulo ultrasónico genera ocho señales de 40 kHz y espera el eco.
La distancia medida es proporcional al ancho del pulso de eco y se puede calcular con la fórmula correspondiente.
Si no se detecta ningún obstáculo, el pin de salida dará una señal alta de 38 ms.
Usar con Arduino
Hardware
- Paso 1. Prepara los siguientes componentes:
Seeeduino V4.2 | Base Shield | Módulo ultrasónico |
---|---|---|
![]() | ![]() | ![]() |
Comprar | Comprar | Comprar |
- Paso 2. Conecta el módulo ultrasónico al puerto D2 del Grove Base Shield.
- Paso 3. Inserta el Base Shield en el Seeeduino.
- Paso 4. Conecta el Seeeduino a la PC mediante un cable USB.
Si no tienes un Grove Base Shield, puedes conectar directamente el módulo al Seeeduino como se indica abajo:
Seeeduino | Módulo Ultrasónico |
---|---|
5V | Rojo |
GND | Negro |
No conectado | Blanco |
D2 | Amarillo |
Software
- Paso 1. Copia el código de ejemplo y súbelo a tu placa controladora.
- Paso 2. Abre el monitor serial para observar la salida.
#include "Arduino.h"
class Ultrasonic
{
public:
Ultrasonic(int pin);
void DistanceMeasure(void);
double microsecondsToCentimeters(void);
double microsecondsToInches(void);
private:
int this_pin;//pin number of Arduino that is connected with SIG pin of Ultrasonic Ranger.
long duration;// the Pulse time received;
};
Ultrasonic::Ultrasonic(int pin)
{
this_pin = pin;
}
/*Begin the detection and get the pulse back signal*/
void Ultrasonic::DistanceMeasure(void)
{
pinMode(this_pin, OUTPUT);
digitalWrite(this_pin, LOW);
delayMicroseconds(2);
digitalWrite(this_pin, HIGH);
delayMicroseconds(5);
digitalWrite(this_pin,LOW);
pinMode(this_pin,INPUT);
duration = pulseIn(this_pin,HIGH);
}
/*The measured distance from the range 0 to 400 Centimeters*/
double Ultrasonic::microsecondsToCentimeters(void)
{
return duration/29.0/2.0;
}
/*The measured distance from the range 0 to 157 Inches*/
double Ultrasonic::microsecondsToInches(void)
{
return duration/74.0/2.0;
}
Ultrasonic ultrasonic(2);
void setup()
{
Serial.begin(9600);
}
void loop()
{
double RangeInInches;
double RangeInCentimeters;
ultrasonic.DistanceMeasure();// get the current signal time;
RangeInInches = ultrasonic.microsecondsToInches();//convert the time to inches;
RangeInCentimeters = ultrasonic.microsecondsToCentimeters();//convert the time to centimeters
Serial.println("The distance to obstacles in front is: ");
Serial.print(RangeInInches);//0~157 inches
Serial.println(" inch");
Serial.print(RangeInCentimeters);//0~400cm
Serial.println(" cm");
delay(1000);
}
Soporte Técnico y Discusión
Si tienes algún problema técnico, publícalo en nuestro foro.
¡Gracias por elegir nuestros productos! Estamos aquí para ayudarte y asegurarnos de que tu experiencia sea lo más fluida posible.