Проектов с блоками: 111 · Arduino · ESP32 · Pico
Блочный код для проектов на Arduino, ESP32 и Pico
Следи за цветными блоками вместо того, чтобы читать код строку за строкой. У проектов BlueGrays (всего: 111) есть блочная версия, и каждый блок соответствует строке настоящего кода, который работает на плате.
Что такое блочный код?
Блочный код — это когда программу собирают из блоков, похожих на пазл, а не набирают текстом. «Сделать пин выходом», «включить светодиод» и «подождать 1 секунду» — это отдельные блоки, и, складывая их друг на друга, ты собираешь программу. Не нужно следить за точками с запятой, скобками и опечатками, так что можно сосредоточиться на логике.
В BlueGrays свой набор блоков, и блоки говорят на твоём языке: если приложение на английском, на блоках написано «repeat forever» и «write HIGH to pin». В проектах на Arduino и ESP32 блоки соответствуют коду на C++, а в проектах на Raspberry Pi Pico — на MicroPython.
Цель не в том, чтобы навсегда остаться в блоках, а в том, чтобы понять код. Положи блоки проекта рядом с его кодом — и станет видно, что делает каждая строка. После нескольких проектов ты начнёшь читать код и без блоков.
Как работает блочный код в BlueGrays
В приложении блоки находятся в разделе кода каждого проекта с блоками. Четыре шага:
- 01
Выбери проект с блоками
У проектов с меткой «Блоки» есть блочная версия. Можно включить фильтр, чтобы в списке остались только проекты с блоками.
- 02
Включи «Показать блоками»
Один переключатель в разделе кода превращает код в блоки. Нажми на изображение, чтобы открыть его на весь экран и увеличить.
- 03
Разберись в блоках
Вкладка «Разбор блоков» шаг за шагом проводит по программе и на каждом шаге показывает только нужные блоки и что они делают.
- 04
Переходи к настоящему коду
Выключи переключатель — и та же программа появится в виде кода. Скопируй его в Arduino IDE (или в Thonny для Pico) и загрузи в плату.
Одна программа: блоки и код
Слева — блоки проекта. Справа — код, который работает на плате. У каждого блока есть соответствующая строка кода.
Блоки

Код
1// ─────────────────────────────────────────
2// BlueGrays · bluegrays.com
3// Мигающий светодиод
4// ─────────────────────────────────────────
5// Мигает одним светодиодом каждые 100 мс. Показывает базовое использование
6// функций digitalWrite и delay.
7//
8// Пины:
9// D9 -> Светодиод (с резистором 220 ohm)
10
11void setup() {
12 pinMode(9,OUTPUT); // Пин светодиода как выход
13}
14
15void loop() {
16 digitalWrite(9,HIGH); // Включить светодиод
17 delay(100); // Ждать 100 мс (1000 мс = 1 с)
18 digitalWrite(9,LOW); // Выключить светодиод
19 delay(100);
20}
21Проекты с блоками
Все проекты с блочной версией по платформам. Сначала идут бесплатные: полностью бесплатных проектов, вместе с блоками и кодом, — 31.
Проекты на ArduinoПроектов с блоками: 74

Мигающий светодиод
Самое первое «привет» в электронике: включение и выключение одного светодиода. Arduino включает и выключает светодиод через короткие промежутки, поэтому свет быстро мигает. Ты самым простым способом в

Два попеременно мигающих светодиода
Два светодиода быстро мигают по очереди: когда один загорается, другой гаснет, будто они перебрасывают друг другу мяч. Arduino держит каждый свет включённым пятую долю секунды, а затем передаёт очеред

Светофор
Крошечная копия светофора, который ты каждый день видишь на дороге. Красный горит две секунды, жёлтый мигает на мгновение, зелёный горит две секунды, затем через жёлтый снова возвращается красный, и т

Полицейская мигалка на светодиодах
Как огни на полицейской машине: красный светодиод три раза быстро вспыхивает, затем три раза вспыхивает синий, и узор повторяется без перерыва. Нужны всего два светодиода и два резистора, подключённые

Бегущие огни на светодиодах
Огни, которые загораются друг за другом, будто бегут. Arduino зажигает шесть светодиодов по одному; каждый светится короткое мгновение и гаснет, так что свет проходит от начала до конца и начинает сно

Светодиодный эффект Knight Rider
Классический бегущий огонь-сканер: светящаяся точка скользит от одного края шести светодиодов к другому и возвращается обратно. Arduino зажигает каждый светодиод на десятую долю секунды и переходит к

Бегущие огни с регулируемой скоростью
Шесть светодиодов загораются друг за другом, и кажется, что свет бежит от одного края к другому. Поверни ручку потенциометра, и скорость этого бега сразу меняется: в одну сторону свет мчится, в другую

