Stap 3: Code:
De code van de arduino voor AMS5812_0050-D-B kan worden gedownload van onze github archief-ControlEverythingCommunity
Hier is de link voor hetzelfde:
https://github.com/ControlEverythingCommunity/AMS5...
Het gegevensblad van AMS5812_0050-D-B kan hier worden gevonden:
https://S3.amazonaws.com/controleverything.Media/c...
We nemen de bibliotheek Wire.h om de I2c communicatie van de sensor met de Arduino board.
U kunt ook de code kopiëren vanaf hier, het wordt als volgt gegeven:
Gedistribueerd met een licentie van de vrije wil.
Gebruik het elke manier wilt u, op de winst of het gratis, mits het past in de licenties van de bijbehorende werken.
AMS5812
Deze code is ontworpen om te werken met de AMS5812_I2CS_0050-D-B I2C Mini Module beschikbaar vanaf ControlEverything.com.
https://www.controleverything.com/content/Pressur...
#include < Wire.h >
AMS5812 I2C adres is 0x78(120)
#define Addr 0x78
VOID Setup
{
I2C communicatie als MASTER initialiseren
Wire.begin();
Initialiseren van seriële communicatie, set baud-rate = 9600
Serial.begin(9600);
delay(300);
}
void loop
{
unsigned int gegevens [4];
delay(500);
4 bytes aan gegevens aanvragen
Wire.requestFrom (Addr, 4);
Lees 4 bytes aan gegevens
Druk temp lsb, msb, druk lsb, msb temp
Als (Wire.available() == 4)
{
gegevens [0] = Wire.read();
gegevens [1] = Wire.read();
gegevens [2] = Wire.read();
gegevens [3] = Wire.read();
}
De gegevens converteren
zweven druk = ((gegevens [0] & 0xFF) * 256 + (gegevens [1] & 0xFF));
float temp = ((gegevens [2] & 0xFF) * 256 + (gegevens [3] & 0xFF));
Druk = ((pressure-3277.0) / ((26214.0) / 10.0)) - 5.0;
zweven cTemp = ((temp-3277.0) / ((26214.0) / 110.0)) - 25.0;
zweven fTemp = (cTemp * 1.8) + 32;
Uitvoergegevens naar seriële monitor
Serial.Print ("druk:");
Serial.Print(Pressure);
Serial.println ("PSI");
Serial.Print ("temperatuur in Celsius:");
Serial.Print(cTemp);
Serial.println ("C");
Serial.Print ("temperatuur in Fahrenheit:");
Serial.Print(fTemp);
Serial.println ("F");
delay(500);
}