Pull to refresh

BBC Micro:bit — детский обучающий микрокомпьютер: возможности ввода/вывода

Gadgets Computer hardware Supercomputers
Привет 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 вполне может сделать уроки информатики гораздо более интерактивными и интересными. По крайней мере, для британских школьников.

Как подсказали в комментариях, в Германии тоже тестируется аналогичный проект, с использованием платы собственной разработки Calliope mini. Эксперимент проводится в федеральной земле Saarland, школьники знакомятся с микрокомпьютером с третьего класса.
Tags:
Hubs:
Total votes 16: ↑14 and ↓2 +12
Views 13K
Comments Comments 37