Оглавление:

Raspberry Pi - PCA9536 Учебное пособие по расширителю ввода / вывода по Java: 4 шага
Raspberry Pi - PCA9536 Учебное пособие по расширителю ввода / вывода по Java: 4 шага

Видео: Raspberry Pi - PCA9536 Учебное пособие по расширителю ввода / вывода по Java: 4 шага

Видео: Raspberry Pi - PCA9536 Учебное пособие по расширителю ввода / вывода по Java: 4 шага
Видео: Учебное пособие по датчику температуры Raspberry Pi MCP9808 на языке Python 2024, Июль
Anonim
Image
Image

PCA9536 - это 8-контактное устройство CMOS, которое обеспечивает 4-битное расширение универсального параллельного ввода / вывода (GPIO) для приложений с шиной I2C / SMBus. Он состоит из 4-битного регистра конфигурации, служащего для выбора входа или выхода, 4-битного регистра порта ввода, 4-битного регистра порта вывода и 4-битного регистра инверсии полярности, активного HIGH или активного LOW. Вот его демонстрация с Raspberry Pi с использованием кода Java.

Шаг 1: Что вам нужно..

Что вам нужно..!!
Что вам нужно..!!

1. Raspberry Pi

2. PCA9536

ССЫЛКА:

3. Кабель I²C

ССЫЛКА:

4. I²C Shield для Raspberry Pi

ССЫЛКА:

5. Кабель Ethernet.

Шаг 2: Подключения:

Подключения
Подключения
Подключения
Подключения
Подключения
Подключения
Подключения
Подключения

Возьмите щит I2C для raspberry pi и осторожно наденьте его на контакты gpio raspberry pi.

Затем подключите один конец кабеля I2C к датчику PCA9536, а другой конец - к экрану I2C.

Также подключите кабель Ethernet к Pi, или вы можете использовать модуль Wi-Fi.

Подключения показаны на картинке выше.

Шаг 3: Код:

Код
Код

Java-код для PCA9536 можно скачать из нашего репозитория github - Dcube Store.

Вот ссылка на то же самое:

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

Мы использовали библиотеку pi4j для java-кода, шаги по установке pi4j на raspberry pi описаны здесь:

pi4j.com/install.html

Вы также можете скопировать код отсюда, он выглядит следующим образом:

// Распространяется по свободной лицензии.

// Используйте его как хотите, для получения прибыли или бесплатно, при условии, что он соответствует лицензиям на связанные с ним работы.

// PCA9536

// Этот код разработан для работы с мини-модулем PCA9536_I2CIO I2C, доступным на ControlEverything.com.

//

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

публичный класс PCA9536

{

public static void main (String args ) выдает исключение

{

// Создаем шину I2C

Шина I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);

// Получение устройства I2C, адрес I2C PCA9536 0x41 (65)

Устройство I2CDevice = Bus.getDevice (0x41);

// Выбираем регистр конфигурации

// Все контакты настроены как входы

device.write (0x03, (байт) 0xFF);

// Вывод на экран

System.out.printf ("Состояние всех контактов ВЫСОКОЕ% n");

Thread.sleep (500);

// Читаем 1 байт данных

byte data = новый байт [1];

данные [0] = (байт) device.read (0x00);

// Преобразуем данные в 4-битные

int data1 = (данные [0] & 0x0F);

для (int я = 0; я <4; я ++)

{

если ((data1 & ((int) Math.pow (2, i))) == 0)

{

System.out.printf ("Состояние контакта ввода-вывода% d - НИЗКОЕ% n", i);

}

еще

{

System.out.printf ("Состояние контакта ввода-вывода% d - ВЫСОКОЕ% n", i);

Thread.sleep (500);

}

}

}

}

Шаг 4: Приложения:

PCA9536 может использоваться как расширитель ввода / вывода. Это простое решение, когда требуется дополнительный ввод / вывод. Обычно он используется в системах, которые требуют расширения для включения переключателей питания ACPI, датчиков, кнопок, светодиодов, вентиляторов и т. Д.

Рекомендуемые: