Stap 3: Code:
De java-code voor PCA9536 kan worden gedownload van onze github archief-ControlEverythingCommunity
Hier is de link voor hetzelfde:
https://github.com/ControlEverythingCommunity/PCA9...
Het gegevensblad van PCA9536 kan hier worden gevonden:
https://S3.amazonaws.com/controleverything.Media/c...
We hebben pi4j bibliotheek voor java code gebruikt, de stappen te installeren pi4j op de raspberry pi is hier beschreven:
U kunt ook de code kopiëren vanaf hier, het wordt als volgt gegeven:
Gedistribueerd met een licentie van de vrije wil.
Gebruik het elke manier wilt u, op de winst of het gratis, mits het past in de licenties van de bijbehorende werken.
PCA9536
Deze code is ontworpen om te werken met de PCA9536_I2CIO I2C Mini Module beschikbaar vanaf ControlEverything.com.
https://www.controleverything.com/content/Digital...
importeren van com.pi4j.io.i2c.I2CBus;
importeren van com.pi4j.io.i2c.I2CDevice;
importeren van com.pi4j.io.i2c.I2CFactory;
importeren van java.io.IOException;
openbare klasse PCA9536
{
openbare statische nietige leiding (Koord args[]) gooit uitzondering
{
I2C bus maken
I2CBus Bus = I2CFactory.getInstance(I2CBus.BUS_1);
Krijg I2C apparaat, PCA9536 I2C adres is 0x41(65)
I2CDevice apparaat = Bus.getDevice(0x41);
Selecteer Configuratie register
Alle pinnen geconfigureerd als input
Device.write (0x03, (byte) 0xFF);
Output naar het scherm
System.out.printf ("alle pinnen staat zijn hoge %n");
Thread.Sleep(500);
Lees 1 byte van de gegevens
[] bytegegevens = nieuwe byte [1];
gegevens [0] = (byte)device.read(0x00);
De gegevens converteren naar 4-bits
int data1 = (gegevens [0] & 0x0F);
for (int i = 0; ik < 4; i ++)
{
Als ((data1 & ((int)Math.pow (2, i))) == 0)
{
System.out.printf ("I/o-Pin %d staat is lage %n", ik);
}
anders
{
System.out.printf ("I/o-Pin %d staat is hoog %n", ik);
Thread.Sleep(500);
}
}
}
}