Светодиодный эффект Knight Rider с регулируемой скоростью
Свет бежит от одного края шести светодиодов к другому, разворачивается и бежит обратно. Поверни ручку потенциометра, и скорость этого бега сразу изменится: в одном крайнем положении свет почти летит,
Проекты на Arduino: все проекты с блоками
- #9Управление светодиодом кнопкой (удержание)Бесплатно
- #10Включение и выключение светодиода кнопкой (вкл/выкл)Бесплатно
- #11Измерение освещённости с LDRБесплатно
- #12Ночник на LDRБесплатно
- #13Работа с зуммеромБесплатно
- #14Настройка частоты зуммераБесплатно
- #27Измерение расстояния HC-SR04 (вывод в порт)Бесплатно
- #37Чтение герконаБесплатно
- #45Настройка модуля часов DS1302 RTCБесплатно
- #55Температура и влажность с DHT11Бесплатно
- #61Работа с клавиатурой 3x4Бесплатно
- #16Чтение кодов ИК-пульта
- #17Включение светодиода ИК-приёмником и пультом
- #19Включение лампы 220V кнопкой (удержание)
- #20Включение лампы 220V кнопкой (вкл/выкл)
- #21Включение лампы 220V пультом
- #22Лазерная сигнализация
- #23Лазерная охранная система
- #24Детектор движения на датчике движения
- #25Дверной звонок и свет с датчиком движения
- #26Простое пианино на зуммере и кнопках
- #28Парктроник на HC-SR04
- #29Вывод сообщения на LCD-экран 2x16
- #30Прыгающий текст на LCD
- #31Измерение расстояния с выводом на LCD
- #32LCD-экран с I2C
- #33Измерение роста
- #34Управление светодиодом с телефона по Bluetooth
- #35Работа с сервоприводом
- #36Управление сервоприводом потенциометром
- #38Датчик двери на герконе
- #39Работа с RGB-светодиодом
- #40Плавная смена цвета RGB-светодиода
- #42Числа 0–99 на семисегментном индикаторе
- #43Счётчик на семисегментном индикаторе с кнопками
- #44Измерение температуры с NTC и LCD-дисплеем 2x16
- #46Часы на DS1302 RTC с LCD-дисплеем
- #47Числа 0–9999 на 4-разрядном семисегментном индикаторе
- #48Цифровые часы на 4-разрядном семисегментном индикаторе
- #49Анимация бомбы на 4-разрядном семисегментном индикаторе
- #50Работа с датчиком пламени
- #51Работа с датчиком газа
- #52Сигнализация пламени и газа
- #53Чтение значения RFID
- #54Аутентификация по RFID
- #56Цифровой вольтметр с LCD-дисплеем
- #58Двусторонняя связь между двумя Arduino
- #59Управление светодиодами джойстиком
- #60Управление сервоприводом джойстиком
- #62Управление светодиодами клавиатурой 3x4
- #63Работа с клавиатурой 4x4
- #64Кодовый замок с клавиатурой 4x4 и LCD
- #67Работа с шаговым мотором
- #68Сервопривод на 360 градусов из шагового мотора
- #69Работа со светодиодной лентой WS2812B
- #70Полицейская мигалка на WS2812B
- #71Бегущий огонь на WS2812B
- #72Бегущий огонь на WS2812B (эффект заполнения)
- #73Эффект Knight Rider на WS2812B
- #74Эффект Knight Rider на WS2812B (3 светодиода)
- #75Анимация WS2812B 1
- #77Чтение отражения (приближения) с TCRT5000
- #78Определение чёрной и белой поверхности с TCRT5000
- #82Умное освещение лестницы и коридора
- #83Умная станция полива
- #97Тест времени реакции на Arduino со звуковым сигналом: измерь рефлексы в миллисекундах (LCD + зуммер + 3 светодиода)
Проекты на ESP32Проектов с блоками: 23

Мигающий светодиод на ESP32
Учит базовой работе с выходами GPIO на ESP32. Эффект мигания получается включением и выключением светодиода с цифрового пина. Это ESP32-версия классического проекта мигания на Arduino UNO; базовые команды мигания в среде Arduino те же, но расположение пинов ESP32 и уровни GPIO 3,3 V отличаются от Arduino UNO.

Управление светодиодом кнопкой на ESP32 (удержание)
Светодиод горит, когда кнопка нажата, и гаснет, когда её отпускают. Показывает, как используются цифровой входной пин ESP32 и встроенный подтягивающий резистор. Режим INPUT_PULLUP избавляет от внешнего резистора.

Управление светодиодом кнопкой на ESP32 (переключение)
При каждом нажатии кнопки состояние светодиода меняется: если горел — гаснет, если не горел — загорается. Классический шаблон переключения. Антидребезг убирает механический шум кнопки, чтобы одно нажатие давало одно переключение.

