Étape 3: Code :
Le code java pour A1332 peut être téléchargé depuis notre dépôt github-ControlEverythingCommunity
Voici le lien pour la même chose :
https://github.com/ControlEverythingCommunity/A133...
Le datasheet du A1332 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.
A1332
Copiez le code suivant est conçu pour fonctionner avec le Module A1332_I2CS I2C Mini, disponible de ControlEverything.com.
https://www.controleverything.com/content/Hall-EF...
import com.pi4j.io.i2c.I2CBus ;
import com.pi4j.io.i2c.I2CDevice ;
import com.pi4j.io.i2c.I2CFactory ;
import java.io.IOException ;
public class A1332
{
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 A1332 adresse est 0x0C(12)
Dispositif de I2CDevice = Bus.getDevice(0x0C) ;
Thread.Sleep(500) ;
Lire les 2 octets de données
raw_adc msb, raw_adc lsb
données de Byte [] = new ubyte [2] ;
Device.Read (données, 0, 2) ;
Vérification de données valides
tandis que ((data [0] == 0) & & (données [1] == 0))
{
Device.Read (données, 0, 2) ;
}
Convertissez les données en 12 bits
int raw_adc = ((data [0] & 0x0F) * 256 + (données [1] & 0xFF)) ;
double angle = (raw_adc / 4096.0) * 360 ;
Données de sortie à l’écran
System.out.printf ("Angle magnétique : %.2f %n », angle) ;
}
}