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

в 16:39, , рубрики: bbc micro:bit, гаджеты, Железо, информатика, Программирование, суперкомпьютеры, уроки

Привет geektimes. В первой части кратко рассказывалось о детском обучающем микрокомпьютере BBC Micro:bit.
BBC Micro:bit — детский обучающий микрокомпьютер: возможности ввода-вывода - 1

Как говорилось ранее, платы BBC Micro:bit предоставляются всем британским школьникам бесплатно, они также используются на уроках информатики. Очевидно, что многие задачи и алгоритмы куда интереснее попробовать «вживую», да и теория гораздо лучше усваивается когда подкрепляется практикой. Поэтому интересно посмотреть, какие возможности предоставляет BBC Micro:bit, и что на ней можно делать.

Начнем с возможностей ввода/вывода.

Напомню, что для использования платы никакого софта ставить не нужно, все делается онлайн (для параноиков — оффлайн-редактор тоже существует). Через обычный браузер доступны как редактор, так и вполне полноценный симулятор (в нем кстати, удобно тестировать программу, даже не имея платы в наличии). BBC Micro:bit может программироваться в визуальном редакторе, с помощью Javascript или на языке Python (пользуясь случаем, передаю привет министерству образования и преподавателям информатики, до сих пор пользующихся Турбо Паскалем).

Ввод-вывод

Напомним, как выглядит плата, с точки зрения «железа».
BBC Micro:bit — детский обучающий микрокомпьютер: возможности ввода-вывода - 2

На плате есть 2 кнопки, акселерометр, компас и линейка пинов. Для вывода используется LED-экран в виде матрицы 5х5 светодиодов. Не очень много, тем не менее разработчикам удалось обеспечить вполне разнообразные способы ввода и вывода данных.

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

Как можно видеть, для вывода пользователю доступны такие функции, как:
— вывод строки
— вывод числа
— вывод графических иконок (также есть возможность индивидуальной активации/деактивации светодиодов, что может использоваться для создания мини-игр, например «змейки»).

Возможности ввода также весьма разнообразны для платы такого размера:
— аппаратные кнопки А или В, также их одновременное нажатие
— весьма необычный режим касания пальцем одного из пинов 1, 2 или 3, вторая рука должна касаться пина GND
— функции, использующие акселерометр: встряхивание, поворот платы экраном вверх или вниз, и даже «свободное падение».

Помимо этого, можно использовать компас или детектор освещенности.

Компас

Программно можно получить значения компаса, затем использовать их в коде, например так:
BBC Micro:bit — детский обучающий микрокомпьютер: возможности ввода-вывода - 4

Увы, в отличие от симулятора, на реальной плате точность компаса оказалась не столь высокой, впрочем возможно я как-то неправильно делал его калибровку. В реале компас показывал что угодно, кроме направления на север.

Акселерометр

Пользователю доступны все 3 оси акселерометра. Для примера можно привести простую программу, позволяющую наклонами платы двигать точку на экране:
BBC Micro:bit — детский обучающий микрокомпьютер: возможности ввода-вывода - 5
(Для совсем «чайников» на youtube я выкладывал подробный разбор этого примера)

Датчик температуры

Имеется возможность программного получения значения температуры.
BBC Micro:bit — детский обучающий микрокомпьютер: возможности ввода-вывода - 6

Serial port

И наконец, для любителей Arduino, есть возможность выводить данные в Serial port. Это значительно расширяет возможности устройства, позволяя например, подключить Micro:bit к компьютеру или Raspberry Pi и сохранять в лог полученные данные. Также бывает удобно выводить в порт данные для отладки.

Для использования последовательного порта, вначале необходимо установить драйвер с сайта developer.mbed.org, далее прием данных осуществляется как обычно, любой программой.

Вот такая программа выводит данные с акселерометра в Serial-port:
BBC Micro:bit — детский обучающий микрокомпьютер: возможности ввода-вывода - 7

Данные можно на компьютере сохранить как csv, потом вывести в виде графика:
BBC Micro:bit — детский обучающий микрокомпьютер: возможности ввода-вывода - 8

Датчик освещенности

И наконец, датчик освещенности, его значения также легко вывести в serial port:
BBC Micro:bit — детский обучающий микрокомпьютер: возможности ввода-вывода - 9

Заключение

В целом можно отметить, что для своей цены в 15 фунтов (а это 4 поездки на метро в Лондоне), плата получилась весьма неплохой. Она предназначена для детей в возрасте от 11 лет, и позволяет на практике изучать основы информатики и алгоритмов, что конечно, гораздо интереснее абстрактных теоретических задач. Также есть возможность изучения взаимодействия компьютера с датчиками и «внешним миром», не углубляясь при этом в тонкости схемотехники: набор предустановленных в плате датчиков, как можно видеть, для такой цены весьма неплох.

Здесь были рассмотрены не все возможности Micro:bit. Например, плата еще может управлять сервомашинкой, или выводить звук на один из пинов. Micro:bit имеет также радио-модуль, что позволяет делать даже многопользовательские игры и программы. Для желающих использовать дополнительные устройства, в продаже стали появляться дополнительные наборы, например «Grove Inventor Kit».

Конечно, плата неидеальна, например не хватает слота для SD-карт или полноценного эмулятора при использовании Python. Но даже в таком виде как сейчас, BBC Micro:bit вполне может сделать уроки информатики гораздо более интерактивными и интересными. По крайней мере, для британских школьников.

Автор: DmitrySpb79

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js