Мигание встроенным светодиодом ESP32
Мигание встроенным синим светодиодом на ESP32 DevKit V1. Внешние компоненты не нужны! Первый проект, который стоит попробовать после покупки ESP32. Встроенный светодиод подключён к GPIO 2.

Светофор на ESP32
Реалистичная симуляция светофора на 3 светодиодах — красном, жёлтом и зелёном. Тайминги близки к реальной логике движения: красный долго, жёлтый коротко, зелёный долго. Классический пример последовательного управления GPIO.

Светодиоды Knight Rider на ESP32
6 светодиодов по очереди бегают слева направо и справа налево (в стиле Knight Rider). Базовый пример использования циклов for и массивов. Учит логике смены направления.

Плавное затухание светодиода с PWM на ESP32
Плавное изменение яркости светодиода от 0 до максимума и от максимума до 0. PWM управляется через analogWrite(), как в Arduino, — тот же синтаксис без проблем работает в ESP32 Arduino Core 3.0+. Достаточно определения пина, pinMode и analogWrite.

Управление RGB-светодиодом на ESP32
Бесконечное число цветов одним RGB-светодиодом вместо 3 отдельных. Как в Arduino, радужный переход получается заданием значений R/G/B через analogWrite(). Теория цвета (например, красный + зелёный = жёлтый) видна на практике.
Проекты на ESP32: все проекты с блоками
- #113Измерение освещённости модулем LDR на ESP32Бесплатно
- #116Ультразвуковой датчик расстояния HC-SR04 на ESP32Бесплатно
- #117Температура и влажность с DHT22 на ESP32 (с LCD-дисплеем)Бесплатно
- #122Сигнализация газа и дыма MQ-2 на ESP32Бесплатно
- #123Считыватель карт RFID RC522 на ESP32 (с LCD)Бесплатно
- #109Полицейский стробоскоп на ESP32
- #112Ночник на LDR с ESP32
- #114Мелодия на зуммере с ESP32
- #115Регулировка яркости светодиода потенциометром на ESP32 (аналог → PWM)
- #118Сервопривод на ESP32 (управление потенциометром)
- #119I2C LCD-дисплей (16x2) на ESP32
- #120Цифровые часы на ESP32 и DS1307 RTC (I2C + LCD)
- #121Автоматическое освещение с PIR-датчиком движения на ESP32
- #1254-разрядный семисегментный индикатор TM1637 на ESP32
- #126Управление лентой WS2812B NeoPixel на ESP32
Проекты на Raspberry Pi PicoПроектов с блоками: 10

Мигание встроенным светодиодом Raspberry Pi Pico (Pico и Pico W)
Первый проект серии Raspberry Pi Pico! Мигаем зелёным встроенным светодиодом, чтобы проверить, что плата работает, — классический первый опыт «Hello World». НИКАКИХ внешних компонентов, только Pico и USB-кабель. Код написан на MicroPython (официальном языке, поддерживаемом Raspberry Pi Foundation). Изучи в Thonny IDE класс machine.Pin, режим Pin.OUT, методы led.on()/off() и time.sleep(). Каждое переключение видно в выводе (REPL).

Raspberry Pi Pico: управление внешним светодиодом (макетная плата)
Следующий шаг после встроенного светодиода Pico: подключить внешний светодиод на макетной плате и управлять им через пин GP14. В этом проекте ты узнаешь, как использовать любой пин GPIO общего назначения у Pico как выход, какая полярность у светодиода (длинная ножка = анод/+, короткая = катод/–) и зачем нужен токоограничивающий резистор (220Ω). Без резистора через светодиод пойдёт слишком большой ток, и он может сгореть. Схема очень простая: Pico GP14 → резистор 220Ω → светодиод → GND.

Два попеременно мигающих светодиода на Pico (узор мигалки)
Следующий шаг после одного светодиода на Pico: два светодиода мигают попеременно по классическому узору мигалки. Когда один гаснет, другой загорается — самый простой пример согласованной работы нескольких GPIO. В этом проекте два светодиода разных цветов (красный на GP14, зелёный на GP13) меняются состояниями каждые 500ms. Метод MicroPython Pin.toggle() делает код коротким и понятным. Та же логика лежит в основе светофоров, полицейских мигалок, бегущих огней и многих светодиодных анимаций.

Симулятор светофора на Pico (3 светодиода по очереди)
Настоящий светофор на красном, жёлтом и зелёном светодиодах — первый проект серии Pico с 3 светодиодами! Зелёный 4 с «едем», жёлтый 1,5 с «внимание», красный 3 с «стоп» и красный + жёлтый 1 с «приготовиться» (европейская схема светофора). Изучи объявление функций (def all_off()), логику конечного автомата (последовательность) и синхронизацию нескольких GPIO. Простая схема: 3 светодиода на GP11 (зелёный), GP12 (жёлтый), GP13 (красный), у каждого токоограничивающий резистор 220Ω.

