Привет geektimes. В первой части кратко рассказывалось о детском обучающем микрокомпьютере BBC Micro:bit.
Как говорилось ранее, платы BBC Micro:bit предоставляются всем британским школьникам бесплатно, они также используются на уроках информатики. Очевидно, что многие задачи и алгоритмы куда интереснее попробовать «вживую», да и теория гораздо лучше усваивается когда подкрепляется практикой. Поэтому интересно посмотреть, какие возможности предоставляет BBC Micro:bit, и что на ней можно делать.
Начнем с возможностей ввода/вывода.
Напомню, что для использования платы никакого софта ставить не нужно, все делается онлайн (для параноиков — оффлайн-редактор тоже существует). Через обычный браузер доступны как редактор, так и вполне полноценный симулятор (в нем кстати, удобно тестировать программу, даже не имея платы в наличии). BBC Micro:bit может программироваться в визуальном редакторе, с помощью Javascript или на языке Python (пользуясь случаем, передаю привет министерству образования и преподавателям информатики, до сих пор пользующихся Турбо Паскалем).
Ввод-вывод
Напомним, как выглядит плата, с точки зрения «железа».
На плате есть 2 кнопки, акселерометр, компас и линейка пинов. Для вывода используется LED-экран в виде матрицы 5х5 светодиодов. Не очень много, тем не менее разработчикам удалось обеспечить вполне разнообразные способы ввода и вывода данных.
Можно использовать все способы одновременно:
Как можно видеть, для вывода пользователю доступны такие функции, как:
— вывод строки
— вывод числа
— вывод графических иконок (также есть возможность индивидуальной активации/деактивации светодиодов, что может использоваться для создания мини-игр, например «змейки»).
Возможности ввода также весьма разнообразны для платы такого размера:
— аппаратные кнопки А или В, также их одновременное нажатие
— весьма необычный режим касания пальцем одного из пинов 1, 2 или 3, вторая рука должна касаться пина GND
— функции, использующие акселерометр: встряхивание, поворот платы экраном вверх или вниз, и даже «свободное падение».
Помимо этого, можно использовать компас или детектор освещенности.
Компас
Программно можно получить значения компаса, затем использовать их в коде, например так:
Увы, в отличие от симулятора, на реальной плате точность компаса оказалась не столь высокой, впрочем возможно я как-то неправильно делал его калибровку. В реале компас показывал что угодно, кроме направления на север.
Акселерометр
Пользователю доступны все 3 оси акселерометра. Для примера можно привести простую программу, позволяющую наклонами платы двигать точку на экране:
(Для совсем «чайников» на youtube я выкладывал подробный разбор этого примера)
Датчик температуры
Имеется возможность программного получения значения температуры.
Serial port
И наконец, для любителей Arduino, есть возможность выводить данные в Serial port. Это значительно расширяет возможности устройства, позволяя например, подключить Micro:bit к компьютеру или Raspberry Pi и сохранять в лог полученные данные. Также бывает удобно выводить в порт данные для отладки.
Для использования последовательного порта, вначале необходимо установить драйвер с сайта developer.mbed.org, далее прием данных осуществляется как обычно, любой программой.
Вот такая программа выводит данные с акселерометра в Serial-port:
Данные можно на компьютере сохранить как csv, потом вывести в виде графика:
Датчик освещенности
И наконец, датчик освещенности, его значения также легко вывести в serial port:
Заключение
В целом можно отметить, что для своей цены в 15 фунтов (а это 4 поездки на метро в Лондоне), плата получилась весьма неплохой. Она предназначена для детей в возрасте от 11 лет, и позволяет на практике изучать основы информатики и алгоритмов, что конечно, гораздо интереснее абстрактных теоретических задач. Также есть возможность изучения взаимодействия компьютера с датчиками и «внешним миром», не углубляясь при этом в тонкости схемотехники: набор предустановленных в плате датчиков, как можно видеть, для такой цены весьма неплох.
Здесь были рассмотрены не все возможности Micro:bit. Например, плата еще может управлять сервомашинкой, или выводить звук на один из пинов. Micro:bit имеет также радио-модуль, что позволяет делать даже многопользовательские игры и программы. Для желающих использовать дополнительные устройства, в продаже стали появляться дополнительные наборы, например «Grove Inventor Kit».
Конечно, плата неидеальна, например не хватает слота для SD-карт или полноценного эмулятора при использовании Python. Но даже в таком виде как сейчас, BBC Micro:bit вполне может сделать уроки информатики гораздо более интерактивными и интересными. По крайней мере, для британских школьников.
Автор: DmitrySpb79