![Raspberry Pi - PCA9536 Учебное пособие по Python для расширителя ввода / вывода: 4 шага Raspberry Pi - PCA9536 Учебное пособие по Python для расширителя ввода / вывода: 4 шага](https://i.howwhatproduce.com/images/010/image-27031-j.webp)
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:04
![Image Image](https://i.howwhatproduce.com/images/010/image-27031-2-j.webp)
![](https://i.ytimg.com/vi/XG1EJC5dSzM/hqdefault.jpg)
PCA9536 - это 8-контактное устройство CMOS, которое обеспечивает 4-битное расширение универсального параллельного ввода / вывода (GPIO) для приложений с шиной I2C / SMBus. Он состоит из 4-битного регистра конфигурации, служащего для выбора входа или выхода, 4-битного регистра порта ввода, 4-битного регистра порта вывода и 4-битного регистра инверсии полярности, активного HIGH или активного LOW. Вот его демонстрация с Raspberry Pi с использованием кода Python.
Шаг 1: Что вам нужно..
![Что вам нужно..!! Что вам нужно..!!](https://i.howwhatproduce.com/images/010/image-27031-3-j.webp)
1. Raspberry Pi
2. PCA9536
3. Кабель I²C
4. I²C Shield для Raspberry Pi
5. Кабель Ethernet.
Шаг 2: Подключения:
![Подключения Подключения](https://i.howwhatproduce.com/images/010/image-27031-4-j.webp)
![Подключения Подключения](https://i.howwhatproduce.com/images/010/image-27031-5-j.webp)
![Подключения Подключения](https://i.howwhatproduce.com/images/010/image-27031-6-j.webp)
![Подключения Подключения](https://i.howwhatproduce.com/images/010/image-27031-7-j.webp)
Возьмите щит I2C для raspberry pi и осторожно наденьте его на контакты gpio raspberry pi.
Затем подключите один конец кабеля I2C к датчику PCA9536, а другой конец - к экрану I2C.
Также подключите кабель Ethernet к Pi, или вы можете использовать модуль Wi-Fi.
Подключения показаны на картинке выше.
Шаг 3: Код:
![Код Код](https://i.howwhatproduce.com/images/010/image-27031-8-j.webp)
Код Python для PCA9536 можно загрузить из нашего репозитория github - DCUBE Store.
Вот ссылка
Мы использовали библиотеку SMBus для кода Python, шаги по установке SMBus на Raspberry Pi описаны здесь:
pypi.python.org/pypi/smbus-cffi/0.5.1
Вы также можете скопировать код отсюда, он выглядит следующим образом:
# Распространяется по свободной лицензии.
# Используйте его как хотите, для получения прибыли или бесплатно, при условии, что он соответствует лицензиям на связанные с ним работы.
# PCA9536
# Этот код предназначен для работы с мини-модулем PCA9536_I2CIO I2C #
импортировать smbus
время импорта
# Получить шину I2C
автобус = smbus. SMBus (1)
# Адрес PCA9536, 0x41 (65)
# Выбрать регистр конфигурации, 0x03 (03)
# 0xFF (255) Все выводы настроены как входы
bus.write_byte_data (0x41, 0x03, 0xFF)
# Вывод на экран
print "Состояние всех контактов ВЫСОКОЕ"
time.sleep (0,5)
# Адрес PCA9536, 0x41 (65)
# Считать данные обратно из 0x00 (00), 1 байт
данные = bus.read_byte_data (0x41, 0x00)
# Преобразовать данные в 4-битные
данные = (данные & 0x0F)
для i в диапазоне (0, 4):
если (данные & (2 ** i)) == 0:
print "I / O Pin% d State is LOW"% i
еще:
print "I / O Pin% d State is HIGH"% i
time.sleep (0,5)
Шаг 4: Приложения:
PCA9536 может использоваться как расширитель ввода / вывода. Это простое решение, когда требуется дополнительный ввод / вывод. Обычно он используется в системах, которые требуют расширения для включения переключателей питания ACPI, датчиков, кнопок, светодиодов, вентиляторов и т. Д.
Рекомендуемые:
Универсальная печатная плата расширения ввода / вывода для управления многими лампами Nixie с помощью I2C: 9 шагов (с изображениями)
![Универсальная печатная плата расширения ввода / вывода для управления многими лампами Nixie с помощью I2C: 9 шагов (с изображениями) Универсальная печатная плата расширения ввода / вывода для управления многими лампами Nixie с помощью I2C: 9 шагов (с изображениями)](https://i.howwhatproduce.com/images/002/image-5196-5-j.webp)
Универсальная печатная плата расширителя ввода / вывода для управления многими лампами Nixie с помощью I2C: В настоящее время существует большой интерес к воплощению в жизнь старинных ламп Nixie. На рынке доступно множество комплектов часов с трубкой никси. Оказалось, что даже шла оживленная торговля старинными русскими никси-лампами. Также здесь, на Instructables, там
Raspberry Pi - Учебное пособие по Python для датчика точного высотомера MPL3115A2: 4 шага
![Raspberry Pi - Учебное пособие по Python для датчика точного высотомера MPL3115A2: 4 шага Raspberry Pi - Учебное пособие по Python для датчика точного высотомера MPL3115A2: 4 шага](https://i.howwhatproduce.com/images/004/image-9994-j.webp)
Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: MPL3115A2 использует датчик давления MEMS с интерфейсом I2C для предоставления точных данных о давлении / высоте и температуре. Выходы датчиков оцифровываются 24-битным АЦП высокого разрешения. Внутренняя обработка удаляет задачи компенсации из
Исправление передней панели ввода-вывода Dell 990: 5 шагов
![Исправление передней панели ввода-вывода Dell 990: 5 шагов Исправление передней панели ввода-вывода Dell 990: 5 шагов](https://i.howwhatproduce.com/images/011/image-32599-j.webp)
Исправление передней панели ввода-вывода Dell 990: ошибка кабеля ввода-вывода на передней панели dell 990 раздражает, поэтому давайте ее исправим
ПЛК Arduino 32 ввода-вывода + конечный автомат + SCADA или HMI: 8 шагов
![ПЛК Arduino 32 ввода-вывода + конечный автомат + SCADA или HMI: 8 шагов ПЛК Arduino 32 ввода-вывода + конечный автомат + SCADA или HMI: 8 шагов](https://i.howwhatproduce.com/images/002/image-5415-22-j.webp)
ПЛК Arduino 32 ввода / вывода + конечный автомат + SCADA или HMI: множество способов программирования, управления и наблюдения за промышленной системой с помощью arduino
Расширитель ввода-вывода для ESP32, ESP8266 и Arduino: 24 шага
![Расширитель ввода-вывода для ESP32, ESP8266 и Arduino: 24 шага Расширитель ввода-вывода для ESP32, ESP8266 и Arduino: 24 шага](https://i.howwhatproduce.com/images/001/image-1738-66-j.webp)
Расширитель ввода-вывода для ESP32, ESP8266 и Arduino: хотите ли вы расширить ввод-вывод вашего ESP32, ESP8266 или Arduino? А вы не задумывались о возможности 16 новых GPIO, которыми можно будет управлять с помощью шины I2C? Что ж, сегодня я собираюсь познакомить вас с расширителем GPIO MCP23016. Кроме того, я