Мигаем светодиодом на 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:

sudo apt install thonny

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

pip3 install thonny

Запуск 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 есть один встроенный светодиод, которым мы попробуем управлять. Напишем простую программу, которая при запуске будет менять состояние светодиода на обратное. То есть, если светодиод не горел — он зажжётся, если горел — погаснет.

from machine import Pin # подключаем библиотеку для работы с GPIO

led = Pin(25, Pin.OUT) # настраиваем контакт №25 на вывод

led.toggle() # переключаем состояние светодиода на обратное

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

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

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

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

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

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

import time
from machine import Pin

led = Pin(25, Pin.OUT)

while 1: # бесконечный цикл
    led.low() # устанавливаем низкий уровень на контакте 25
    time.sleep(0.25) # пауза четверть секунды
    led.high() # устанавливаем высокий уровень на контакте 25
    time.sleep(0.25)# пауза четверть секунды

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

Примечание. Если вы хотите, чтобы программа запускалась автоматически при подаче питания на Raspberry Pi Pico, следует сохранить её с именем main.py и никак иначе.


Изменено:

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

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

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