Tabla de contenido:
Video: Tutorial del sensor de presión y temperatura Arduino AMS5812_0050-D-B: 4 pasos
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
El sensor de presión amplificado AMS5812 con salidas analógicas y digitales es un sensor de alta precisión con una salida de voltaje analógica y una interfaz I2C digital. Combina un elemento sensor piezorresistivo con un elemento acondicionador de señal para su funcionamiento. Aquí está su demostración con arduino nano.
Paso 1: ¡¡Lo que necesitas …
1. Arduino Nano
2. AMS5812_0050-D-B
3. Cable I²C
4. Escudo I2C para Arduino Nano
Paso 2: Conexiones:
Tome un protector I2C para Arduino Nano y empújelo suavemente sobre los pines de Nano.
Luego, conecte un extremo del cable I2C al sensor AMS5812_0050-D-B y el otro extremo al blindaje I2C.
Las conexiones se muestran en la imagen de arriba.
Paso 3: Código:
El código Arduino para AMS5812_0050-D-B se puede descargar desde nuestro repositorio GitHub-Dcube Store.
Aquí está el enlace para el mismo:
github.com/DcubeTechVentures/AMS5812-0050-D-B
Incluimos biblioteca Wire.h para facilitar la comunicación I2c del sensor con la placa Arduino.
También puede copiar el código desde aquí, se proporciona de la siguiente manera:
// Distribuido con licencia de libre albedrío.
// Úselo de la forma que desee, lucrativa o gratuita, siempre que encaje en las licencias de sus obras asociadas.
// AMS5812
// Este código está diseñado para funcionar con el Mini Módulo AMS5812_I2CS_0050-D-B I2C disponible en Dcube Store.
#incluir
// La dirección AMS5812 I2C es 0x78 (120)
#define Addr 0x78
configuración vacía ()
{
// Inicializar la comunicación I2C como MASTER
Wire.begin ();
// Inicializar la comunicación en serie, configurar la velocidad en baudios = 9600
Serial.begin (9600);
retraso (300);
}
bucle vacío ()
{
datos int sin firmar [4];
retraso (500);
// Solicitar 4 bytes de datos
Wire.requestFrom (Addr, 4);
// Leer 4 bytes de datos
// presión msb, presión lsb, temp msb, temp lsb
si (Cable disponible () == 4)
{
datos [0] = Wire.read ();
datos [1] = Wire.read ();
datos [2] = Wire.read ();
datos [3] = Wire.read ();
}
// Convertir los datos
presión de flotación = ((datos [0] y 0xFF) * 256 + (datos [1] y 0xFF));
temperatura flotante = ((datos [2] y 0xFF) * 256 + (datos [3] y 0xFF));
presión = ((presión - 3277.0) / ((26214.0) / 10.0)) - 5.0;
flotador cTemp = ((temp - 3277.0) / ((26214.0) / 110.0)) - 25.0;
float fTemp = (cTemp * 1.8) + 32;
// Salida de datos al monitor en serie
Serial.print ("Presión:");
Serial.print (presión);
Serial.println ("PSI");
Serial.print ("Temperatura en grados Celsius:");
Serial.print (cTemp);
Serial.println ("C");
Serial.print ("Temperatura en Fahrenheit:");
Serial.print (fTemp);
Serial.println ("F");
retraso (500);
}
Paso 4: Aplicaciones:
El AMS5812 es un sensor de presión amplificado y puede emplearse en sistemas donde se van a realizar mediciones de presión estática y dinámica y medición de presión barométrica. Desempeña un papel fundamental en la monitorización del vacío, la monitorización del flujo de gas, la medición del nivel de fluido y la instrumentación médica.