INFORMACIÓN
El A02YYUW Sensor Ultrasónico a Prueba de Agua (SEN0311) de DFRobot es un módulo diseñado para medir distancias entre 3 cm y 450 cm con una precisión de ±1 cm. Su consumo promedio es inferior a 8 mA, funciona con un rango de voltaje amplio (3.3 – 5 V) y responde en aproximadamente 100 ms.
Este sensor es perfecto para aplicaciones como detección de obstáculos, robots evasores de obstáculos, contadores de objetos y medición de distancia remota en exteriores o entornos con agua y polvo. Gracias a su interfaz UART y baja complejidad de implementación, permite una integración rápida en proyectos DIY, sistemas autónomos o soluciones industriales que requieran medir distancias.
ESPECIFICACIONES Y CARACTERÍSTICAS
- Marca: DFROBOT
- Matrícula: SEN0311
- Modelo: A02YYUW
- Color: Negro
- Voltaje de operación: 3.3V a 5V
- Corriente promedio: <8mA
- Distancia de zona de punto ciego: 30 mm
- Rango de detección (Objeto plano): 3-450cm
- Protocolo de comunicación: UART
- Ángulo de referencia: 60º
- Grado de resistencia al agua: IP67
- Tiempo de respuesta: 100ms
- Temperatura de operación: -15°C a 60°C
- Dimensiones: 84.6mm x 29.6mm x 18.5mm
- Peso: 50 g
DOCUMENTACIÓN Y RECURSOS
INFORMACIÓN ADICIONAL
Patrones del haz del sensor


Salida de datos UART
El sensor ultrasónico A02YYUW tiene como característica la transmisión de datos por medio de UART a 9600 baudios, los datos tomados por el sensor los almacena en 4 bytes repartidos de la siguiente manera:

El primer byte es una constante de 0xFF, los siguientes dos bytes son los valores medidos de la distancia detectada, y el ultimo byte es una suma de los tres bytes anteriores, este solo almacenará los 8 bits de valor más bajo de la suma, es decir:
Si el valor de la suma es 0x1A7 (En binario: 0001 1010 0111), Checksum solo almacenará A7 (En binario: 1010 0111).
Checksum ayuda a corroborar que las mediciones realizadas por el sensor de verdad sean correctas, a través de código podemos se puede realizar la siguiente operación:
sum = (data[0] + data[1] + data[2]) & 0x00FF;
Si el valor de sum es igual al valor de Checksum, entonces las mediciones fueron correctas.
Prueba del A02YYUW sensor ultrasónico con Arduino UNO
Realizaremos las siguientes conexiones en nuestra tarjeta de desarrollo Arduino Uno:
Cables:
- Rojo: 3.3 – 5V
- Negro: GND
- Amarillo: Pin 3
- Blanco: Pin 2

Posteriormente usaremos el siguiente código en nuestro IDE para programar nuestro Arduino, esté código mide la distancia entre el sensor y un objeto:
#include <SoftwareSerial.h>
//Puerto serial personalizado
SoftwareSerial mySerial(2, 3); // RX, TX
unsigned char data[4] = {};
float distancia;
void setup()
{
//Inicio de protocolo serial a 57600 baudios
Serial.begin(57600);
mySerial.begin(9600);
}
void loop()
{
//Lectura de datos del puerto serial
do {
for (int i = 0; i < 4; i++)
{
data[i] = mySerial.read();
}
} while (mySerial.read() == 0xff);
//Espera a que se complete la transmisión de datos salientes
mySerial.flush();
if (data[0] == 0xff)
{
int sum;
//Comprobación de los valores de lectura
sum = (data[0] + data[1] + data[2]) & 0x00FF;
/*Verifica que el resultado de la operación anterior coincida con el valor del dato 3
Si no coincide, entonces la edición es errónea
*/
if (sum == data[3])
{
//Conversión de los valores medidos en cm
distancia = (data[1] << 8) + data[2]; if (distancia > 30)
{
Serial.print("distancia=");
Serial.print(distancia / 10);
Serial.println("cm");
} else
{
Serial.println("Debajo del límite inferior");
}
} else Serial.println("ERROR");
}
delay(100);
}
Recuerda que para poder visualizar el funcionamiento del código debes abrir el monitor serial:


Espuma Limpiadora para Equipos Electrónicos 454 ml SILIMPO
Gravity Kit de 9 Sensores Compatibles con Arduino DFR0018
Pasta Limpiadora para Puntas de Cautín 6g
Pluma Flux 951 Kester 10ml Non Clean
Set de Pinzas con Punta de Cerámica
CC0603JRNPO9BN470 Capacitor Cerámico 0603 47pF 50V
UNIT Maker UNO – Nivel Básico con 16 Proyectos











































Valoraciones
No hay valoraciones aún.