Начало работы с Raspberry Pi Pico (и Pico W)
Эта статья представляет собой руководство по началу работы с платой микроконтроллера Raspberry Pi Pico W. Она построена на основе чипа RP2040, предоставляет множество GPIO для подключения периферийных устройств и может быть запрограммирована с использованием языка программирования C/C++ или MicroPython. Давайте рассмотрим возможности Raspberry Pi Pico и узнаем, как запустить вашу первую программу.
Знакомство с Raspberry Pi Pico
Raspberry Pi Pico – это недорогая плата микроконтроллера, разработанная на базе чипа RP2040 фондом Raspberry Pi Foundation. В отличие от предыдущих версий Raspberry Pi, Raspberry Pi Pico не предназначена для работы с операционной системой. Это плата микроконтроллера, подобная Arduino или ESP32, основная цель которой – управление электронными компонентами через GPIO. Если вы знакомы с платой ESP32 или ESP8266, Raspberry Pi Pico не сильно от них отличается.
Варианты платы Raspberry Pi Pico
Существуют два основных варианта платы Raspberry Pi Pico:
Raspberry Pi Pico: без беспроводного подключения (без Wi-Fi, без Bluetooth)
Raspberry Pi Pico W: с беспроводным подключением (Wi-Fi и Bluetooth)
Raspberry Pi Pico, Pico H, Pico W, Pico WH (Источник изображения)
Вы также можете встретить эти версии с буквой H, например Raspberry Pi Pico H или Raspberry Pi Pico WH, что означает, что они поставляются с припаянными штырьковыми разъемами.
Что выбрать: Raspberry Pi Pico или Raspberry Pi Pico W?
Raspberry Pi Pico W поставляется с беспроводным подключением, которое необходимо, если вам нужно использовать Wi-Fi или Bluetooth в проектах IoT или домашней автоматизации. Мы рекомендуем приобрести Raspberry Pi Pico W, так как разница в цене незначительна, а у вас будет возможность использовать Wi-Fi или Bluetooth при необходимости.
В этом руководстве мы будем использовать Raspberry Pi Pico W, но всё сказанное также применимо к Raspberry Pi Pico, за исключением функций беспроводного подключения.
Где купить Raspberry Pi Pico?
Плата Raspberry Pi Pico W широко доступна во многих различных магазинах. Перейдите по следующей ссылке, чтобы сравнить её цену в разных магазинах:
Характеристики Raspberry Pi Pico W
Вот список основных характеристик Raspberry Pi Pico W:
Микроконтроллер RP2040 с 2 МБ flash-памяти
Процессор: двухъядерный Arm Cortex-M0+ на частоте 133 МГц
264 КБ высокопроизводительной многоблочной SRAM
2 МБ встроенной QSPI Flash
Беспроводные интерфейсы 2,4 ГГц (802.11n) на основе Infineon CYW43439 (в моделях W)
Порт Micro-USB B (для питания и программирования)
3-контактный порт ARM Serial Wire Debug (SWD)
40 контактов
Интерфейсы GPIO Raspberry Pi Pico
Raspberry Pi Pico имеет 40 контактов, 26 из которых являются программируемыми GPIO, которые можно использовать для подключения периферийных устройств.
Raspberry Pi Pico поддерживает следующие периферийные интерфейсы на своих GPIO:
2x UART
2x I2C
2x SPI
16x каналов PWM
4x вывода ADC (12-бит, 500 ksps)
GPIO Raspberry Pi Pico работают на напряжении 3,3 В.
Распиновка Raspberry Pi Pico
На следующем изображении показана распиновка Raspberry Pi Pico (какие функции поддерживаются каждым выводом). Для более подробного описания распиновки Raspberry Pi Pico ознакомьтесь с этим руководством: Raspberry Pi Pico and Pico W Pinout Guide: GPIOs Explained.
Источник изображения: raspberrypi.com
Выводы, отмеченные красным цветом, являются выводами питания, которые выдают 3,3 В. Черные выводы – это выводы GND. Все выводы, отмеченные светло-зеленым цветом, могут использоваться как «обычные» GPIO (вход и выход), и все они могут генерировать сигналы PWM.
Протоколы связи SPI, I2C, UART и ADC поддерживаются на выводах с соответствующими обозначениями.
Как программировать Raspberry Pi Pico?
Raspberry Pi Pico можно программировать с использованием языка программирования C/C++ (с помощью Arduino IDE) или MicroPython. В настоящее время MicroPython является наиболее популярным способом программирования Raspberry Pi Pico, а Thonny IDE – рекомендуемая среда разработки для использования с Raspberry Pi Pico.
Raspberry Pi Pico имеет порт micro USB, который можно использовать как для питания, так и для программирования. Для программирования Raspberry Pi Pico вам нужен только USB-кабель для подключения платы к компьютеру. Большинство комплектов Raspberry Pi Pico включают подходящий USB-кабель.
Если вы хотите начать программировать Raspberry Pi Pico с помощью Arduino IDE, прочитайте следующее руководство:
Если вы хотите использовать MicroPython, продолжайте читать.
Что такое MicroPython?
MicroPython – это реализация языка программирования Python 3, предназначенная для микроконтроллеров и встраиваемых систем. MicroPython очень похож на обычный Python. За исключением нескольких особенностей, языковые возможности Python также доступны в MicroPython. Наиболее существенное различие между Python и MicroPython заключается в том, что MicroPython был разработан для работы в условиях ограниченных ресурсов.
По этой причине MicroPython поставляется не с полным набором стандартных библиотек. Он включает только небольшое подмножество стандартных библиотек Python, но содержит модули для простого управления и взаимодействия с GPIO, использования Wi-Fi и других протоколов связи.
Установка Thonny IDE
Thonny IDE – это рекомендуемое программное обеспечение для программирования платы Raspberry Pi Pico с помощью MicroPython, и именно его мы будем использовать в этом руководстве.
Thonny IDE также может использоваться для программирования ESP32 и ESP8266 с помощью прошивки MicroPython. Узнайте больше здесь: Getting Started with Thonny MicroPython (Python) IDE for ESP32 and ESP8266.
Перейдите по ссылке https://thonny.org/ и нажмите на соответствующую ссылку для загрузки пакета для вашей операционной системы.
Запустите загруженный исполняемый файл и следуйте процедуре установки (используйте все настройки по умолчанию).
Прошивка MicroPython на Raspberry Pi Pico
Подключите Raspberry Pi Pico к компьютеру, одновременно удерживая кнопку BOOTSEL, чтобы плата перешла в режим загрузчика для прошивки.
На компьютере откроется новое окно как новое USB-устройство, вы можете его проигнорировать и закрыть.
Откройте Thonny IDE.
Перейдите в Tools > Options. Выберите вкладку Interpreter в открывшемся окне.
Выберите MicroPython (Raspberry Pi Pico) в качестве интерпретатора и Try to detect port automatically для порта. Затем нажмите на Install or update MicroPython.
Откроется следующее окно.
Выберите вариант MicroPython в соответствии с используемой платой. В нашем случае мы используем Pico W. Выберите другой вариант, если вы используете Pico.
Наконец, нажмите Install.
Через несколько секунд установка должна быть завершена.
Вы можете закрыть окно. Вы должны получить следующее сообщение в Shell, а в правом нижнем углу должен отображаться используемый интерпретатор и COM-порт.
Если устройство не распознается и в правом нижнем углу отображается сообщение «no backend», возможно, COM-порт не определяется автоматически. В этом случае перейдите в Tools > Options > Interpreter и выберите COM-порт вручную. После этого устройство MicroPython должно быть распознано, и вы должны увидеть предыдущее сообщение.
Проверка установки
Введите help() в Shell и посмотрите, ответит ли ваше устройство.
Должна быть выведена полезная информация о программировании платы Raspberry Pi Pico с помощью MicroPython.
Введите следующее:
print('Hello')
В Shell должно быть напечатано Hello.
Если вы дошли до этого шага, у вас должна быть успешно установлена Thonny IDE, а также прошивка MicroPython на плате Raspberry Pi Pico.
Запуск вашего первого скрипта
Чтобы познакомить вас с процессом написания файла и выполнения кода на плате Raspberry Pi Pico, мы загрузим новый скрипт, который просто мигает встроенным светодиодом.
Скрипт мигания светодиодом
Когда вы открываете Thonny IDE в первый раз, в редакторе отображается файл без имени. Скопируйте один из следующих скриптов в этот файл:
Raspberry Pi Pico
from machine import Pin
from time import sleep
led = Pin(25, Pin.OUT)
while True:
led.value(not led.value())
sleep(0.5)
Raspberry Pi Pico W
from machine import Pin
from time import sleep
led = Pin('LED', Pin.OUT)
while True:
led.value(not led.value())
sleep(0.5)
Запуск скрипта
Чтобы запустить этот скрипт на вашей плате, просто нажмите на значок Run в Thonny IDE.
Встроенный светодиод начнет мигать.
Чтобы остановить выполнение программы, вы можете нажать кнопку STOP или просто нажать CTRL + C.
Важное примечание: простой запуск файла через Thonny не копирует его на постоянную основу в файловую систему платы. Это означает, что если вы отключите её от компьютера и подадите питание на плату, ничего не произойдет, потому что в файловой системе не сохранен ни один файл Python. Функция Run в Thonny IDE полезна для тестирования кода, но если вы хотите загрузить его на плату на постоянной основе, вам нужно создать и сохранить файл в файловой системе платы. Смотрите следующий раздел.
Сохранение скрипта на плату Raspberry Pi Pico
Остановите выполнение предыдущей программы, нажав кнопку Stop, если вы этого ещё не сделали.
С кодом, скопированным в файл, нажмите на значок Save. Затем выберите Raspberry Pi Pico.
Сохраните файл с именем: main.py.
Примечание: когда вы называете файл main.py, Raspberry Pi Pico будет запускать этот файл автоматически при загрузке. Если вы назовете его иначе, он всё равно будет сохранен в файловой системе платы, но не будет запускаться автоматически при загрузке.
Наконец, нажмите OK для продолжения.
Теперь вы можете отключить и снова подать питание на плату, или даже запитать её от другого источника питания, а не от компьютера. Вы заметите, что плата автоматически начнет мигать светодиодом при запуске.
Заключение
Это руководство было кратким введением в плату Raspberry Pi Pico. Raspberry Pi Pico – это недорогая плата микроконтроллера, разработанная Raspberry Pi Foundation.
Плату можно программировать с использованием языка программирования C/C++ (с помощью Arduino IDE) или MicroPython. Наиболее популярный метод программирования этой платы – использование прошивки MicroPython. В этом руководстве вы узнали, как запустить свой первый скрипт MicroPython на плате и как сохранить его в виде файла.
Если вы также хотите узнать, как программировать Raspberry Pi Pico с помощью Arduino IDE, прочитайте следующее руководство:
Вы можете ознакомиться со всеми нашими проектами и руководствами по Raspberry Pi Pico по следующей ссылке:
Большинство скриптов MicroPython для плат ESP32 и ESP8266 также должны быть совместимы с Raspberry Pi Pico с небольшими изменениями в определении выводов.