Мигаем диодом raspberry

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Что такое GPIO?

Raspberry Pi: управление светодиодом

Так сложилось, что первая программа, которую человек пишет при изучении программирования называется «Hello World!». Суть этой программы сводится к тому, чтобы после запуска на экране появилась указанная простая фраза. Обычно для этого используется всего несколько строк кода.

В мире микроэлектроники, аналогичной задачей можно считать управление светодиодом. А именно, периодическое включение и выключение — мигание. В этом уроке мы как раз займемся подключением светодиода к Raspberry Pi и составлением программы на языке python, заставляющей этот светодиод мигать.

Выводы общего назначения Raspberry Pi (GPIO)

Одно из главных преимуществ Raspberry Pi — это наличие выводов общего назначения (General Purpose Iinput/Outputs). GPIO — это группа контактов, которыми можно управлять с помощью программы. Причем управление это может быть совсем простым, например, включение/выключение светодиода. Либо весьма сложным — обмен данными с периферийными устройствами по специализированным протоколам.

В терминах цифровой электроники, управлять — значит менять на выводе уровень напряжения. Другими словами, все что мы можем сделать с помощью программы — это соединить желаемый вывод либо с контактом питания (+3.3 В), либо с землей (Gnd). Изобразим это на принципиальной схеме.

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

Если мы в программе подаем на вывод №23 истину True, то Raspberry Pi соединит этот вывод с питанием +3.3В, и через резистор побежит ток. Если же мы передадим ложь — False, то контроллер соединит вывод №23 с землей, и с обоих концов от резистора окажутся равные потенциалы — ток никуда не побежит. То есть, с помощью программы мы как бы щелкаем невидимым переключателем, то вверх, то вниз!

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

Источник

Мигаем светодиодом на Raspberry Pi Pico

Одна из самых маленьких плат от Raspberry Pi Foundation называется Raspberry Pi Pico. Как и в случае своих старших собратьев, Raspberry позиционируется как учебный микрокомпьютер с возможностью программирования на языке высокого уровня — Python.

Разумеется, полноценный Python не сможет работать на такой крохе, поэтому в Pico используется его адаптированная версия — microPython. Двухядерный микроконтроллер RP2040 с архитектурой Arm Cortex M0+, работающий на частоте 133 МГц, отлично справляется с microPython.

На этом уроке займемся настройкой среды разработки Thony и запустим свою первую программу!

Среда разработки Thonny

Для написания программ и загрузки их в Pico используем среду Thonny. Это легкая среда, аналогичная Arduino IDE. Установить её можно на любую платформу: windows, macos, linux. Мы рассмотрим два варианта установки: на компьютер с ОС Windows и на микрокомпьютер Raspberry Pi с Raspbian или Raspberry Pi OS на борту.

Windows

Заходим на официальный сайт проект Thony по ссылке: thony

Находим на главной странице такой блок и кликаем на ссылку Windows. Затем запускаем полученный установочный файл и следуем инструкциям. Никаких подводных камней нет, просто всегда жмём ОК/Далее.

Linux

Здесь есть два варианта, оба работают из командной строки. Первый с помощью программы aptitude:

Второй с помощью менеджера пакетов PIP:

Запуск Thonny

После первого запуска Thonny, программа попросит нас выбрать язык интерфейса. Выбираем, что по душе:

Там же можно выбрать предварительные настройки, но нам будет достаточно оставить всё как есть на варианте «Standard». Жмём кнопку «Let’s go!».

Наконец, перед нами появляется главное окно Thonny. Всё очень минималистично и лаконично.

Установка ядра microPython (firmware)

Чтобы Pico смогла запускать программы на Python, необходимо загрузить на неё интерпретатор этого языка. Для этого потребуется выполнить несколько простых шагов.

1. Нажимаем на Pico белую кнопку с подписью BOOTSEL и в таком состоянии подключаем её к компьютеру.

2. В нижнем правом углу Thonny, жмём прямо на надпись «Python 3.X.X». Там же появится вот такое окошко:

Выбираем MicroPython (Raspberry Pi Pico)

3. Еще одно окно, которое на этот раз сообщает нам, что система планирует скопировать в память Pico свежую версию прошивки с ядром MicroPython. Смело соглашаемся.

Если всё пройдет успешно, в нижнем правом углу Thonny теперь будет отображаться надпись «MicroPython (Raspberry Pi Pico)». Переходим к написанию первой программы!

Первая программа

