Innholdsfortegnelse:
Video: Raspberry Pi - PCA9536 Input/Output Expander Java Opplæring: 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
PCA9536 er en 8-pinners CMOS-enhet som gir 4 bits parallell inngang/utgang (GPIO) generell bruk for I2C-buss/SMBus-applikasjoner. Den består av et 4-bits konfigurasjonsregister for å tjene formålet med input eller output-valg, 4-bit Input Port-register, 4-bit Output Port-register og et 4-bits Polarity Inversion-register aktivt HIGH eller aktiv LOW-operasjon. Her er demonstrasjonen med bringebær pi ved hjelp av java -kode.
Trinn 1: Hva du trenger..
1. Bringebær Pi
2. PCA9536
LINK:
3. I²C -kabel
LINK:
4. I²C Shield for Raspberry Pi
LINK:
5. Ethernet -kabel
Trinn 2: Tilkoblinger:
Ta et I2C -skjold for bringebærpi og skyv det forsiktig over gpio -pinnene til bringebærpi.
Koble deretter den ene enden av I2C -kabelen til PCA9536 -sensoren og den andre enden til I2C -skjoldet.
Koble også Ethernet -kabelen til pi eller du kan bruke en WiFi -modul.
Tilkoblinger er vist på bildet ovenfor.
Trinn 3: Kode:
Java-koden for PCA9536 kan lastes ned fra vårt github-depot- Dcube Store
Her er lenken til det samme:
github.com/DcubeTechVentures/PCA9536/blob/master/Java/PCA9536.java
Vi har brukt pi4j bibliotek for java -kode, trinnene for å installere pi4j på bringebær pi er beskrevet her:
pi4j.com/install.html
Du kan også kopiere koden herfra, den er gitt som følger:
// Distribuert med en fri viljelisens.
// Bruk den slik du vil, profitt eller gratis, forutsatt at den passer inn i lisensene til de tilhørende verkene.
// PCA9536
// Denne koden er designet for å fungere med PCA9536_I2CIO I2C Mini Module tilgjengelig fra ControlEverything.com.
//
importer com.pi4j.io.i2c. I2CBus;
importer com.pi4j.io.i2c. I2CDenhet;
importer com.pi4j.io.i2c. I2CFactory;
importer java.io. IOException;
offentlig klasse PCA9536
{
public static void main (String args ) kaster Unntak
{
// Lag I2C -buss
I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);
// Få I2C -enhet, PCA9536 I2C -adressen er 0x41 (65)
I2CDevice -enhet = Bus.getDevice (0x41);
// Velg konfigurasjonsregister
// Alle pinner konfigurert som innganger
device.write (0x03, (byte) 0xFF);
// Utgang til skjermen
System.out.printf ("Alle Pins State er HØY %n");
Tråd. Sover (500);
// Les 1 byte data
byte data = ny byte [1];
data [0] = (byte) device.read (0x00);
// Konverter dataene til 4-bits
int data1 = (data [0] & 0x0F);
for (int i = 0; i <4; i ++)
{
hvis ((data1 & ((int) Math.pow (2, i))) == 0)
{
System.out.printf ("I/O Pin %d State is LOW %n", i);
}
ellers
{
System.out.printf ("I/O Pin %d State is HIGH %n", i);
Tråd. Sover (500);
}
}
}
}
Trinn 4: Søknader:
PCA9536 kan brukes som en I/O -ekspander. Det gir en enkel løsning når det er nødvendig med ytterligere input/output. Vanligvis brukes den i systemer som krever utvidelse for ACPI -strømbrytere, sensorer, trykknapper, lysdioder, vifter, etc.
Anbefalt:
Raspberry Pi - TMD26721 Infrarød digital nærhetsdetektor Java Opplæring: 4 trinn
Raspberry Pi-TMD26721 Infrarød digital nærhetsdetektor Java Opplæring: TMD26721 er en infrarød digital nærhetsdetektor som gir et komplett nærhetsdeteksjonssystem og digital grensesnittlogikk i en enkelt 8-pinners overflatemonteringsmodul. Nærhetsdeteksjonen inkluderer forbedret signal-til-støy og nøyaktighet. En proff
Raspberry Pi - ADXL345 3 -akset akselerometer Java Opplæring: 4 trinn
Raspberry Pi-ADXL345 3-akset akselerometer Java-opplæring: ADXL345 er et lite, tynt, ultralavt, 3-akset akselerometer med høy oppløsning (13-biters) måling på opptil ± 16 g. Digitale utdata er formatert som 16-biters tokomplement og er tilgjengelig via I2 C digitalt grensesnitt. Den måler
Raspberry Pi MCP9803 Temperatursensor Java Opplæring: 4 trinn
Raspberry Pi MCP9803 Temperatursensor Java Opplæring: MCP9803 er en 2-leders temperatursensor med høy nøyaktighet. De er utformet med brukerprogrammerbare registre som letter temperaturfølere. Denne sensoren er egnet for svært sofistikert flersonet temperaturovervåkingssystem. Her
Raspberry Pi MCP9805 Temperatursensor Java Opplæring: 4 trinn
Raspberry Pi MCP9805 Temperatursensor Java Opplæring: MCP9805 er en minnemodul digital temperatursensor. Det er integrert med brukerprogrammerbare registre som gir fleksibilitet for temperaturfølende applikasjoner. Denne sensoren er designet for å bli integrert i mobilplattformens minnemodulstem
Raspberry Pi - MPL3115A2 Java Precision Altimeter Sensor Java Opplæring: 4 trinn
Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Java Tutorial: MPL3115A2 bruker en MEMS -trykksensor med et I2C -grensesnitt for å gi nøyaktige trykk-/høyde- og temperaturdata. Sensorutgangene digitaliseres med en høyoppløselig 24-biters ADC. Intern behandling fjerner kompensasjonsoppgaver fra