Étape 3: Code :
Le code de l’arduino pour AMS5812_0050-D-B peut être téléchargé depuis notre dépôt github-ControlEverythingCommunity
Voici le lien pour la même chose :
https://github.com/ControlEverythingCommunity/AMS5...
Le datasheet du AMS5812_0050-D-B peut être trouvé ici :
https://S3.amazonaws.com/controleverything.Media/c...
Nous incluons la bibliothèque Wire.h de faciliter la communication I2c du capteur avec la carte Arduino.
Vous pouvez également copier le code d’ici, il est affecté comme suit :
Distribué avec une licence libre-arbitre.
Utilisez-le toute façon vous voulez, Profitez ou libre, autant il s’intègre dans les licences de ses ouvrages connexes.
AMS5812
Copiez le code suivant est conçu pour fonctionner avec le Module Mini I2C, AMS5812_I2CS_0050-D-B disponible de ControlEverything.com.
https://www.controleverything.com/content/pressur...
#include < Wire.h >
I2C AMS5812 adresse est 0x78(120)
#define Addr 0 x 78
void setup()
{
Initialiser la communication I2C maître
Wire.Begin() ;
Initialiser la communication série, réglée en bauds = 9600
Serial.Begin(9600) ;
Delay(300) ;
}
void loop()
{
unsigned int données [4] ;
Delay(500) ;
Demande 4 octets de données
Wire.requestFrom (Addr, 4) ;
Lire les 4 octets de données
msb de pression, pression lsb, temp msb lsb temp
Si (Wire.available() == 4)
{
Data [0] = Wire.read() ;
données [1] = Wire.read() ;
données [2] = Wire.read() ;
données [3] = Wire.read() ;
}
Convertir les données
flotteur de pression = ((data [0] & 0xFF) * 256 + (données [1] & 0xFF)) ;
temp de flotteur = ((données [2] & 0xFF) * 256 + (données [3] & 0xFF)) ;
pression = ((pressure-3277.0) / ((26214.0) / 10.0)) - 5,0 ;
flotteur MTET = ((temp-3277.0) / ((26214.0) / 110,0)) - 25,0 ;
float fTemp = (MTET * 1,8) + 32 ;
Données de sortie à serial monitor
Serial.Print ("pression:") ;
Serial.Print(Pressure) ;
Serial.println ("PSI") ;
Serial.Print ("température en degrés Celsius:") ;
Serial.Print(cTemp) ;
Serial.println ("C") ;
Serial.Print ("température en degrés Fahrenheit:") ;
Serial.Print(fTemp) ;
Serial.println ("F") ;
Delay(500) ;
}