Оглавление:
Видео: Raspberry Pi - PCA9536 Учебное пособие по расширителю ввода / вывода по Java: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
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, датчиков, кнопок, светодиодов, вентиляторов и т. Д.
Рекомендуемые:
Универсальная печатная плата расширения ввода / вывода для управления многими лампами Nixie с помощью I2C: 9 шагов (с изображениями)
Универсальная печатная плата расширителя ввода / вывода для управления многими лампами Nixie с помощью I2C: В настоящее время существует большой интерес к воплощению в жизнь старинных ламп Nixie. На рынке доступно множество комплектов часов с трубкой никси. Оказалось, что даже шла оживленная торговля старинными русскими никси-лампами. Также здесь, на Instructables, там
Raspberry Pi - TSL45315 Датчик внешней освещенности Учебное пособие по Java: 4 шага
Raspberry Pi - TSL45315 Датчик внешней освещенности Учебное пособие по Java: TSL45315 - цифровой датчик внешней освещенности. Это приблизительно соответствует реакции человеческого глаза в различных условиях освещения. Устройства имеют три выбираемых времени интегрирования и обеспечивают прямой 16-битный выходной сигнал люкс через интерфейс шины I2C. Устройство со
Исправление передней панели ввода-вывода Dell 990: 5 шагов
Исправление передней панели ввода-вывода Dell 990: ошибка кабеля ввода-вывода на передней панели dell 990 раздражает, поэтому давайте ее исправим
ПЛК Arduino 32 ввода-вывода + конечный автомат + SCADA или HMI: 8 шагов
ПЛК Arduino 32 ввода / вывода + конечный автомат + SCADA или HMI: множество способов программирования, управления и наблюдения за промышленной системой с помощью arduino
Расширитель ввода-вывода для ESP32, ESP8266 и Arduino: 24 шага
Расширитель ввода-вывода для ESP32, ESP8266 и Arduino: хотите ли вы расширить ввод-вывод вашего ESP32, ESP8266 или Arduino? А вы не задумывались о возможности 16 новых GPIO, которыми можно будет управлять с помощью шины I2C? Что ж, сегодня я собираюсь познакомить вас с расширителем GPIO MCP23016. Кроме того, я