Подключение кнопок и реле к Raspberry Pi Zero
Ну что ж, к уже установленному ЖК-дисплею осталось добавить кнопки, чтобы можно было управлять устройством на Raspberry Pi Zero без клавиатуры и монитора, а также реле, чтобы Raspberry Pi Zero, в свою очередь, управляло питанием чего-либо. Давайте рассмотрим подключение кнопок и реле к Raspberry Pi Zero. Для остальных разновидностей Raspberry Pi всё будет то же самое.
Ну с кнопками всё понятно. Выводы GPIO17 и GPIO27 (распиновку см. тут) подтягиваем резисторами 10к к питанию +3.3В и между этими выводами и землёй ставим нормально разомкнутые кнопки.
В скрипте Python пишем
GPIO.setmode(GPIO.BCM) # Устанавливаем режим нумерации пинов
GPIO.setup([17,27], GPIO.IN)
И дальше мы можем проверять состояние этих кнопок (например, подключенной к GPIO17):
Есть ещё у меня такая вот штуковина:
Это реле, которое позволяет управлять высоким напряжением. С виду всё просто как мычание коровы: подключаешь «землю», +5В и управляешь устройством напряжением на входе IN.
Соответственно, на моей малинке остался ещё свободным выход GPIO22. К нему и подключим управляющий вход реле. А в скрипте пропишем:
И будем управлять релюхой:
А не тут-то было!!!
Как и написано в отзывах к некоторым статьям по подключению данного реле, релюха включается, когда программа запускается и выключается только когда программа завершает работу. Что бы я ни подавал на 22-ой порт, ничего не происходило, хотя вольтметр показывал изменение напряжения от 0 до 3,3В. Что бы это значило? Вспоминаем, что GPIO на Raspberry работает с логическими уровнями 3,3В и всё это наводит на мысль, что надо согласовывать этот уровень с 5-вольтовым реле. Вот сваял из того, что было под рукой:
Подключаем к «малинке» и ВУАЛЯ! Всё работает! Релюха щёлкает, зелёный светодиодик то зажигается, то гаснет! Ура, мы реализовали подключение кнопок и реле к Raspberry Pi Zero!