Полицейский стробоскоп на Pico (красный + синий)
Имитируем мигалку полицейской машины на Raspberry Pi Pico в самом простом виде! Красный и синий светодиоды работают по очереди (мигалка): пока горит красный, синий погашен, и они меняются каждые 0,3 секунды бесконечно. Код записывает два шага прямо в одном цикле while True; скорость задаёт константа WAIT_MS.

Полицейская мигалка на Pico с тройными вспышками (2 светодиода)
Ритмичная вариация проекта полицейского стробоскопа — мигалка с тройными вспышками! Та же схема на 2 светодиодах (GP11 красный + GP12 синий), но другой узор: красный светодиод трижды быстро вспыхивает, затем трижды вспыхивает синий, и так бесконечно. Этот узор «серия + смена» — самый узнаваемый ритм настоящих полицейских мигалок. Изучи функцию с параметрами def burst(led, count, duration_ms), проектирование ритма и разные визуальные эффекты кодом на одной схеме.

Переключение светодиода кнопкой на Pico
Кнопка + светодиод — следующий уровень! В отличие от базового проекта с кнопкой, держать кнопку не нужно. Нажми и отпусти → светодиод горит. Нажми и отпусти ещё раз → гаснет (переключение). Схема та же (светодиод GP14, кнопка GP2), но код сильно отличается. Изучи определение фронта (ловлю момента спада 1→0), отслеживание состояния и антидребезг (фильтр механического дребезга). Метод led.toggle() в MicroPython меняет состояние одной строкой.

Плавное затухание светодиода с PWM на Pico (эффект дыхания)
Светодиод больше не просто мигает — он дышит! С помощью PWM (широтно-импульсной модуляции) Raspberry Pi Pico яркость светодиода медленно растёт и медленно падает, как огонёк спящего MacBook. Изучи класс machine.PWM, duty_u16() (16-битная яркость 0–65535), частоту PWM (freq(1000) — 1000 циклов вкл/выкл в секунду, мерцания не видно), циклы range() с шагом (вверх и вниз) и почти аналоговый выход с цифрового пина.
Проекты на Raspberry Pi Pico: все проекты с блоками
Для кого?
Дети и родители
Программирование для детей запоминается гораздо лучше, когда в конце на столе загорается светодиод. Блоки делают программу понятной, а схему вы собираете вместе.
Учителя и кружки
На занятии по робототехнике или STEM можно сначала объяснить проект на блоках, а затем перейти к коду. Для каждого проекта уже готовы список деталей и схема подключения.
Новички
Блочное программирование Arduino — самый быстрый способ понять логику первых проектов. Начни с блоков и переходи к коду, когда почувствуешь уверенность.
Частые вопросы
Что такое блочное программирование?
Это способ программирования, при котором команды показаны блоками, соединяющимися как кусочки пазла, а не набираются текстом. Опечаток не бывает, поэтому новичкам и детям легче понять логику программы.
У скольких проектов BlueGrays есть блоки?
Сейчас у 111: проекты на Arduino (76), ESP32 (25) и Raspberry Pi Pico (10). Список растёт по мере того, как мы переводим в блоки новые проекты.
Блочный код бесплатный?
Приложение бесплатное. Блоки и код проектов с блоками открыты всем (бесплатных: 31). В остальных проектах блоки, как и код, открываются с Premium.
Можно ли загрузить блоки прямо в плату?
Нет. Блоки помогают читать и понимать программу, а в плату всегда загружается настоящий код проекта. Скопируй его в Arduino IDE или в Thonny для Pico и загрузи.
Можно ли собирать свои программы из блоков?
Пока нет. Мы готовим блоки для каждого проекта и сопоставляем их с кодом один к одному, поэтому за блоками всегда стоит проверенная работающая программа.
Чем это отличается от Scratch или mBlock?
В Scratch и mBlock ты перетаскиваешь блоки на компьютере и пишешь свою программу. В BlueGrays у каждого проекта с блоками есть схема подключения, список деталей и настоящий код, а блоки — это удобная для чтения версия этого кода. Одно дополняет другое.
Подходит ли это детям? С какого возраста можно начинать?
Дети лет 9–10, которые уверенно читают, могут начинать вместе со взрослым. Для первых проектов не нужна пайка: они собираются на макетной плате со светодиодами, кнопками и зуммером.
На каких языках доступны блоки?
На английском, турецком, немецком, испанском, французском и итальянском. Блоки показываются на языке приложения; если приложение на русском, блоки отображаются на английском.

