Модуль расширения портов MCP23017 - управляйте 16 портами ввода-вывода
MCP23017 - это программируемый 16-битный расширитель портов для управления внешними устройствами через интерфейс I2C. Он предоставляет два независимых банка входов/выходов (A и B) с возможностью настройки режима работы каждого порта отдельно.
MCP23017 может использоваться для контроля различных устройств, таких как светодиоды, кнопки, датчики и т.д. Все пины MCP23017 являются программируемыми входами или выходами, что позволяет контролировать до 16 устройств одновременно.
Пример кода на C++ для работы с MCP23017 через библиотеку Wire.h:
#include
#include
Adafruit_MCP23017 mcp;
void setup() {
Wire.begin();
mcp.begin(); // инициализация MCP23017
mcp.pinMode(0, INPUT); // настройка порта 0 на вход
mcp.pinMode(1, OUTPUT); // настройка порта 1 на выход
}
void loop() {
int input = mcp.digitalRead(0); // считывание значения с порта 0
if (input == HIGH) {
mcp.digitalWrite(1, HIGH); // установка высокого уровня на порте 1
} else {
mcp.digitalWrite(1, LOW); // установка низкого уровня на порте 1
}
}
В данном примере MCP23017 используется для считывания значения с порта 0 и установки соответствующего уровня на порте 1. Если на порту 0 сигнал высокий, то на порту 1 устанавливается высокий уровень, иначе - низкий уровень.
Таким образом, MCP23017 - это удобный и простой в использовании расширитель портов, который позволяет значительно расширить возможности управления внешними устройствами через центральный процессор.