Sommario:

Raspberry Pi - Tutorial Java di espansione input/output PCA9536: 4 passaggi
Raspberry Pi - Tutorial Java di espansione input/output PCA9536: 4 passaggi

Video: Raspberry Pi - Tutorial Java di espansione input/output PCA9536: 4 passaggi

Video: Raspberry Pi - Tutorial Java di espansione input/output PCA9536: 4 passaggi
Video: Raspberry Pi PCA9536 Digital I/O Buzzer Java Tutorial 2024, Dicembre
Anonim
Image
Image

Il PCA9536 è un dispositivo CMOS a 8 pin che fornisce 4 bit di espansione GPIO (General Purpose Parallel Input/Output) per applicazioni I2C-bus/SMBus. Consiste in un registro di configurazione a 4 bit per la selezione dell'ingresso o dell'uscita, un registro della porta di ingresso a 4 bit, un registro della porta di uscita a 4 bit e un registro di inversione della polarità a 4 bit attivo ALTO o attivo BASSO. Ecco la sua dimostrazione con il raspberry pi usando il codice java.

Passaggio 1: ciò di cui hai bisogno.

Quello di cui hai bisogno..!!
Quello di cui hai bisogno..!!

1. Lampone Pi

2. PCA9536

LINK:

3. Cavo I²C

LINK:

4. Scudo I²C per Raspberry Pi

LINK:

5. Cavo Ethernet

Passaggio 2: connessioni:

Connessioni
Connessioni
Connessioni
Connessioni
Connessioni
Connessioni
Connessioni
Connessioni

Prendi uno scudo I2C per lampone pi e spingilo delicatamente sui pin gpio di lampone pi.

Quindi collegare un'estremità del cavo I2C al sensore PCA9536 e l'altra estremità allo schermo I2C.

Collega anche il cavo Ethernet al pi oppure puoi utilizzare un modulo WiFi.

I collegamenti sono mostrati nell'immagine sopra.

Passaggio 3: codice:

Codice
Codice

Il codice java per PCA9536 può essere scaricato dal nostro repository github- Dcube Store

Ecco il link per lo stesso:

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

Abbiamo usato la libreria pi4j per il codice java, i passaggi per installare pi4j su raspberry pi sono descritti qui:

pi4j.com/install.html

Puoi anche copiare il codice da qui, è fornito come segue:

// Distribuito con una licenza libera.

// Usalo come vuoi, a scopo di lucro o gratuito, a condizione che rientri nelle licenze delle opere associate.

//PCA9536

// Questo codice è progettato per funzionare con il Mini Modulo I2C PCA9536_I2CIO disponibile da ControlEverything.com.

//

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

classe pubblica PCA9536

{

public static void main(String args) genera un'eccezione

{

// Crea bus I2C

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

// Ottieni il dispositivo I2C, l'indirizzo I2C PCA9536 è 0x41(65)

Dispositivo I2CDevice = Bus.getDevice(0x41);

// Seleziona il registro di configurazione

// Tutti i pin configurati come input

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

// Uscita sullo schermo

System.out.printf("Tutti gli stati dei pin sono ALTI %n");

Thread.sleep(500);

// Legge 1 byte di dati

byte dati = nuovo byte[1];

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

// Converti i dati in 4-bit

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

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

{

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

{

System.out.printf("Lo stato del pin I/O %d è BASSO %n", i);

}

altro

{

System.out.printf("Lo stato del pin I/O %d è ALTO %n", i);

Thread.sleep(500);

}

}

}

}

Passaggio 4: applicazioni:

PCA9536 può essere impiegato come espansore I/O. Fornisce una soluzione semplice quando sono richiesti input/output aggiuntivi. Solitamente viene impiegato in sistemi che richiedono espansione per interruttori di alimentazione ACPI, sensori, pulsanti, LED, ventole, ecc.

Consigliato: