Paso 3: código:
El código de arduino para AMS5812_0050-D-B puede descargarse desde el repositorio de github-ControlEverythingCommunity
Aquí está el enlace para el mismo:
https://github.com/ControlEverythingCommunity/AMS5...
La hoja de datos de AMS5812_0050-D-B se puede encontrar aquí:
https://S3.amazonaws.com/controleverything.Media/c...
Incluimos la 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 da como sigue:
Distribuido con una licencia de libre albedrío.
Se usa cualquier forma desea, beneficio o libre, siempre cabe en las licencias de sus obras anexas.
AMS5812
Este código está diseñado para trabajar con el módulo de Mini de I2C AMS5812_I2CS_0050-D-B en ControlEverything.com.
https://www.controleverything.com/content/pressur...
#include < Wire.h >
Dirección I2C AMS5812 es 0x78(120)
#define Addr 0x78
void setup()
{
Inicializar la comunicación I2C como maestro
Wire.Begin();
Inicializar la comunicación serial, juego velocidad en baudios = 9600
Serial.Begin(9600);
Delay(300);
}
void loop()
{
unsigned int datos [4];
Delay(500);
Solicitud de 4 bytes de datos
Wire.requestFrom (Addr, 4);
Lee 4 bytes de datos
presión de msb, lsb de presión, temp msb, lsb temp
Si (Wire.available() == 4)
{
datos [0] = Wire.read();
datos [1] = Wire.read();
datos [2] = Wire.read();
datos [3] = Wire.read();
}
Convertir los datos
flotador de presión = ((datos [0] & 0xFF) * 256 + (datos [1] & 0xFF));
temp de flotador = ((datos [2] & 0xFF) * 256 + (datos [3] & 0xFF));
presión = ((pressure-3277.0) / ((26214.0) / 10.0)) - 5.0;
flotador cTemp = ((temp-3277.0) / ((26214.0) / 110.0)) - 25.0;
flotador fTemp = (cTemp * 1.8) + 32;
Salida de datos monitor serial
Serial.Print ("presión:");
Serial.Print(Pressure);
Serial.println ("PSI");
Serial.Print ("temperatura en grados Celsius:");
Serial.Print(cTemp);
Serial.println ("C");
Serial.Print ("temperatura en grados Fahrenheit:");
Serial.Print(fTemp);
Serial.println ("F");
Delay(500);
}