INHOUDSOPGAWE:

Raspberry Pi - PCA9536 Invoer-/uitvoeruitbreider Java -tutoriaal: 4 stappe
Raspberry Pi - PCA9536 Invoer-/uitvoeruitbreider Java -tutoriaal: 4 stappe

Video: Raspberry Pi - PCA9536 Invoer-/uitvoeruitbreider Java -tutoriaal: 4 stappe

Video: Raspberry Pi - PCA9536 Invoer-/uitvoeruitbreider Java -tutoriaal: 4 stappe
Video: Raspberry Pi PCA9536 Temperature Sensor Python Tutorial 2024, November
Anonim
Image
Image

Die PCA9536 is 'n 8-pins CMOS-toestel wat 4 bisse algemene invoer/uitvoer (GPIO) uitbreiding vir algemene doeleindes bied vir I2C-bus/SMBus-toepassings. Dit bestaan uit 'n 4-bis konfigurasie register om die doel van invoer of uitset seleksie te dien, 4-bis Invoerpoort register, 4-bis Uitvoerpoort register en 'n 4-bis Polariteit Inversie register aktiewe HOOG of aktiewe LOW operasie. Hier is 'n demonstrasie van die framboos pi met behulp van Java -kode.

Stap 1: wat u nodig het..

Wat jy nodig het..!!
Wat jy nodig het..!!

1. Framboos Pi

2. PCA9536

SKAKEL:

3. I²C -kabel

SKAKEL:

4. I²C -skild vir Framboos Pi

LINK:

5. Ethernet -kabel

Stap 2: Verbindings:

Verbindings
Verbindings
Verbindings
Verbindings
Verbindings
Verbindings
Verbindings
Verbindings

Neem 'n I2C skild vir framboos pi en druk dit liggies oor die gpio penne van framboos pi.

Koppel dan die een kant van die I2C -kabel aan die PCA9536 -sensor en die ander kant aan die I2C -skild.

Koppel ook die Ethernet -kabel aan die pi, of u kan 'n WiFi -module gebruik.

Verbindings word op die foto hierbo getoon.

Stap 3: Kode:

Kode
Kode

Die java-kode vir PCA9536 kan afgelaai word vanaf ons github-bewaarplek- Dcube Store

Hier is die skakel vir dieselfde:

github.com/DcubeTechVentures/PCA9536/blob/master/Java/PCA9536.java

Ons het pi4j -biblioteek gebruik vir java -kode, die stappe om pi4j op framboos pi te installeer word hier beskryf:

pi4j.com/install.html

U kan die kode ook hiervandaan kopieer; dit word soos volg gegee:

// Versprei met 'n vrywillige lisensie.

// Gebruik dit op enige manier wat u wil, wins of gratis, mits dit in die lisensies van die gepaardgaande werke pas.

// PCA9536

// Hierdie kode is ontwerp om te werk met die PCA9536_I2CIO I2C Mini Module beskikbaar by ControlEverything.com.

//

invoer com.pi4j.io.i2c. I2CBus;

voer com.pi4j.io.i2c. I2CD -toestel in;

invoer com.pi4j.io.i2c. I2CFactory;

invoer java.io. IOException;

openbare klas PCA9536

{

openbare statiese leegte hoof (String argumente ) gooi uitsondering

{

// Skep I2C -bus

I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);

// Kry I2C -toestel, PCA9536 I2C -adres is 0x41 (65)

I2CDevice -toestel = Bus.getDevice (0x41);

// Kies konfigurasie register

// Alle penne gekonfigureer as insette

device.write (0x03, (byte) 0xFF);

// Uitvoer na die skerm

System.out.printf ("Alle pins se state is HOOG %n");

Draad.slaap (500);

// Lees 1 greep data

byte data = nuwe byte [1];

data [0] = (byte) device.read (0x00);

// Skakel die data om na 4-bis

int data1 = (data [0] & 0x0F);

vir (int i = 0; i <4; i ++)

{

as ((data1 & ((int) Math.pow (2, i))) == 0)

{

System.out.printf ("I/O Pin %d State is LOW %n", i);

}

anders

{

System.out.printf ("I/O Pin %d Staat is HOOG %n", i);

Draad.slaap (500);

}

}

}

}

Stap 4: Aansoeke:

PCA9536 kan gebruik word as 'n I/O -uitbreider. Dit bied 'n eenvoudige oplossing as ekstra invoer/uitset benodig word. Gewoonlik word dit gebruik in stelsels wat uitbreiding benodig vir ACPI -skakelaars, sensors, drukknoppies, LED's, waaiers, ens.

Aanbeveel: