Платформа micro:bit — краеугольный камень новой образовательной стратегии британской вещательной компании под названием «Make it Digital». Основная задача программы — вовлечь школьников в мир высоких технологий и показать, что не боги гаджеты собирают.
У BBC уже был успешный опыт. В рамках аналогичной программы в далёком 1981 компания Acorn Computer разработала и выпустила на рынок один из первых домашних компьютеров — BBC Micro. Компьютер получился быстрым — вдвое шустрее Apple II и Spectrum ZX — дешёвым, а, главное, воистину неубиваемым.
BBC micro было выпущено более полутора миллионов и они стали основной рабочей лошадкой в школах Содружества. И вот теперь, тридцать лет спустя, BBC внедряет в школы новую железку, названную в честь предшественника — micro:bit.
Плата построена вокруг 32-х битного процессора ARM Cortex-M0. Второй ARM отвечает за работу с интерфейсом USB. Кроме того, на борту энергоэффективный модуль Bluetooth работающий на частоте 2,4 Ггц.
Для пользователей доступны 256 КБ флеш-памяти и 16 КБ оперативки. Кроме того, на плате уже распаяны модули акселерометра и магнетометра — информация с них доступна по протоколу I2C.
На обратной стороне платы внимание привлекает светодиодная матрица из 25 элементов и две программируемые кнопки. Благодаря им плата превращается в настоящий интерактивный гаджет, который не требует для своей работы ни компьютера, ни дополнительных модулей.
Всего этого богатства должно хватить на пару десятков проектов — наручных часов, электронных игр, и контроллеров систем умного дома.
Для подключения micro:bit к компьютеру не нужно устанавливать драйвера. Подключите плату рыжим проводом по USB и она появится в проводнике как обычная флешка.
Для запуска среды разработки зайдём на сайт microbit.org и выберем язык, на котором будем писать код. Для JavaScript компания Microsoft разработала специальную версию визуального редактора кода Make Code. Альтернатива — текстовый редактор кода для Python. Кроме того, здесь же есть ссылки на скачивание приложений под iOS и Android.
Плата рассчитана на обучение детей с семи лет, поэтому с Питоном мы подождём. Запустим творение Microsoft и напишем простую программу — электронный компас. Она будет выводить на светодиодную матрицу букву N, если мы стоим лицом на север, S — если на юг, W — на запад, а E указывает на восток.
По работе с кодом среда сильно напоминает Scratch, но логические блоки сгруппированы иначе, а главное, в левой части экрана расположен удобный эмулятор платы. На нём отображается состояние всех светодиодов, кнопок и моделируются показания сенсоров. Поэтому мы можем сначала полностью отладить код в редакторе и лишь потом залить рабочую прошивку в устройство.
Осталось подать питание и гаджет готов. Это можно сделать по USB — подойдёт зарядка от смартфона или powerbank. Трёхвольтовый аккумулятор можно подключить к специальной колодке или подцепить две пальчиковые батарейки крокодилами или бананами.
Визуальный редактор пригодится и для создания программы, которая передаст показания акселерометра на смартфон.
Для начала скачаем и установим на телефон приложения для работы с платой. Первым поставим приложение от партнёра по программе Make it Digital компании Samsung. Оно предназначено для подключения плат micro:bit к мобильным устройствам на Android. Затем установим приложение micro:bit Blue — оно визуализирует получаемые смартфоном данные.
Чтобы передать данные с акселерометра на телефон понадобится написать всего один блок кода. После прошивки платы на экране телефона отобразятся все повороты нашего устройства по всем трём осям.
Если встроенного железа покажется мало, к плате можно подключать дополнительные модули. Три пина выведены на широкие площадки под крокодилы и продублированы разъёмами Banana Plugs.
Остальные двадцать пинов выведены на торец платы с шагом 1,37 мм. На них дублируются показания светодиодов, выведены контакты кнопок, интерфейсы SPI и I2C.
Для удобной работы с этими контактами уже существуют специальные шилды. Их пока не много, но учитывая планы BBC по производству минимум миллиона micro:bit, ждать новых расширений придётся не долго.