HX710B Sensor de Presion de Aire 0-40 KPa con Circuito HX710B Conversor ADC Alta Precisión

[HX710B] HX710B Sensor de Presion de Aire 0-40 KPa con Circuito HX710B Conversor ADC Alta Precisión

https://electrofranko.com/web/image/product.template/54730/image_1920?unique=95a4b13

S/ 12.00 12.0 PEN S/ 12.00

S/ 12.00

Not Available For Sale

Esta combinación no existe.

Términos y condiciones
Envío: 2-3 días laborales


Referencia Interna: HX710B

Sensor de Presión de Aire y Vacío (HX710B)

Transductor barométrico piezorresistivo de alta resolución con ADC dedicado de 24 bits integrado.

El sensor de presión de aire HX710B es una solución electrónica de alta precisión diseñada para medir presiones barométricas y neumáticas de corto rango, típicamente entre 0 y 40 kPa. Este dispositivo integra un transductor piezorresistivo MPS20N0040D acoplado directamente a un convertidor analógico-digital de 24 bits HX710B. Gracias a su arquitectura interna, el chip elimina ruidos eléctricos de baja frecuencia y digitaliza variaciones milimétricas de presión mecánica en aire o líquidos no corrosivos. Su interfaz serial de dos hilos facilita la adquisición directa de lecturas altamente estables en sistemas de control automatizado y electromedicina.

Especificaciones Técnicas

Parámetro Detalle
Tensión de OperaciónDC 3.3 V a 5.0 V
Corriente de Consumo< 1.5 mA (Normal) / < 5 µA (Espera)
Resolución del ADC24 Bits en complemento a dos
Rango de Presión Nominal0 kPa a 40 kPa (0 a 300 mmHg)
Transductor IntegradoMPS20N0040D (Estructura de puente)
Interfaz de ComunicaciónSerial síncrona de 2 hilos (CLK / DATA)
Parámetro Detalle
Frecuencia de Muestreo10 Hz / 40 Hz (Configurable por hardware)
Temperatura de Trabajo-40 °C a +85 °C (Rango extendido)
Sobrecarga Máxima2X el rango de presión nominal
Impedancia de Entrada4.7 kΩ a 6.0 kΩ (Puente del sensor)
Diámetro de Boquilla2.5 mm (Para mangueras flexibles estándar)
Linealidad del Sistema±0.25% de la escala completa (FS)

Diagrama de Conexiones y Mapeo de Pines

Diagrama de Conexión HX710B

Ventajas del Módulo

Digitalización de Grado Científico: Al incorporar un ADC dedicado de 24 bits, no depende de los convertidores analógicos limitados de 10 bits de Arduino, logrando registrar variaciones de presión microscópicas sin ruido.

Estructura Compacta y Neumática Directa: Su boquilla de acoplamiento integrada en el encapsulado del puente permite la conexión limpia de mangueras de silicona comerciales, ideal para proyectos médicos como tensiómetros o espirómetros caseros.

Bajísimo Impacto Energético: Su consumo inferior a los 1.5 mA durante fases de muestreo intensivo lo vuelve la opción predilecta para estaciones meteorológicas de registro continuo alimentadas por celdas solares o baterías de litio.

Código Arduino Completo y Optimizado

// Código de Control Completo para el Sensor de Presión de Aire HX710B // Implementa lectura nativa por pulsos de reloj y filtro digital avanzado const int pinDOUT = 2; // Pin de datos conectado al DOUT del módulo HX710B const int pinSCK = 3; // Pin de reloj conectado al SCK del módulo HX710B long valorTara = 0; // Almacena la lectura de calibración cero (Offset) float presionSuavizada = 0.0; // Variable para el filtro digital acumulativo const float alfaFiltro = 0.15; // Factor de suavizado exponencial (Filtro EMA) long presionMaxima = -999999; // Registro histórico del pico de presión más alto long presionMinima = 999999; // Registro histórico del pico de presión más bajo // Función nativa para leer el ADC de 24 bits del HX710B sin librerías externas long leerHX710B() { while (digitalRead(pinDOUT) == HIGH); // Espera a que el pin de datos baje (Dato listo) long cuentaADC = 0; for (int i = 0; i < 24; i++) { digitalWrite(pinSCK, HIGH); cuentaADC = (cuentaADC << 1) | digitalRead(pinDOUT); digitalWrite(pinSCK, LOW); } // Pulso número 25 para configurar el chip (Ganancia 128, Canal A) digitalWrite(pinSCK, HIGH); digitalWrite(pinSCK, LOW); // Conversión de complemento a dos para manejar valores negativos de 24 bits if (cuentaADC & 0x800000) { cuentaADC |= 0xFF000000; } return cuentaADC; } void setup() { Serial.begin(9600); pinMode(pinDOUT, INPUT); pinMode(pinSCK, OUTPUT); Serial.println("--- Iniciando Autocalibración del HX710B ---"); delay(500); // Rutina avanzada de Tara: Promedia 10 lecturas iniciales en estado de reposo long sumaTara = 0; for (int j = 0; j < 10; j++) { sumaTara += leerHX710B(); delay(50); } valorTara = sumaTara / 10; presionSuavizada = 0; // Inicializa la lectura filtrada Serial.println("Calibración completada con éxito. Sensor Listo."); } void loop() { long lecturaCruda = leerHX710B(); long lecturaCero = lecturaCruda - valorTara; // Resta del offset calibrado // FILTRADO DIGITAL AVANZADO COMPLEMENTARIO (Líneas extendidas adicionadas) presionSuavizada = (alfaFiltro * lecturaCero) + ((1.0 - alfaFiltro) * presionSuavizada); long resultadoFinal = (long)presionSuavizada; // MONITOREO DINÁMICO DE EXTREMOS Y FLUCTUACIÓN (Líneas extendidas adicionadas) if (resultadoFinal > presionMaxima) presionMaxima = resultadoFinal; if (resultadoFinal < presionMinima) presionMinima = resultadoFinal; long rangoFluctuacion = presionMaxima - presionMinima; // Conversión aproximada a unidad física KiloPascales (kPa) según escala nominal float presionKPa = (float)resultadoFinal / 40000.0; // Factor referencial de calibración // Envío secuencial ordenado de parámetros a la terminal serie Serial.print("Crudo: "); Serial.print(lecturaCruda); Serial.print(" | Neto: "); Serial.print(lecturaCero); Serial.print(" | Filt: "); Serial.print(resultadoFinal); Serial.print(" | Hist [Min/Max]: ["); Serial.print(presionMinima); Serial.print("/"); Serial.print(presionMaxima); Serial.print("]"); Serial.print(" | Presión: "); Serial.print(presionKPa, 3); Serial.println(" kPa"); delay(250); // Ventana de muestreo estable }