Как начать работу с Raspberry Pi Pico на MicroPython с помощью Thonny IDE и uPyCraft IDE


В этой статье мы рассмотрим основы работы с платой Raspberry Pi Pico, совершенно новой захватывающей плате микроконтроллера на базе микроконтроллера RP2040 от Raspberry Pi Foundation . Raspberry Pi Pico — это недорогой микроконтроллер на базе Arm, который мы можем программировать с помощью C/C++ и MicroPython. Ранее на нашем сайте мы уже публиковали статью о начале работы с Raspberry Pi Pico на MicroPython для начинающих, но решил добавить на сайт и эту статью потому что в ряде аспектов она более подробная и также в ней кроме Thonny IDE рассматривается и работа с uPyCraft IDE - по итогу вы сами сможете выбрать какая из этих двух программных оболочек вам больше подходит. Я надеюсь что эти две статьи о начале работы с Raspberry Pi Pico на MicroPython на нашем сайте будут взаимно дополнять друг друга.

Как начать работу с Raspberry Pi Pico на MicroPython с помощью Thonny IDE и uPyCraft IDE

За эти годы платы Raspberry Pi стали обязательным инструментом для студентов, любителей или промышленников. Но когда дело доходит до стоимости, плату Raspberry Pi существенно обгоняют такие платы как Arduino, ESP32, STM32, а также микроконтроллеры AVR, ARM, PIC. Микрокомпьютер Raspberry Pi стоит около 35-40$ , тогда как другие микроконтроллеры едва ли стоят всего 2-5$ . Вот почему Raspberry Pi Foundation выпустила свою недорогую мощную конкурентоспособную плату Raspberry Pi Pi с RP2040, двухъядерным микроконтроллером ARM Cortex-M0+.

В статье рассматривается микроконтроллер RP2040, его функции и характеристики. Мы также узнаем о плате Raspberry Pi Pico, ее компоновке и характеристиках. Подробное руководство по контактам Raspberry Pi Pico, таким как контакты ADC (АЦП), контакты I2C, контакты SPI, UART и т. д., поможет вам подключить любые датчики или модули к этой мощной плате.

Так как это руководство по началу работы с Raspberry Pi Pico , мы будем программировать устройство только с помощью Micropython. Для этого вы можете использовать Thonny IDE или uPyCraft IDE. В последующих статьях на нашем сайте мы также научимся программировать Raspberry Pi Pico с помощью C/C++. Даже Arduino IDE будет поддерживать Raspberry Pie Pico в будущем, так как сейчас он находится в стадии разработки. Мы рассмотрим базовый код мигания светодиода Raspberry Pi Pico и проверим функциональность платы.

Что такое микроконтроллер RP2040?

Ранее все платы Raspberry Pi, такие как Raspberry Pi 3 или 4 или Raspberry Pi Zero, были оснащены процессорами Broadcom, такими как BCM2835, BCM2836, BCM2711 и т. д. Чип RP2040 был анонсирован 21 января 2021 года и является первым процессором, разработанным Raspberry Pi Foundation.

Микроконтроллер RP2040

RP2040 — это 32-битная интегральная схема двухъядерного микроконтроллера ARM Cortex-M0+, выпущенная в то же время как часть платы Raspberry Pi Pico. Процессор — это недорогой микроконтроллер стоимостью около 4 долларов США. Чип выполнен по 40-нм кремнию в корпусе QFN-56 размером 7×7 мм.

RP2040 содержит два ядра ARM Cortex-M0+ с тактовой частотой 133 МГц вместе с 264 КБ ОЗУ. Память программ внешняя и поддерживает до 16 МБ. Устройство имеет все, что вы ожидаете от современного микроконтроллера, например, порты UARTS, SPI и I2C , а также таймеры, ШИМ, DMA и 12-битный аналого-цифровой преобразователь (АЦП).

Значение RP2040

Название RP2040 имеет очень интересное значение, которое объясняется ниже.
1. RP означает: Raspberry Pi
2. Число 2 означает: Ядра процессора, поскольку это двухъядерный микроконтроллер. Таким образом, значение равно 2.
3. Число 0 означает: Тип ядра процессора, поскольку это ARM Cortex-M0+. Таким образом, значение равно 0.
4. Число 4 означает: Представляет собой встроенную оперативную память. RP2040 имеет 264 КБ ОЗУ. Формула для получения значения 4: floor (log2 (ram / 16k)). Таким образом, значение равно 4.
5. Число 0 означает: Представляет собой встроенную флэш-память. Поскольку встроенной флэш-памяти нет, значение равно 0.

