Étape 3: Code :
Le code d’arduino de SHT30 peut être téléchargé depuis notre dépôt github-ControlEverythingCommunity
Voici le lien pour la même chose :
https://github.com/ControlEverythingCommunity/SHT3...
Le datasheet du SHT30 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.
SHT30
Copiez le code suivant est conçu pour fonctionner avec le Module SHT30_I2CS I2C Mini, disponible de ControlEverything.com.
https://www.controleverything.com/content/humidit...
#include < Wire.h >
I2C SHT30 adresse est 0x44(68)
#define Addr 0 x 44
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 [6] ;
Démarrer la Transmission I2C
Wire.beginTransmission(Addr) ;
Envoyer commande mesure
Wire.Write(0x2C) ;
Wire.Write(0x06) ;
Interrompre la transmission I2C
Wire.endTransmission() ;
Delay(500) ;
Demande 6 octets de données
Wire.requestFrom (Addr, 6) ;
Lire les 6 octets de données
msb MTET, MTET lsb, crc MTET, humidité msb, lsb de l’humidité, humidité crc
Si (Wire.available() == 6)
{
Data [0] = Wire.read() ;
données [1] = Wire.read() ;
données [2] = Wire.read() ;
données [3] = Wire.read() ;
données [4] = Wire.read() ;
données [5] = Wire.read() ;
}
Convertir les données
flotteur MTET = (((data [0] * 256,0) + data[1]) * 175) / 65535.0) - 45 ;
float fTemp = (MTET * 1,8) + 32 ;
flotteur d’humidité = (((données [3] * 256,0) + data[4]) * 100) / 65535.0) ;
Données de sortie à serial monitor
Serial.Print ("Humidité Relative:") ;
Serial.Print(Humidity) ;
Serial.println (« % RH ») ;
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) ;
}