На плате Raspberry Pi Pico есть один встроенный светодиод, которым мы попробуем управлять. Напишем простую программу, которая при запуске будет менять состояние светодиода на обратное. То есть, если светодиод не горел — он зажжётся, если горел — погаснет.

Теперь загружаем программу на Pico. Для этого выбираем в меню пункт «Сохранить как» и в появившемся окне нажимаем на кнопку Raspberry Pi Pico.

После нажатия кнопки появится окно сохранения файла на Pico.

Наша программа должна обязательно иметь расширение .py. А вот название можно придумать любое. Назовём её blink.py

Жмём OK, ждём пока программа запишется в память Pico и пробуем её запустить. Для этого нажимаем на панели инструментов Thonny кнопку в виде белой стрелки на зелёном фоне — «Запустить текущий скрипт», смотрим на светодиод. Каждый раз, когда мы будем запускать программу, светодиод будет то зажигаться, то гаснуть. Готово!

Мигаем в ритме

Следующая программа будет мигать светодиодом непрерывно, с периодом 500 миллисекунд.

Сохраняем программу на Pico, запускаем и смотрим результат.

Источник

Мигание светодиодом на Raspberry Pi Zero W

В предыдущей статье на нашем сайте мы рассмотрели начало работы с платой Raspberry Pi Zero W, в этой же статье мы рассмотрим основы управления контактами общего назначения (GPIO pins) на данной плате с помощью простой программы мигания светодиодом.

Что такое интерфейс (контакты) общего назначения

Интерфейс (контакты) общего назначения (General Purpose Input Output, GPIO) – это стандартный интерфейс для операций цифрового ввода и вывода данных в микроконтроллерах и одноплатных компьютерах. Он позволяет им как управлять различными устройствами (двигатели, инфракрасные передатчики и т.д.), так и принимать сигналы от различных датчиков/устройств. По существу, данный интерфейс позволяет нашей плате Raspberry Pi Zero W осуществлять взаимосвязь с широким набором внешних компонентов, что делает ее пригодной для созданий многих электронных проектов, начиная от погодной станции и заканчивая роботом, передвигающимся самостоятельно. Управлять данными контактами можно непосредственно из программы для платы.

Контакты общего назначения в плате Raspberry Pi Zero W

Контакты общего назначения (GPIO) – это контакты, которые могут быть использованы для включения/выключения различных внешних устройств, например, светодиодов. Плата Raspberry Pi Zero W содержит 40 контактов GPIO. Контакты 1 и 17 являются источниками напряжения 3,3 В, контакты 2 и 4 – источниками напряжения 5 В, контакты 9, 25, 39, 6, 14, 20, 30 и 34 замкнуты на землю (ground). Ряд контактов имеют специальные функции, показанные на следующем рисунке.

Power – контакты 5V и 3.3V используются для подачи питания 5V и 3.3V на внешние модули (устройства);
UART – контакты, используемые для последовательной связи (UART – Universal Asynchronous Receiver/Transmitter, универсальный асинхронный приемопередатчик);
I2C – эти контакты используются для связи с внешними устройствами по интерфейсу I2C;
SPI – эти контакты используются для связи с внешними устройствами по интерфейсу SPI;
GND – контакты общего провода/земли (Ground).

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

В данной статье мы рассмотрим мигание двумя светодиодами с помощью контактов платы Raspberry Pi Zero W. Самый простой способ сделать это – подавать на контакты GPIO соответствующие цифровые уровни напряжения. Для осуществления данного проекта нам потребуются следующие компоненты:

  1. Плата Raspberry Pi Zero W (купить на AliExpress).
  2. Светодиоды – 2 шт. (купить на AliExpress).
  3. Резисторы 330 Ом – 2 шт. (купить на AliExpress).
  4. Макетная плата.
  5. Соединительные провода.

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

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

На схеме у нас два светодиода, положительные выводы светодиодов подключены к контактам GPIO 27 (pin 13) и GPIO 22 (pin 15) платы Raspberry Pi Zero W, а их отрицательные выводы подключены к контакту земли (pin 6) платы. Резисторы служат для ограничения тока через светодиоды.

Собранная на макетной плате схема проекта представлена на следующем рисунке.

Объяснение программы для Raspberry Pi Zero W

Полный код программы приведен в конце статьи, здесь же мы кратко рассмотрим его основные фрагменты.

Для начала вам необходимо загрузить операционную систему на плате Raspberry Pi Zero W, затем открыть окно терминала (terminal window), после этого установить последние обновления на плату с помощью команды:

Источник

Adblock
detector