Создавайте освещение настроения с помощью блочного кодирования на Raspberry Pi Pico
Микроконтроллер Raspberry Pi Pico можно запрограммировать с использованием текстовых языков, таких как C, MicroPython и CircuitPython. Но для тех, кто учится программированию, блочное кодирование может быть менее пугающим. Теперь доступная для Pico, BIPES (блочная интегрированная платформа для встраиваемых систем) является отличным вариантом.
Блочное кодирование с помощью BIPES
BIPES – это среда блочного кодирования для устройств MicroPython, позволяющая создавать программы путем перетаскивания блоков, похожих на Scratch, в веб-интерфейсе Chrome.
В этом руководстве вы будете использовать BIPES для создания простой блочной программы для Raspberry Pi Pico для управления цветом светодиодной подсветки RGB. Три поворотных потенциометра используются для регулировки красной, зеленой и синей составляющих – дополнительных основных цветов света. Так что вы можете немного изучить физику в процессе.
1. Создание многоцветного света для настроения
Для создания подсветки вам понадобится набор стандартных электронных компонентов.
Что вам понадобится:
- Raspberry Pi Pico с припаянными штыревыми разъемами
- Макет на 800 точек (или 2 связанных макета по 400 точек)
- RGB светодиод
- 3 резистора по 330 Ом
- 3x поворотных потенциометра
- Перемычки между мужчинами и женщинами (M2M)
Примечание. Если вам не нравится паять штекерные разъемы на Raspberry Pi Pico, можно купить Pico с уже прикрепленными разъемами.
Перед тем, как все подключать, посмотрите на нижнюю часть Pico, чтобы увидеть метки контактов.

В верхней части Pico вы также можете увидеть, как работает физическая нумерация контактов, от 1 до 40, против часовой стрелки слева от порта micro-USB.

Вы можете также просмотреть схему распиновки Пико в закладке Device веб – интерфейсе хироты , что мы будем использовать.
На макетной плате вставьте штыревые разъемы Pico в отверстия на одном конце. Надавите на него с усилием, чтобы обеспечить хорошее соединение – он должен плотно прилегать.
Теперь подключите светодиод RGB с помощью четырех перемычек, как показано на схеме ниже. Более длинная ножка подключена к контакту GND (земля), а другие подключены через резисторы к контактам GP13, GP14 и GP15 для красного, зеленого и синего цветов.
Примечание: мы используем RGB-светодиод с общим катодом, поэтому подключаем его длинный контакт к земле. Если у вас анод с общим анодом, вам нужно вместо этого подключить его к 3V3.

Затем подключите три поворотных потенциометра. Вам понадобится полноразмерный макет с 800 точками, чтобы разместить их. Как вариант, вы можете использовать два 400-балльных.
Каждый потенциометр имеет три контакта. Внешние подключены к источнику питания 3V3 и GND, а средний контакт подключен к одному из входных контактов АЦП Pico. Это позволяет считывать аналоговый сигнал и преобразовывать его в число от 0 до 65535. В нашем примере мы используем ADC0 / GP26 для потенциометра, управляющего красным компонентом, ADC1 / GP27 для зеленого и ADC2 / GP28 для синего.
Наконец, подключите Pico к компьютеру с помощью кабеля micro-USB – USB.
2. Программирование света настроения
Для работы блочного кодирования BIPES вам необходимо установить MicroPython на свой Pico (если вы еще этого не сделали). Этот процесс включает четыре простых шага:
- Загрузите MicroPython для Raspberry Pi Pico с веб-сайта Raspberry Pi
- Подключите Pico к компьютеру через разъем micro-USB, удерживая кнопку BOOTSEL.
- Подождите, пока Pico появится как внешний диск
- Перетащите файл .uf2 MicroPython, чтобы скопировать его на Pi Pico; он автоматически перезагрузится
Теперь на подключенном компьютере откройте веб-браузер Google Chrome. Чтобы позволить BIPES обмениваться данными с Pico через USB без необходимости в дополнительном программном обеспечении, вам необходимо включить экспериментальную функцию в Chrome. Введите chrome: // flags / в адресную строку и включите опцию Experimental Web Platform features .

Перейдите на https://bipes.net.br/beta2serial/ui/, чтобы начать кодирование с помощью BIPES. В раскрывающемся меню Целевое устройство выберите Raspberry Pi Pico .
Чтобы подключиться к Pico, выберите вкладку Console и нажмите Connect (Web Serial) . В диалоговом окне выберите параметр « Плата в режиме FS» и нажмите « Подключить» .

Выберите вкладку Blocks, чтобы начать создание вашей блочной программы. Из категории « Функции » на левой панели перетащите самый верхний блок для выполнения каких- либо действий в основную область кода.
Это эквивалентно определению функции в MicroPython. Назовите его красным , так как эта первая функция будет считывать ваш потенциометр для регулировки красного значения светодиода RGB.
На левой панели выберите категорию « Переменные» и « Создать переменную» . Назовите его pot1 . Перетащите набор pot1 для блока в середину красного функционального блока.
Из категории Machine> In / Out Pins перетащите блок Read RPI Pico ADC Input рядом с установленным pot1, чтобы заблокировать функцию. С его выводами в раскрывающемся меню выберите команду Закрепить 26 / АЦП0 / GP26.

Из категории Machine> In / Out Pins перетащите блок PWM и поместите его под установленный блок pot1 . Выберите Pin 17 / GP13 из раскрывающегося списка контактов .
Из категории Variables перетащите блок pot1, чтобы заменить 50 в разделе Duty блока PWM. Теперь у вас есть функция для считывания показаний потенциометра и соответствующей регулировки красной составляющей светодиода RGB. Повторите это для зеленого и синего компонентов.

Щелкните функциональный блок правой кнопкой мыши и выберите « Дублировать», чтобы скопировать всю функцию. Переименуйте его в зеленый и измените значения выводов на Pin 27 / ADC1 / GP27 и Pin 19 / GP14 . Создайте новую переменную pot2 и перетащите ее в поле Duty . Используйте раскрывающийся список, чтобы изменить значение pot1 для блокировки, чтобы установить pot2 на .

Снова продублируйте функцию, переименуйте ее в синий и соответствующим образом измените имена и настройки. Значения контактов: контакт 28 / ADC2 / GP28 и контакт 20 / GP15 . Переменная – pot3 .

Наконец, создайте бесконечный цикл для выполнения всех трех функций. Из категории « Циклы » перетащите блок повтора while в область кода. Из категории « Логика » перетащите настоящий блок и прикрепите его. Затем из функций перетащите в цикл красный , зеленый и синий блоки.

3. Проверьте настроение.
Программа завершена, пора запустить ее и опробовать наш свет настроения. Щелкните вкладку « Консоль » и выберите « Запустить программу на основе блока» .
Теперь попробуйте повернуть каждый потенциометр, чтобы отрегулировать красный, зеленый и синий компоненты света. Вы можете создавать бесчисленные оттенки.

Программа Raspberry Pi Pico с блочным кодированием: успех
Вы узнали, как запрограммировать Raspberry Pi Pico с использованием блочного кодирования с веб-интерфейсом BIPES в Google Chrome.
В процессе вы также создали многоцветный свет настроения. Чтобы рассеять его свет, попробуйте накинуть на него полупрозрачную пластиковую крышку – мы использовали крышку от датчика PIR.