Raspberry Pi A1332 Precision Hall - effekt vinkel sensorn Java Tutorial (3 / 4 steg)
Steg 3: kod:
Java-kod för A1332 kan hämtas från vår github repository-ControlEverythingCommunity
Här är länken för samma:
https://github.com/ControlEverythingCommunity/A133...
Databladet för A1332 kan hittas här:
https://s3.amazonaws.com/controleverything.Media/c...
Vi har använt pi4j bibliotek för java-kod, stegen för att installera pi4j på raspberry pi som beskrivs här:
Du kan också kopiera koden från här, det ges enligt följande:
Distribueras med en fri vilja licens.
Använda det något sätt du vill, vinst eller gratis, förutsatt att den passar i licenser av dess tillhörande arbeten.
A1332
Denna kod är utformad att fungera med A1332_I2CS I2C Mini modulen tillgänglig från 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;
allmän klass A1332
{
public static void main (String args[]) kastar undantag
{
Skapa I2C bussen
I2CBus buss = I2CFactory.getInstance(I2CBus.BUS_1);
Får I2C enheten, A1332 I2C adress är 0x0C(12)
I2CDevice device = Bus.getDevice(0x0C);
Thread.Sleep(500);
Läs 2 byte data
raw_adc msb, raw_adc lsb
byte [] data = nya byte [2].
Device.Read (data, 0, 2);
Kontroll av giltiga data
medan ((data [0] == 0) & & (data [1] == 0))
{
Device.Read (data, 0, 2);
}
Konvertera data till 12-bitar
int raw_adc = ((data [0] & 0x0F) * 256 + (data [1] & 0xFF));
dubbla vinkeln = (raw_adc / 4096.0) * 360;
Utdata till skärm
System.out.printf ("magnetiska vinkel: %.2f %n", vinkel);
}
}