О плате micro:bit, которая была разработана британской корпорацией Би-Би-Си для обучения школьников, уже несколько раз писали на Хабре, например, вот хорошая обзорная статья. Но, почти каждый раз, упоминание об этой плате вызывает одни и те же вопросы с большой долей сомнения и скепсиса:
Ну и зачем этот микробит нужен? Гораздо лучше купить ардуино с комплектом датчиков, и стоить это всё будет дешевле в разы.
Давайте попробуем непредвзято разобраться — какие есть сильные и слабые стороны у каждой платы, да и есть ли вообще смысл их противопоставлять? А в качестве бонуса для тех, кто дочитает до конца, расскажем о конкурсе, где можно получить бесплатно плату micro:bit для реализации своих идей и проектов, даже если ты не 11-летний школьник из Великобритании.
Будем сравнивать micro:bit с наиболее популярной у новичков Arduino Uno, не забывая, тем не менее, о всём большом разнообразии плат семейства Arduino.
Открываем коробку
Начнем с внешнего вида, размеров и тех возможностей, которые платы предоставляют прямо из коробки. BBC micro:bit имеет размеры 43 mm × 52 мм, и визуально, почти в два раза меньше, чем Arduino Uno (69 × 53 мм). Сразу заметно, что micro:bit разрабатывался в расчете на карманы и рюкзаки подростков :) Это плата с закругленными краями, лишенная торчащих штыревых разъемов. Основные компоненты на плате (процессор, компас, акселерометр, антенна и пр.) подписаны методом шелкографии.
Небольшие размеры micro:bit идеальны для проектов носимой электроники, однако не надо забывать, что в линейке Arduino есть и более компактные платы, нежели Uno. И тут преимущество микробита сошло бы на нет, если бы не встроенные датчики и программируемые кнопки вместе со светодиодной матрицей, уже установленные на плате. Именно эта фишка микробита делает его удобным для быстрого старта.
Прямо из коробки, лишь подключив питание, уже можно начинать играть и экспериментировать с платой. При первом включении микробит предложит вам поиграть в игру «Chase The Dot!», в которой требуется поймать точку. В игре не надо пользоваться кнопками, а нужно наклонять микробит, как будто вы катаете шарик на самой плате. Тем самым демонстрируются возможности встроенного в плату акселерометра.
Понятно, что в сравнении с мигающим светодиодом на pin13 у Ардуино, матрица из 25 светодиодов в глазах ребёнка даёт весомое преимущество микробиту. Можно не только играть, но и превратить микробит в значок с бегущей строкой или любой анимацией, или в умный браслет, или объединить несколько плат для создания большого экрана.
Питание
Когда вы подключаете плату к компьютеру, микробит получает питание через разъем micro-USB. Вообще, для micro:bit достаточно 3 вольт, и обычно его питают от двух батареек ААA, подключаясь к плате через разъем JST. Можно использовать в качестве источника питания и так называемую трёхвольтовую «таблетку» — CR2032, но в этом случае потребуется дополнительная плата, подключаемая к микробит, например, Mi:Power от Kitronik. Это интересный пример того, как можно подключать дополнительные платы к micro:bit через кольцевые контакты с помощью винтов и гаек. Получившийся компактный и прочный «бутерброд» весьма удобен для простых проектов носимой и портативной электроники.
Большинство плат Arduino, включая компактные, требуют стабилизированного напряжения 5 В либо входного в диапазоне 7-12 В. В школьных проектах их часто питают от “Кроны” либо 6 элементов питания АА.
Встроенные датчики и устройства ввода
Уже упоминали их наличие прямо “на борту” платы micro:bit, поэтому просто их перечислим: 3-осевой акселерометр, магнитометр, датчик температуры (встроен в микроконтроллер), возможность измерять уровень освещённости (для этого используется часть светодиодов матрицы), две программируемые кнопки.
У Arduino Uno встроенные датчики отсутствуют.
Беспроводные коммуникации
Пожалуй, главной особенностью micro:bit, которая отличает его от десятков подобных плат, в том числе и от Arduino — наличие встроенного радиомодуля. Радиомодуль — часть микроконтроллера, он выполняет две функции:
- обменивается данными со смартфонами и планшетами на базе Android и iOS с использованием технологии BLE (Bluetooth Low Energy);
- обеспечивает связь с другими платами micro:bit
Безусловно, это очень правильное решение: дать возможность школьникам соединять микробит с их любимыми игрушками — смартфонами. Мобильные приложения умеют обмениваться данными с платой. Можно управлять роботом, следить за состоянием влажности почвы в горшке любимого комнатного цветка или за датчиками охраны своей комнаты, защищая её от посягательств младшего брата. Также, используя смартфон или планшет, можно программировать плату в отсутствие ПК.
Самый простой способ использования радиомодуля — это связь с другими платами микробит. Очень просто отправить сообщение одной или нескольким платам, которое тут же высветится на дисплее в виде бегущей строки. При этом есть возможность создавать так называемые радиогруппы (до 256 радиосетей), чтобы не мешать общению другим владельцам плат, находящимся поблизости. То есть вы можете обмениваться сообщениями только с членами вашей радиогруппы, хотя поблизости, в зоне приема радиосигнала, могут находиться и другие платы. Очень удобно при занятиях в классе, когда дети, объединенные в группы, не будут мешать друг другу при отправке радиосигналов. С учетом этого, простор для реализации идей совместных игр или беспроводных систем мониторинга чего-либо в школьных проектах открывается огромный.
Увы, у Arduino Uno возможности для подобных беспроводных коммуникаций предоставляются только путем подключения внешних устройств.
Подключение дополнительных модулей и плат расширения
Не устали от хвалебных од в адрес британской “железки”? Ну вот, мы добрались и до ложки дёгтя в бочке мёда. Всё замечательно продумано у micro:bit, кроме возможности подключения дополнительных модулей.
Точнее сказать, для большинства школьных учебных проектов, будет достаточно тех возможностей платы, которые доступны из коробки. Кроме того, существует простая возможность быстро подключаться к трём пинам микроконтроллера благодаря наличию кольцевых контактных площадок на печатной плате при помощи «крокодилов» или разъемов типа «banana» (а еще два аналогичных кольца используются для подключения питания).
Но как только вы захотите получать доступ к большему числу пинов (а этот момент может наступить быстро, например, вы решите собрать робота-тележку для езды по линии с двумя датчиками и двумя моторами) — тут вас ждёт проблема под названием edge connector (краевой разъем).
Подключение к другим контактным площадкам micro:bit (кроме уже упомянутых пяти кольцевых), на которые выведены оставшиеся пины микроконтроллера, нетривиально — эти площадки расположены на краю платы с шагом 1,27 мм и требует специального, весьма специфического, разъема.
Китайские производители, конечно, уже наладили производство таких разъемов и плат расширения с ними, но у российских поставщиков, пока, приобрести их проблематично. Есть лайфхак от разработчиков платы — в качестве “палок и веревок”, при отсутствии оригинального разъема, они рекомендуют использовать старый разъем PCI от материнской платы ПК, поскольку у него такой же шаг контактов.
На этом фоне, подключение ко всем разъёмам Arduino Uno с помощью да хоть пары зачищенных проводов подходящего диаметра, выглядит как сама доступность и простота :)
Программирование
Для программирования micro:bit официально предлагается несколько вариантов:
- графическая среда программирования Microsoft MaceCode вместе с симулятором для отладки,
- JavaScript,
- MicroPython.
А также неофициально поддерживает множество других способов программирования, включая С++, Rust, Espruino, ARM mbed и RTOS Zephyr.
Особенности программирования micro:bit хорошо описаны в уже упоминавшейся статье на Хабре. Можно лишь еще раз акцентировать внимание на том, что для программирования платы не нужно устанавливать никакой софт, достаточно доступа в интернет, а при подключении платы по MicroUSB она просто видна как съемный диск. Заливка прошивки осуществляется простым копированием hex-файла.
Для программирования плат Ардуино чаще всего всего используется Arduino IDE, а в качестве альтернативы – Eclipse, Atmel Studio и многие другие. Среди графических языков программирования хорошо известны Scratch for Arduino, Ardublock, FLProg, XOD, и пр.
Аппаратная платформа
Несколько сухих цифр о технических характеристиках сравниваемых “железок”
Основные технические характеристики micro:bit
Микроконтроллер: 32-х разрядный ARM Cortex-M0 Nordic nRF51822
Частота: 16 МГц
Flash-память: 256 КБ
RAM-память: 16 КБ
Входное напряжение питания: 1,8–3,6 В
Напряжение логической единицы: 3,3 В
Портов ввода-вывода общего назначения: 19
Портов с поддержкой ШИМ: 19 (одновременно — на 3 пинах)
Портов c АЦП: 6
Разрядность АЦП: 10 бит
Шины обмена данными: I²C и SPI
Технические характеристики Arduino Uno
Микроконтроллер: 8-разрядный AVR, ATmega328
Частота: 16 МГц
Flash-память 32 Кбайт, 0,5 Кбайт из них использованы для загрузчика
SRAM-память 2 Кбайт
EEPROM-память 1 Кбайт
Напряжение питания 5 В
Входное напряжение (рекомендуемое) 7-12 В
Напряжение логической единицы: 5 В
Цифровые входы/выходы: 14 (6 из них поддерживают ШИМ)
Входов c АЦП: 6
Разрядность АЦП: 10 бит
Шины обмена данными: I²C, SPI
Так что в итоге?
А вот чтобы подвести итоги нашего небольшого сравнения, нужно учитывать еще несколько важных вещей. Любая “железка”, особенно если она претендует на хоть какую-то роль в учебном процессе, нуждается в методических и дидактических материалах, в сообществе учителей-энтузиастов, которые поддерживают всю “движуху” и помогают новичкам, терпеливо отвечая на их бесконечные “как-зачем-почему-не работает”. Новичок должен иметь возможность купить “железку”, недорого, в том числе здесь и сейчас, пока не остыл энтузиазм. И образовательная организация должна иметь возможность приобрести несколько десятков плат у российского поставщика, соблюдая все необходимые закупочные процедуры.
С учётом всех этих факторов, многочисленное семейство плат Arduino в данный момент вне конкуренции. Платы Arduino (конечно, в первую очередь, благодаря дешёвым китайским клонам и аналогам) доступны как по цене, так и по наличию в рознице и у образовательных дистрибьюторов. Развито русскоязычное сообщество пользователей и энтузиастов, готовых делиться опытом и рекомендациями, отвечать на вопросы новичков. Существует огромное разнообразие плат расширения и всяческих модулей, десятки наборов и конструкторов, большое количество библиотек для ПО, облегчающих процесс подключения различного «железа».
Британский micro:bit в России пока не может похвастаться ни развитым русскоязычным сообществом энтузиастов, ни технической поддержкой пользователей на русском языке. Немногочисленные продавцы завозят скромные товарные запасы. Практически отсутствуют методические и учебные материалы на русском языке, хотя в последнее время ситуация улучшается, например, вышла в свет книга на русском языке “BBC micro bit. Официальное руководство пользователя”.
Надо думать, что с учебными материалами — это временные трудности, ведь уже наработано большое количество англоязычных методических материалов и проектов, адаптированных для школьников младших и средних классов с учетом их возрастных интересов и возможностей. Осталось их адаптировать и перевести на русский язык, а можно и наоборот — сразу использовать английский в процессе обучения, подтягивая знание языка в ходе экспериментов с платой.
Что касается плат расширения, модулей для микробит и конструкторов на его основе, то китайские компании всего лишь за последние пару лет разработали и выпустили в свет весьма приличное количество совместимого с micro:bit железа. Не отстают от них и европейские компании, тот же упоминавшийся выше Kitronik (или правильнее наоборот — китайцы не отстают от европейцев?)
Хочется верить, что все преимущества micro:bit в конце концов перевесят имеющиеся недостатки, и он появится в наших школах и кружках. По большому счёту, по замыслу инициаторов проекта, micro:bit в школе учит даже не программированию, и тем более не электронике. Он дает возможность школьникам научиться самостоятельно использовать технологии для решения стоящих перед ними практических задач, а не просто быть потребителями готовых решений. Хотя, хочется надеяться, что какая-то часть подростков, благодаря знакомству с micro:bit, всё же выберет себе путь разработчиков, например, встраиваемых систем.
Убедили, хочу попробовать micro:bit в деле
Конечно, лучше один раз попробовать самому, чем сто раз прочитать. У читателей Хабра, независимо от их возраста, есть возможность получить платы micro:bit и аксессуары к ним бесплатно. Для этого нужно принять участие в конкурсе по созданию умных устройств под управлением micro:bit.
Конкурс называется «ТВОЙ:BIT». До 8 декабря этого года успейте подать заявку с описанием идеи устройства на основе платы micro:bit. И когда определят лучшие проекты, этим счастливчикам организаторы конкурса бесплатно разошлют платы micro:bit (и платы коммутации к ним, чтобы иметь возможность задействовать все пины микроконтроллера) для реализации проектов «в железе». Всего призовой фонд включает в себя 50 плат micro:bit и столько же плат коммутации. Подробности и детали — на сайте конкурса.
И напоследок, небольшая рекомендация от организаторов конкурса — попробуйте максимально использовать все “фишки” микробита в своих проектах, в первую очередь — возможности плат по беспроводной коммуникации. Не ограничивайтесь в своих идеях использованием лишь одной платы.
Благодарности
За помощь в подготовке материала, спасибо Руслану Тихонову и Андрею Рожкову.
Автор: nemilya