Основные характеристики RP2040:

  1. Два ядра ARM Cortex-M0+ 133 МГц.
  2. 264 КБ SRAM в шести независимых банках.
  3. Поддержка до 16 МБ внешней флэш-памяти через выделенную шину QSPI.
  4. Контроллер прямого доступа к памяти (DMA).
  5. Полностью подключенная перекладина AHB.
  6. Периферийные устройства интерполятора и целочисленного делителя.
  7. Встроенный программируемый LDO (регулятор с малым падением напряжения) для генерации напряжения ядра.
  8. 2 встроенных ФАПЧ для генерации USB и основных тактовых импульсов.
  9. 30 контактов GPIO, 4 из которых могут использоваться как аналоговые входы.

Введение в Raspberry Pi Pico

Raspberry Pi Pico — первая плата микроконтроллера на базе RP2040. Она очень похожа на другие платы микроконтроллеров с MCU в центре, разъемом micro-USB на одном конце и рядом контактов вдоль каждой стороны. На другом конце платы имеется 3-контактный отладочный разъем.

Плата Raspberry Pi Pico

Raspberry Pi Pico имеет размеры 51 на 21 мм , что соответствует размеру ESP32 Pico Kit и немного больше, чем Arduino Nano или Micro. Pico поставляется с 2 МБ флэш-памяти QSPI, а 25 из 30 контактов GPIO RP2040 выведены на разъемы расширения. Плата дружелюбна к макетной плате и идеально подходит для нее.

Компоненты платы Raspberry Pi Pico

Возможности Raspberry Pi Pico

  1. Построена на основе микроконтроллера RP2040.
  2. 2 МБ флэш-памяти SPI.
  3. Порт Micro-USB типа B для питания и программирования.
  4. 40 контактов ввода-вывода DIP-типа.
  5. 3-контактный интерфейс последовательной отладки ARM (SWD).
  6. Кварцевый генератор 12 МГц.
  7. Кнопка выбора загрузки.
  8. Программируемый светодиод, подключенный к GPIO 25.
  9. Понижающе-повышающий преобразователь SMPS с фиксированным выходом 3,3 В.

Распиновка Raspberry Pi Pico

Это вид сверху на распиновку Raspberry Pi Pico. Метки выводов находятся на нижней стороне платы.

Распиновка Raspberry Pi Pico

На Raspberry Pi Pico имеется 40 контактов. Из этих 40 контактов 26 контактов являются входами-выходами (IO Pins). Все эти 14 контактов являются аналоговыми, цифровыми и другими последовательными контактами. Имеется 14 контактов питания и системных контактов. Оставшиеся 3 контакта используются для отладки SWD.

Доступны два периферийных устройства I2C, I2C0 и I2C1. Аналогично, есть два периферийных устройства SPI, SPI0 и SPI1. Количество выводов UART также равно двум, UART0 и UART1. Вы можете назначить любой из них выводам, на которых они доступны.

Прежде чем начать использовать Raspberry Pi Pico, вам необходимо припаять 40-контактные штыревые разъемы, по 20 с каждой стороны платы.

Припаивание 40-контактных штыревых разъемов на плату Raspberry Pi Pico

Программирование Raspberry Pi Pico

Raspberry Pi Pico можно программировать с использованием C/C++ или Python. Pico адаптируется к широкому спектру приложений и уровней навыков, и начать работу с ней так же просто, как перетащить файл. Если вы работаете с C, то рекомендуется использовать систему на базе Linux, например, компьютер Raspberry Pi, поскольку легко загрузить SDK и писать программы на C в Linux.

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

Чтобы запрограммировать Raspberry Pi Pico с помощью Micropython, вы можете использовать:
1. Thonny IDE.
2. uPyCraft IDE.

Но прежде чем начать работу с Raspberry Pi Pico, вам необходимо установить MicroPython на плату Raspberry Pi Pico.

Установка MicroPython на Raspberry Pi Pico

Нажмите и удерживайте кнопку BOOTSEL на Pico, а затем немедленно подключите плату Raspberry Pi Pico к компьютеру с помощью кабеля micro USB. Отпустите BOOTSEL, как только диск RPI-RP2 появится на вашем компьютере.

Кнопка BOOTSEL на плате Raspberry Pi Pico

Откройте диск RPI-RP2, который отображается на вкладке «Диски».

Плата Raspberry Pi Pico распознана вашей ОС Windows

Посетите страницу официальной документации Raspberry Pi Pico здесь: документация по Raspberry Pi.

Страница официальной документации Raspberry Pi Pico

Загрузите файл MicroPython UF2 с вкладки MicroPython.

Загрузка файла MicroPython UF2 с вкладки MicroPython

Перетащите файл UF2 на диск RPI-RP2. Raspberry Pi Pico перезагрузится и теперь будет запускать MicroPython.

Установка MicroPython на Raspberry Pi Pico

