Микросхема MCP23017

GPIO — это набор входов/выходов общего назначения, с помощью которых микроконтроллер может управлять внешними устройствами и принимать от них сигналы. В одном из первых уроков мы подключали к Ардуино светодиод, и делали это как раз при помощи GPIO.

Ардуино Уно и её более мелкие собратья имеют 20 штук GPIO контактов, которых хватает для большинства DIY проектов. У версии Mega и того больше — 54. А вот у популярной WiFi платы ESP8266, особенно у версии 01S — свободных контактов крайне мало — их вообще всего 4. Как же быть, если нам не хватает контактов для подключения нужной периферии?

Есть разные способы, которые зависят от особенностей подключаемых устройств. Например, можно применить микросхему дешифратора или сдвиговые регистры. Можно даже соединить вместе несколько микроконтроллерных плат по одноранговой схеме или по схеме ведущий-ведомый, чтобы получить любое количество доступных контактов.

А ещё для увеличения GPIO существуют специальные микросхемы. На этом уроке мы будет работать с модулем расширения GPIO от RobotClass как раз на одной из таких микросхем — MCP23017.

Расширитель GPIO ROC

Модуль умеет работать как с напряжением 3,3В, так и 5В. Так что его можно использовать в связке с разного рода платами Ардуино, а также с stm32, esp8266, esp32 и другими современными микроконтроллерами.

В качестве примера, увеличим число GPIO контактов у самой обычной платы Ардуино Уно. Попробуем применить модуль MCP23017 и для передачи сигнала (OUTPUT), и для чтения (INPUT).


Изменено:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.