Tryck mätning med hjälp av CPS120 och Arduino Nano (3 / 4 steg)
Steg 3: Koden för mätning:
Kan börja med arduino koden nu.
När du använder modulen sensor med arduino, inkluderar vi Wire.h bibliotek. "Wire" bibliotek innehåller funktioner som underlättar i2c kommunikationen mellan sensorn och arduino styrelsen.
Hela arduino koden ges nedan för att underlätta för användaren:
#include < Wire.h >
CPS120 I2C adress är 0x28(40)
#define Addr 0x28
void setup()
{
Initialisera I2C kommunikation
Wire.BEGIN();
Initialisera seriell kommunikation, ange baudvärde = 9600
Serial.BEGIN(9600);
}
void loop()
{
unsigned int data [4].
Starta I2C-överföring
Wire.beginTransmission(Addr);
Begäran 4 byte data
Wire.requestFrom (Addr, 4);
Läs 4 byte data
Tryck msb, tryck lsb, temp msb, temp lsb
IF(Wire.available() == 4)
{
data [0] = Wire.read();
data [1] = Wire.read();
data [2] = Wire.read();
data [3] = Wire.read();
Delay(300);
Stoppa I2C sändningen
Wire.endTransmission();
Konvertera data till 14 bitar
flyta tryck = (((0x3F & data [0]) * 265 + data[1]) / 16384.0) * 90,0) + 30,0;
flyta cTemp = (((data [2] * 256) + (data [3] & 0xFC)) / 4.0) * (165.0 / 16384.0)) - 40,0;
flyta fTemp = cTemp * 1,8 + 32.
Utdata till seriell monitor
Serial.Print ("trycket är:");
Serial.Print(Pressure);
Serial.println ("kPa").
Serial.Print ("temperaturen i Celsius:");
Serial.Print(cTemp);
Serial.println ("C").
Serial.Print ("temperaturen i Fahrenheit:");
Serial.Print(fTemp);
Serial.println "F".
Delay(500);
}
}
I tråd bibliotek används Wire.write() och Wire.read() för att skriva kommandon och läsa sensor utdata.
Serial.Print() och Serial.println() används för att visa utdata från sensorn på serial bildskärmen av Arduino IDE.
Produktionen av sensorn visas i bilden ovan.