Мигание светодиодом с помощью Raspberry Pi и программы на Python


Raspberry Pi является компьютером размером с кредитную карту, но одновременно с этим он содержит в своем составе универсальные контакты ввода/вывода (General Purpose Input Output, GPIO), к которым можно подключать различные датчики и периферийные устройства, что делает его отличной платформой для проектов встраиваемой электроники. Также он содержит процессор с архитектурой ARM, отличающийся высокой производительностью, и достаточно большой объем оперативной памяти, что позволяет использовать его даже в таких приложениях как обработка изображений. В настоящее время самым мощным микрокомпьютером этой серии является Raspberry Pi 4 с 8 Гб оперативной памяти, также доступный в версиях с 4 Гб и 2 Гб оперативной памяти.

Внешний вид проекта мигания светодиодом с помощью Raspberry Pi

В данной статье мы рассмотрим самую простую задачу, с которой обычно начинают изучение микроконтроллеров какого-либо типа – задачу мигания светодиодом. Также в данной статье мы рассмотрим основы программирования на Python для платы Raspberry Pi. Прежде чем приступать к реализации данной задачи, убедитесь в том, что вы подготовили аппаратное и программное обеспечение для работы с Raspberry Pi и настроили операционную систему для работы с ней.

Чтобы реализовать задачу мигания светодиодом на Raspberry Pi необходимо подключить светодиод к одному из ее контактов общего назначения (GPIO). В дальнейшем на нашем сайте мы рассмотрим такие аспекты работы с Raspberry Pi как подключение к ней кнопки, использование ШИМ, подключение электродвигателя постоянного тока и шагового двигателя и многие другие задачи.

Внешний вид и распиновка контактов ввода/вывода (GPIO) платы Raspberry Pi показаны на следующих рисунках.

Местоположение контактов ввода/вывода (GPIO) на плате Raspberry Pi

Распиновка контактов ввода/вывода (GPIO) платы Raspberry Pi

Как показано на представленном рисунке, у платы Raspberry Pi имеется 40 контактов ввода/вывода. Но однако не все эти контакты доступны для программирования. На самом деле для программирования доступны только 26 контактов ввода/вывода (GPIO), которые обозначены на представленном рисунке с GPIO2 до GPIO27.

Эти контакты вы можете программировать по своему усмотрению. Некоторые из этих контактов могут также выполнять специальные функции (последовательный порт, интерфейсы SPI и I2С и т.д.). Если не учитывать контакты, которые могут выполнять специальные функции, то остается 17 программируемых контактов общего назначения, на следующем рисунке они обозначены кружками зеленого цвета.

Каждый из этих 17 контактов может выдерживать ток до 15mA, а суммарный ток от всех контактов ввода/вывода не должен превышать 50mA. Таким образом, если мы задействуем все эти 17 контактов, то в среднем на каждый контакт должен приходиться ток не более 3mA.

Расширенная распиновка контактов ввода/вывода (GPIO) платы Raspberry Pi

Необходимые компоненты

  1. Плата Raspberry Pi 2 Model B или другая аналогичная (купить на AliExpress).
  2. Резистор 220 Ом или 1 кОм (купить на AliExpress).
  3. Светодиод (купить на AliExpress).
  4. Макетная плата.
  5. Соединительные провода.

Схема проекта

Схема для мигания светодиодом с помощью Raspberry Pi представлена на следующем рисунке.

Схема для мигания светодиодом с помощью Raspberry Pi

Как показано на схеме, мы подключили светодиод между контактами PIN40 (GPIO21) и PIN39 (GROUND). Поскольку, как мы уже рассмотрели ранее, через контакт нельзя пропускать ток более 15mA, то последовательно со светодиодом мы подключили резистор (сопротивлением 220 Ом или 1 кОм).

Написание программы

Данный пункт статьи написан для операционной системы Raspbian, сейчас для современной Raspberry Pi OS (теперь так называется Raspbian) представленные пункты могут немного отличаться по внешнему виду, но их смысл от этого не изменится.

1. Первым делом в меню платы Raspberry Pi (Start Menu) выберите Python 3 как показано на следующем рисунке.

Запуск Python 3 в Raspberry Pi

2. После этого запустится Python и вы увидите окно, представленное на следующем рисунке.

Запустившаяся оболочка Python 3 в Raspberry Pi

3. Затем выберите New File (новый файл) в File Menu (меню для работы с файлами), после этого вы увидите как откроется новое окно.

Создание нового файла в Python 3

4. Сохраните этот файл с именем blinky на рабочий стол.

Сохранение файла программы на Python 3

5. После этого напишите код программы (он приведен в конце данной статьи) и запустите программу на выполнение нажав “RUN” в вкладке ‘DEBUG’.

Запуск программы на Python 3 на выполнение

Если в программе нет ошибок, то вы увидите символы “>>>”, которые будут обозначать что программа успешно выполнилась. Также вы должны увидеть после этого как светодиод в нашей схеме мигнет 3 раза. Если в программе есть ошибки, то появятся соответствующие сообщения о том, какие ошибки нужно исправить. После исправления ошибок снова запустите программу на выполнение.

Исходный код программы

Конечно, программа мигания светодиодом для платы Raspberry Pi получилась несколько сложнее чем, скажем, аналогичная программа для плата Arduino, но зато с помощью Raspberry Pi можно реализовать такие проекты, какие на Arduino выполнить невозможно. Но для этого сначала необходимо научиться делать базовые вещи, которые умеют делать все современные микроконтроллеры.

Видео, демонстрирующее работу проекта

(1 голосов, оценка: 5,00 из 5)
Загрузка...
2 731 просмотров

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

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