Arduino AMS5812_0050-D-B trycket & temperatur Sensor handledning (3 / 4 steg)
Steg 3: kod:
Arduino koden för AMS5812_0050-D-B kan hämtas från vår github repository-ControlEverythingCommunity
Här är länken för samma:
https://github.com/ControlEverythingCommunity/AMS5...
Databladet för AMS5812_0050-D-B kan hittas här:
https://s3.amazonaws.com/controleverything.Media/c...
Vi inkluderar bibliotek Wire.h att underlätta I2c kommunikationen av sensorn med Arduino styrelsen.
Du kan också kopiera koden från här, det ges enligt följande:
Distribueras med en fri vilja licens.
Använda det något sätt du vill, vinst eller gratis, förutsatt att den passar i licenser av dess tillhörande arbeten.
AMS5812
Denna kod är utformad att fungera med AMS5812_I2CS_0050-D-B I2C Mini modulen tillgänglig från ControlEverything.com.
https://www.controleverything.com/content/Pressur...
#include < Wire.h >
AMS5812 I2C adress är 0x78(120)
#define Addr 0x78
void setup()
{
Initialisera I2C kommunikation som MASTER
Wire.BEGIN();
Initialisera seriell kommunikation, ange baudvärde = 9600
Serial.BEGIN(9600);
Delay(300);
}
void loop()
{
unsigned int data [4].
Delay(500);
Begäran 4 byte data
Wire.requestFrom (Addr, 4);
Läs 4 byte data
Tryck msb, tryck lsb, temp msb, temp lsb
om (Wire.available() == 4)
{
data [0] = Wire.read();
data [1] = Wire.read();
data [2] = Wire.read();
data [3] = Wire.read();
}
Konvertera data
flyta tryck = ((data [0] & 0xFF) * 256 + (data [1] & 0xFF));
float temp = ((data [2] & 0xFF) * 256 + (data [3] & 0xFF));
Tryck = ((pressure-3277.0) / ((26214.0) / 10,0)) - 5.0;
flyta cTemp = ((temp-3277.0) / ((26214.0) / 110.0)) - 25,0;
flyta fTemp = (cTemp * 1,8) + 32;
Utdata till seriell monitor
Serial.Print ("tryck:");
Serial.Print(Pressure);
Serial.println ("PSI");
Serial.Print ("temperaturen i Celsius:");
Serial.Print(cTemp);
Serial.println ("C").
Serial.Print ("temperaturen i Fahrenheit:");
Serial.Print(fTemp);
Serial.println "F".
Delay(500);
}