Управление внешним светодиодом с помощью контактов Raspberry Pi и GPIO

В этом посте мы рассмотрим контакты GPIO Raspberry Pi, создав программу GPIO «Hello World», которая приводит к миганию красного светодиода. Мы будем использовать язык программирования Python. Я использую Raspberry Pi Zero WH без головы (беспроводная связь с припаянными заголовками) с Raspbian Stretch Lite (операционная система Raspberry Pi с минимальным образом на основе Debian Stretch).

Я буду разговаривать со своим безголовым Pi, используя sshи передавать необходимые файлы с моего Mac на Pi, используя scpкоманды. Я предполагаю, что у вас есть Raspberry Pi, работающий с установленной ОС Raspbian. Если нет, то в Интернете есть много статей, описывающих, как настроить Pi и установить Raspbian, включая официальную документацию Raspberry Pi.

Вам понадобятся:

  • 1 x Raspberry Pi (я использую модель Pi Zero WH)
  • 1 x макетная доска
  • 1 х красный светодиод
  • 1 резистор 330 Ом
  • 2 x перемычка между мужчинами и женщинами

Конфигурация контактов GPIO

GPIO расшифровывается как General Purpose Input Output . С помощью контактов GPIO Raspberry Pi может подключаться и взаимодействовать с внешними электронными компонентами. Последние модели Raspberry Pi (модели Pi 3, Pi Zero, Pi W и Pi WH и т. Д.) Содержат 40 контактов GPIO. Каждый пин может включаться или выключаться, выходить HIGHили LOWв электронном виде. Если это вывод, HIGHон выдает 3,3 вольта, если вывод LOWвыключен.

В нашем примере мы будем использовать pin 6(земля) и pin 25. Чтобы узнать больше о выводах GPIO в Raspberry Pi, ознакомьтесь с файлом pinout.xyz.

Настройка схемы

Вы должны выключить Pi при построении схемы. Мы создадим схему, как показано на схеме ниже:

Примечание : резистор на изображении составляет 220 Ом, но я использовал в своей схеме 330 Ом.

  1. Используйте соединительный кабель «мама-папа» для подключения pin 6(заземления) (черный кабель на изображении выше) к отрицательному ряду макетной платы.
  2. Используйте другую перемычку «мама-папа» для подключения GPIO pin 25к точке, представленной строкой Aи столбцом 12на макете, как показано выше (синий кабель на изображении выше).
  3. Подключите один конец резистора 330 Ом к отрицательному ряду (строка, выделенная зеленым цветом там, где ранее был подключен черный кабель), а другой конец - к точке, представленной Cстолбцом строк 11на макетной плате, как показано выше.
  4. Более короткий конец светодиода - это отрицательный конец, а длинный - положительный. Более длинный конец всегда должен быть подключен к точке в цепи с более высоким напряжением (то есть с более высоким потенциалом). Более короткий конец светодиода подключен к GPIO pin 25(который может выводить 3,3 В) через синий кабель, а более длинный конец подключен к земле pin 6(который составляет 0 В и действует как отрицательная клемма аккумулятора) через черный кабель с резистор между ними.

Резистор

Принимая во внимание, что я проходил вводные курсы по электротехнике и электронике довольно давно (примерно 4–5 лет), у меня возникло два вопроса, на которые мне нужно было получить ответы. Пожалуйста, потерпите мою наивность в этом контексте.

  1. Зачем нам нужен резистор в нашей схеме?
  2. Как определить, сколько Ом (мера электрического сопротивления) должен быть резистор?

Резистор необходим для рассеивания дополнительной электрической энергии (напряжения) от Raspberry Pi. Raspberry Pi рассчитан на питание 50 мА при 3,3 В. Предположим, наш красный светодиод может иметь прямое напряжение (прямое напряжение - это «отрицательное напряжение», используемое светодиодом, когда он включен) около 2 В и потребляет ток 4 мА. Так что оставшиеся 1,3 В должны рассеиваться резистором.

Используя закон Ома V = IR, R= (3.3V - 2V) / (4/1000)которая приходит вокруг 325 ohms- поэтому я рекомендую использовать резистор 330 Ом .

Я обнаружил это из обсуждения на форуме Raspberry Pi.

Заставляем светодиод мигать с помощью Python

Теперь, когда у нас есть законченная схема, следующая часть - запрограммировать порты GPIO, чтобы произошло волшебство: чтобы светодиод мигал. Мы будем использовать выход GPIO, pin 25чтобы светодиод мигал.

Запустите свой Pi и подключитесь к нему с помощью ssh. В терминале используйте следующую команду для установки библиотеки Python gpiozero. gpiozeroБиблиотека позволяет работать с GPIO булавкой и подсоединенными внешними компонентами очень просто.

Чтобы установить библиотеку Python, введите sudo apt-get install python3-gpiozero.

Теперь мы запустим немного кода Python. Сохраните приведенный ниже код в файловой системе Pi в файле с именем blink1.py. Скрипт в основном включает светодиод, к pin 25которому подключен , засыпает на 1 секунду, затем выключает светодиод и снова засыпает на 1 секунду. И это делается непрерывно в цикле, пока программа не будет завершена (нажатие ctrl+ c).

Теперь из терминала, перейдите в каталог , в котором скрипт будет сохранен и запустить его с помощью команды: python3 blink1.py.

Вы увидите, как красный светодиод будет мигать следующим образом:

Мы можем создать множество забавных вещей, используя gpiozeroаналогичную установку. Ознакомьтесь с документацией, в gpiozeroкоторой приведены некоторые интересные примеры. Попробуйте построить светофор.

Первоначально опубликовано на сайте shahbaz.co 7 апреля 2018 г.