Étape 3: Code
Le code java pour TMP112 peut être téléchargé depuis notre dépôt github-ControlEverythingCommunity
Voici le lien pour la même chose :
https://github.com/ControlEverythingCommunity/tmp1...
Le datasheet du TMP112 peut être trouvé ici :
http://www.TI.com/lit/DS/sbos473e/sbos473e.pdf
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.
TMP112
Copiez le code suivant est conçu pour fonctionner avec le Module TMP112_I2CS I2C Mini, disponible de ControlEverything.com
. / / https://www.controleverything.com/content/Tempera...
import com.pi4j.io.i2c.I2CBus ;
import com.pi4j.io.i2c.I2CDevice ;
import com.pi4j.io.i2c.I2CFactory ;
import java.io.IOException ;
public class TMP112
{
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, TMP112I2C adresse est 0x48(72)
Dispositif de I2CDevice = bus.getDevice(0x48) ;
Byte [] config = new ubyte [2] ;
Mode de Conversion continue, résolution 12 bits, file d’attente faute est 1
config [0] = (octet) 0 x 60 ;
Polarité faible, Thermostat en mode comparateur, mode d’arrêt désactive
config [1] = (octet) 0xA0 ;
Écrire la config pour vous inscrire 0x01(1)
Device.Write (0 x 01, config, 0, 2) ;
Thread.Sleep(500) ;
Lisez d’abord 2 octets des données d’adresse 0x00(0), msb
données de Byte [] = new ubyte [2] ;
Device.Read (0 x 00, données, 0, 2) ;
Convertir des données
int temp = (((data [0] & 0xFF) * 256) + (données [1] & 0xFF)) / 16 ;
if(Temp > 2047)
{
Temp = 4096 ;
}
double MTET = temp * 0,0625 ;
double fTemp = MTET * 1.8 + 32 ;
Sortie à l’écran
System.out.printf ("température en degrés Celsius est : %.2f C %n", PMTET) ;
System.out.printf ("température en Fahrenheit est : %.2f F %n", fTemp) ;
}
}