Blockly@rduino: визуальное блочное программирование Arduino для детей и новичков
Поддерживаемые платы
- Arduino UNO
- Arduino Mega 2560
Инструменты и сервисы
О проекте
Цель: дать возможность программировать Arduino блоками в стиле Scratch, но с генерацией настоящего C++ кода и загрузкой в микроконтроллер.
Scratch сделал программирование доступным для миллионов детей. Следующий шаг — управление реальным железом. Расширения для Scratch (LeapMotion, Arduino, Wii, Picaxe) работали только в режиме «подключено к ПК». Нужен был инструмент, который генерирует автономный код.
Автор нашёл BlocklyDuino (David Li), но проект был заброшен. После контакта с создателем решил сделать свой форк — так родился Blockly@rduino на базе новой версии Google Blockly.
Ключевые возможности
Выбор платы и языка
Два способа загрузки
- Online: через плагин Codebender (прямая загрузка в браузере).
- Offline: через утилиту Blockly@rduino-communication (локальная загрузка через USB).
Реальное взаимодействие с платой (FirmataPlus)
Благодаря библиотеке FirmataPlus (Alan Yorinks) можно в реальном времени читать входы и управлять выходами прямо из редактора — для тестирования логики до загрузки скетча.
Уровни сложности и набор блоков
Учитель может выбрать уровень (новичок/продвинутый) — меняется доступный список блоков.
Гибкая настройка категорий блоков
Можно включать/отключать целые категории (Серво, PID, LCD, датчики и т.д.) — список постоянно растёт.
Drag-and-drop программирование
Генерация C++ кода в реальном времени
Параллельно с блоками показывается готовый Arduino-скетч — обновляется мгновенно.
Редактирование кода вручную
Можно править сгенерированный код, сохранять, копировать в локальную Arduino IDE.
Загрузка через Codebender
Монитор последовательного порта
Примеры и создание своих
- Готовые примеры проектов.
- Создание собственных примеров для класса.
Готовые «наборы» (Kits)
Не просто плата, а комплект: предопределённые блоки, распиновка, под конкретный образовательный набор.
И множество других улучшений: доступность (a11y), локализация, новые блоки. Проект активно развивается.
Исходный код
GitHub репозиторий Blockly@rduino
Производственный процесс
- Датчик CO2 K30: мониторинг качества воздуха в реальном времени на Arduino
- Устройство для общения глухосліпых людей с помощью 1Sheeld и Arduino
- Умная копилка: управление монетоприёмником на Arduino Nano
- SERENA: Пользовательская система сигнализации на Arduino Mega 2560 с TFT Touchscreen
- Управление светодиодом по Bluetooth с Arduino: простой DIY-гид
- Интеграция ёмкостного сканера отпечатков DFRobot с Arduino или ESP8266
- Интерактивный HMI-проект на Nextion с Arduino Mega и датчиками
- Роботизированная рука 6 степеней свободы на Arduino Mega с управлением через Nunchuk
- Управление Arduino Uno из Python 3: команды через последовательный порт и демонстрация с LED
- Измерение солнечной радиации на Arduino UNO с Ethernet Shield