Étape 3: Code :
Le code java pour SI7006-A20 peut être téléchargé depuis notre dépôt github-ControlEverythingCommunity
Voici le lien pour la même chose :
https://github.com/ControlEverythingCommunity/SI70...
Le datasheet du SI7006-A20 peut être trouvé ici :
https://S3.amazonaws.com/controleverything.Media/c...
Nous avons utilisé pi4j bibliothèque de code java, les étapes pour installer pi4j sur pi framboise est décrit ici :
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.
SI7006-A20
Ce code est conçu pour fonctionner avec le SI7006-A20_I2CS I2C Mini Module disponible à ControlEverything.com.
https://www.controleverything.com/content/humidit...
import com.pi4j.io.i2c.I2CBus ;
import com.pi4j.io.i2c.I2CDevice ;
import com.pi4j.io.i2c.I2CFactory ;
import java.io.IOException ;
public class SI7006_A20
{
Public Shared Sub main (chaîne args[]) lève Exception
{
Créer le bus I2C
I2CBus Bus = I2CFactory.getInstance(I2CBus.BUS_1) ;
Obtenez le périphérique I2C, I2C SI7006_A20 adresse est 0x40(64)
Dispositif de I2CDevice = Bus.getDevice(0x40) ;
Envoyer la commande de mesure de humidité, NO HOLD MASTER
Device.Write((Byte)0xF5) ;
Thread.Sleep(500) ;
Lire les 2 octets de données de l’humidité
msb de l’humidité, humidité lsb
données de Byte [] = new ubyte [2] ;
Device.Read (données, 0, 2) ;
Convertir les données
double humidité = (((data [0] & 0xFF) * 256,0) + (données [1] & 0xFF)) * 125,0) / 65536.0) - 6 ;
Envoyer la commande de mesure de température, NO HOLD MASTER
Device.Write((Byte)0xF3) ;
Thread.Sleep(500) ;
Lire les 2 octets de données de température
msb Temp, temp lsb
Device.Read (données, 0, 2) ;
Convertir les données
double MTET = (((data [0] & 0xFF) * 256) + (données [1] & 0xFF)) * 175.72) / 65536.0) - 46.85 ;
double fTemp = MTET * 1.8 + 32 ;
Données de sortie à l’écran
System.out.printf ("hygrométrie : %.2f %% RH %n », humidité) ;
System.out.printf ("température en degrés Celsius : %.2f C %n", PMTET) ;
System.out.printf ("température en degrés Fahrenheit : %.2f F %n", fTemp) ;
}
}