Начало работы с Raspberry Pi Pico с использованием MicroPython в Thonny IDE

  1. Теперь давайте начнем использовать MicroPython в Raspberry Pi Pico с помощью Thonny IDE. Сначала вам нужно скачать Thonny с https://thonny.org/

Скачивание Thonny IDE с https://thonny.org/

Подключите Raspberry Pi Pico к компьютеру. Затем из Thonny перейдите в Tools > Options и щелкните вкладку Interpreter. В раскрывающемся списке интерпретаторов выберите MicroPython (Raspberry Pi Pico). Раскрывающееся меню портов можно оставить для автоматического обнаружения Pico. Нажмите Ok, чтобы закрыть.

Выбор интерпретатора MicroPython для Raspberry Pi Pico

При подключении платы pico появится вкладка установки прошивки для raspberry pi pico. Нажмите «Установить», и некоторые файлы будут загружены.

Установка прошивки с MicroPython на Raspberry Pi Pico

После успешной установки версия MicroPython и плата Raspberry появятся в оболочке Python. Для проверки мы можем написать быструю функцию печати, чтобы сказать «Hello World». Нажмите Enter, чтобы запустить код. Вы получите Hello World в качестве ответа.

Программа на MicroPython, которая выводит на экран «Hello World»

Написание программы мигания встроенным светодиодом pico

Встроенный светодиод на Raspberry Pi Pico подключен к контакту GPIO25. Скопируйте следующий код и вставьте его в окно редактора.

Сохраните программу на компьютере и дайте ей уникальное имя, например, blink.py.

Сохранение программы на MicroPython на компьютер

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

Тестирование программы мигания встроенным светодиодом на Raspberry Pi Pico

Теперь отсоедините USB от Raspberry Pi Pico и подсоедините снова. Вы увидите, что светодиод не мигает. Это потому, что программа сохранена на компьютере, а не на плате Raspberry Pi Pico.

Чтобы система работала даже после подключения и отключения кабеля USB, вам нужно сохранить программу на плату Raspberry Pi Pico. Для этого откройте новую вкладку, вставьте ту же программу и нажмите «Сохранить». На этот раз сохраните ее на плате Raspberry Pi Pico.

Сохранение программы на MicroPython на плате Raspberry Pi Pico

При сохранении дайте файлу с программой имя main.py, как показано на рисунке ниже.

Даем файлу с программой имя main.py

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

Написание программы мигания внешним светодиодом

Теперь давайте напишем код для платы Raspberry Pi Pico для мигания внешнего светодиода, подключенного к  контакту GPIO Pin28 платы Raspberry Pi Pico. Схема приведена ниже. Подключите светодиод к GPIO28 через резистор 330 Ом.

Схема подключения светодиода к плате Raspberry Pi Pico через резистор 330 Ом

Скопируйте следующий код и загрузите его на плату Raspberry Pi Pico.

Как только код запустится, светодиод начнет мигать с интервалом в 1 секунду.

Тестирование программы мигания внешним светодиодом для платы Raspberry Pi Pico

Написание программы для мигания как встроенным, так и внешним светодиодом

Теперь давайте напишем код Raspberry Pi Pico для мигания как встроенным, так и внешним светодиодом. Код очень простой. Скопируйте следующий код и запустите его.

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

Тестирование программы мигания внешним и встроенным светодиодами для платы Raspberry Pi Pico

Начало работы с Raspberry Pi Pico с использованием MicroPython в uPyCraft IDE

Вы также можете программировать микроконтроллер Rapsberry Pi Pico RP2040 с помощью uPyCraft IDE, которая очень похожа на Thonny IDE.

Сначала загрузите uPyCraft IDE по следующей ссылке: https://github.com/DFRobot/uPyCraft. Теперь откройте uPyCraft IDE.

Главное окно uPyCraft IDE

Нажмите «Инструменты» (Tools) и в меню «Инструменты» выберите COM-порт.

Выбор COM порта в uPyCraft IDE

В меню инструментов выберите «board», а затем выберите other («Другие»).

Выбор типа платы в uPyCraft IDE

Теперь скопируйте следующий код мигания светодиода Raspberry Pi Pico и вставьте его на новую вкладку в uPyCraft IDE.

Вставка кода программы в uPyCraft IDE

Сохраните файл под именем main.py.

Сохранение файла с программой в uPyCraft IDE

Затем нажмите кнопку Download & Run с правой стороны. После загрузки светодиод начнет мигать. Вы сможете увидеть слово Toggle, появляющееся в окне оболочки.

Тестирование работы программы мигания светодиодом в uPyCraft IDE

Тестирование работы программы мигания светодиодом на плате Raspberry Pi Pico

Вы можете протестировать остальные коды выше с помощью uPyCraft IDE. Код будет работать с любой IDE.

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

 

(Проголосуй первым!)
Загрузка...
25 просмотров

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

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