Advent-календарь мейкера, день #1: начало работы!
Добро пожаловать в первый день вашего 12 проектов Codemas Advent Calendar! Взволнованы? Мы тоже!
Этот двенадцатидневный advent-календарь научит вас программировать с помощью MicroPython, используя Raspberry Pi Pico, программное обеспечение и набор весёлых популярных компонентов. Мы будем писать код, чтобы заставить аппаратное обеспечение взаимодействовать с реальным миром!
Каждый день мы будем показывать вам, как использовать забавные вещи, которые вы найдёте в каждой коробке, объясняя, что это такое, что они делают, как собрать схему и как программировать их с помощью MicroPython простыми методами.
Самое лучшее — как только вы завершите 12 проектов Codemas, у вас будет Raspberry Pi Pico вместе с отличным запасом компонентов, а также знания и уверенность для создания собственных проектов с ними!
День #1: начало работы
Вы уже наверняка заметили, что первая коробка больше, чем большинство других. Это сделано для того, чтобы дать вам всё необходимое для создания фундамента для весёлых проектов, которые вы будете делать в течение следующих 12 дней.
Содержимое коробки #1
В этой коробке вы найдёте:
1x Raspberry Pi Pico H (с предварительно припаянными разъёмами)
1x кабель Micro-USB длиной 1 м
1x беспаечная макетная плата на 400 точек
Сегодняшний проект
Сегодня мы познакомим вас с Raspberry Pi Pico, включая установку программного обеспечения, необходимого для программирования платы, а также запуск нескольких очень простых проектов, чтобы освоить MicroPython.
Знакомство с Raspberry Pi Pico
Raspberry Pi Pico — это мощная и гибкая плата микроконтроллера от Raspberry Pi — тех же людей, которые создали Raspberry Pi 5 и Raspberry Pi Zero.
Однако Raspberry Pi Pico — это другой вид Raspberry Pi: это плата микро контроллера, а не микро компьютера. Мозг Pico — это чип микроконтроллера RP2040, маленький чёрный квадрат посередине.
В то время как вы могли бы использовать Raspberry Pi 4 (у которого есть операционная система) для игр, написания историй и просмотра веб-страниц, Raspberry Pi Pico предназначен для проектов физических вычислений, где он может управлять такими компонентами, как светодиоды, кнопки, датчики, двигатели и даже другие микроконтроллеры.
На плате много выводов вокруг неё, называемых GPIO (General Purpose Input Output — выводы общего назначения), которые позволяют подключать всевозможные компоненты для создания проектов. Ими управляет код, который вы пишете. Карта выводов Pico доступна здесь — не беспокойтесь пока о различных выводах и метках, мы будем разбирать это в течение следующих двенадцати дней.
Pico может использовать множество различных языков программирования; однако самым популярным является MicroPython, который мы будем использовать в течение следующих 12 дней.
На плате есть порт Micro-USB, который обеспечивает питание и позволяет ей взаимодействовать с нашим компьютером для программирования. В этой маленькой плате есть ещё много всего, но пока давайте ограничимся основами.
Настройка программного обеспечения
Мы собираемся установить программное обеспечение под названием Thonny, которое позволит нам программировать Pico с помощью MicroPython.
MicroPython — это меньшая и более эффективная версия языка программирования Python 3, предназначенная для использования с платами микроконтроллеров, такими как Raspberry Pi Pico. Если вы ранее программировали на Python, MicroPython покажется вам очень знакомым — но не волнуйтесь — мы будем направлять вас на каждом шагу в течение следующих 12 дней.
Thonny — это IDE для Python. IDE — это I ntegrated D evelopment E nvironment (интегрированная среда разработки). IDE помогают нам писать код, предоставляя множество полезных функций, позволяющих избежать ошибок, делая наш код более читаемым и обеспечивая множество других преимуществ.
Итак, давайте получим Thonny! Перейдите на https://thonny.org/ и найдите вот эту маленькую рамку:
Если вы наведёте курсор на используемую вами систему (мы используем Windows в этом примере), вы должны увидеть несколько вариантов с рекомендованным вариантом, основанным на используемой вами системе. Для нас, использующих 64-разрядную версию Windows, рекомендуется 64-разрядная версия (номер версии может отличаться — это нормально). Ваша система может отличаться, поэтому лучше просто выбрать версию, рекомендованную сайтом:
Загрузите правильную версию для вашего компьютера, затем откройте файл, чтобы начать установку.
Thonny устанавливается как большинство программ — попросит вас принять лицензионное соглашение и подтвердить место установки. Мы оставили все параметры по умолчанию, и установка заняла чуть меньше минуты.
После установки выберите «Finish» и откройте программу. В Windows 10/11 вы можете нажать кнопку «Пуск» Windows и просто ввести «Thonny». Программа должна открыться и выглядеть как в примере ниже:
Установка MicroPython на Raspberry Pi Pico
Теперь нам нужно установить прошивку MicroPython на Raspberry Pi Pico. Это даёт Pico базовое программное обеспечение, необходимое для запуска кода MicroPython, который мы будем отправлять на него позже.
Важное примечание: У некоторых пользователей возникают проблемы при использовании метода, предложенного ниже (ошибки SSL и другие неприятности). Попробуйте, но если у вас возникнут трудности с установкой MicroPython на Pico, воспользуйтесь альтернативным методом с сайта Raspberry Pi: перетащите файл прошивки на диск Pico.
Вставьте Pico в макетную плату (со стороны, где стоит цифра 1), затем подключите кабель Micro-USB к Pico. Ваш Pico должен быть *полностью* вставлен, чтобы вы не видели никаких металлических ножек/выводов. Чёрный пластик на нижней стороне Pico должен находиться заподлицо с верхом макетной платы. Равномерно надавите с обоих концов:
Теперь найдите маленькую кнопку на верхней части вашего Pico. Это кнопка «BOOTSEL», которая при удержании во время подключения кабеля позволяет нам установить другую прошивку на Pico.
Удерживайте эту кнопку, одновременно вставляя USB-кабель в USB-порт вашего компьютера. Возможно, вы увидите, что устройство появится на вашем компьютере как новый диск, но пока просто проигнорируйте это.
В Thonny, в правом нижнем углу, вы увидите что-то вроде «MicroPython (Raspberry Pi Pico)» и COM-порт, как в примере ниже (это может отличаться, но это не важно на данном этапе). Нажмите на это, и вы увидите несколько вариантов. Выберите «Install MicroPython…»
Теперь вам будут представлены некоторые параметры в новом диалоговом окне. Используйте те же параметры, что и на скриншоте ниже, выбрав целевой том RPI-RP2, семейство MicroPython RP2, вариант Raspberry Pi Pico / Pico H и доступную последнюю версию (на момент написания это была версия 1.26.1):
Выберите «Install», и вы увидите небольшую полосу прогресса во время установки. После завершения выберите «Close».
Настройка Thonny
Thonny можно использовать с различными платами разработки, поэтому нам нужно сообщить Thonny, что мы используем Raspberry Pi Pico.
В верхнем меню выберите «Run», затем «Configure interpreter»:
Теперь убедитесь, что в первом раскрывающемся списке выбрано «MicroPython (Raspberry Pi Pico)», выберите доступное устройство в раскрывающемся списке «Port», затем выберите «OK».
Совет: Если в раскрывающемся списке «Port» вы видите несколько вариантов, это просто означает, что у вас подключены другие устройства к компьютеру. Если вы не уверены, какой из них является Pico, запишите, какие COM-порты отображаются, отключите Pico от USB-порта, закройте окно параметров Thonny, затем попробуйте снова. Тот, который теперь отсутствует, и был Pico — подключите его снова и в следующий раз выберите это устройство (это намного проще, чем отключать всё остальное!). По состоянию на сентябрь 2025 года наш Pico отображается как Board CDC @ COM9 (но последняя цифра будет у всех разной).
Теперь вы должны увидеть панель «Raspberry Pi Pico» в левой части Thonny и информацию на нижней правой панели Shell.
Совет: Если вы не видите свой Pico слева, попробуйте выбрать «View» в верхней панели навигации и выбрать «Files».
Настройка завершена, мы готовы к написанию кода!
Задание 1: ваша первая программа — Print
Давайте создадим очень простую программу и запустим её на вашем Pico.
Мы скажем Pico «напечатать» (print) некоторые слова (известные как «строка» текста). Эти слова/строки затем «печатаются» в окне Shell. Функция print — это то, что вы будете использовать ОЧЕНЬ ЧАСТО при программировании. Это полезный инструмент, чтобы видеть, что происходит с программой, какая часть программы выполняется, и он может помочь при отладке проектов.
В верхней панели (которая пока должна называться <untitled>, так как мы ещё не сохранили её) скопируйте/вставьте или введите следующую строку, затем выберите зелёную иконку запуска (она похожа на кнопку «Play») в меню.
print("This is my Pico talking")
Теперь вы должны увидеть следующее в окне Shell:
Вы сделали это! Ваша первая программа!
Несколько вещей, которые стоит отметить:
Строки текста для print всегда заключены в кавычки внутри скобок
Регистр букв очень важен в MicroPython и других языках кода. Наш print всегда пишется как «p rint» и никогда как «P rint».
Теперь попробуйте изменить текст между кавычками — вы можете написать всё, что угодно: «Этот календарь будет потрясающим» или «Мне не нравится ананас на пицце»… или даже знаменитое «Hello, World!».
Вы даже можете добавить несколько строк print одну за другой — попробуйте!
Задание 2: зажгите встроенный светодиод
Теперь мы знаем, где писать код в Thonny и как запускать программу. Мы будем делать это намного больше в ближайшие дни, но пока давайте сразу перейдём к миганию!
На Pico есть маленький встроенный светодиод, который подключён к одному из выводов RP2040 Pico, GPIO25. Этот вывод не является одним из физических выводов, доступных по краям платы.
Мы можем указать нашей программе включать и выключать этот вывод когда угодно — это хороший, простой первый аппаратный проект, и он может пригодиться как индикатор для ваших собственных проектов в будущем. Это начало управления вашим кодом над физическими вещами!
Входы и выходы
Наши GPIO-выводы (зелёные на карте выводов) можно настроить как входы или выходы. Мы используем входы, когда хотим, чтобы что-то посылало сигналы/напряжение в Pico, например кнопка или датчик, и мы используем выходы, когда хотим, чтобы Pico посылал сигналы/напряжение наружу к чему-то ещё, например светодиодам или зуммерам.
Мы будем использовать здесь выход, который будет подавать напряжение на встроенный светодиод, чтобы зажечь его.
Импорты
Взгляните на первую строку примера кода ниже. Когда мы пишем код в Thonny, нам зачастую нужно добавлять импорты в начале.
Импорты подключают код из других мест (называемых «модулями» или «классами» — но пока не будем углубляться в это), который нам нужен для работы нашей программы. Обычно это из встроенных модулей.
Для использования GPIO-выводов нам всегда нужно импортировать Pin.
Код
Посмотрите ещё раз на пример ниже. Итак, что он делает?
Первая строка импортирует «Pin» из модуля «machine» на первой строке, что просто позволяет нам использовать GPIO-выводы.
Вторая строка настраивает один из выводов, чтобы мы могли использовать его в нашем коде. Это устанавливает GPIO25 с именем «onboardLED». Мы используем Pin.OUT в конце, чтобы сообщить MicroPython установить этот вывод как выход.
Третья строка затем наконец устанавливает значение этого вывода в «1», что означает HIGH (включено). 1 всегда используется для HIGH (включено), а 0 используется для LOW (выключено).
from machine import Pin
onboardLED = Pin(25, Pin.OUT)
onboardLED.value(1)
Скопируйте этот код в верхнюю правую панель, затем нажмите кнопку запуска. Светодиод должен загореться — ура — вы управляете своим первым физическим компонентом!
Теперь попробуйте изменить 1 на 0 — запустите код снова, и светодиод должен выключиться. Вы также можете попробовать добавить строку print внизу, чтобы одновременно отобразить сообщение.
День #1 завершён!
Отлично, коллега-мейкер, сегодня вы:
Стали владельцем собственного микроконтроллера!
Узнали о Raspberry Pi Pico
Настроили Raspberry Pi Pico с Thonny
Создали свою первую программу
Узнали о функции print
Управляли физическим компонентом с помощью кода
Теперь отдохните как следует, ведь завтра нас ждёт продолжение веселья с днём #2 (без спойлеров, и не подглядывать до утра!).
—
Для создания изображений схем подключения на макетной плате использовался `Fritzing <https://fritzing.org/>`_.