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

    Привет 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, школьники знакомятся с микрокомпьютером с третьего класса.
    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 37

      0
      В качестве «более продуманной» альтернативы для школьников 3 класса и старше у нас предлагается плата Calliope Mini (пока, увы, вдвое дороже Micro:bit).
        0
        По описанию, тоже вполне неплохо. Удобно что наиболее полезные интерфейсы выведены на отдельные порты, легко подключать периферию.
        0
        Очень плохое соотношение цена/качество! За 20фунтов продаётся pyboard store.micropython.org/#/products/PYBLITEv1_0, которая на две головы выше по созданию мотивации к обучению.
          0
          На micro:bit стоит вся нужная периферия. На pyboard без паяльника делать нечего.
          Так что pyboard явно не для школы.
            –1

            Зачем школьникам, которые не умеют паять вообще какие-то микроконтроллеры?


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


            Вообще любая железка ничего не стоит без правильно методики обучения.

              0
              Micro:bit вообще имхо не позиционируется как микроконтроллер.

              И это не замена компьютеру, разумеется, а так скажем, интерактивное дополнение к нему. Методика конечно нужна, тут никто не спорит.
                0
                Зачем школьникам, которые не умеют паять

                А почему вы решили, что школьники не умеют паять?
                Пайка — это что, rocket science какой-то?
                  0

                  Умеют, но не многие. Да и не надо это большинству.


                  Но если изучать это устройство как некий компьютер оснащенный "неонкой и думателем", то без дальнейшего изучения электроники и сопутствующих практических навыков (той же пайки) данное устройство лишь еще одна прикольная штука, которая подключается по USB к компьютеру.

                  0
                  А зачем тогда уроки труда тем, кто не знает СНИПы? :-)
                  Задача школы (в моем понимании) не в том, чтобы закрепить конкретные навыки, а в том, чтобы показать возможности современной науки/техники/общества.
                  Устройства с контроллерами и датчиками уже де-факто стали неотъемлимой частью нашей жизни. Для молодого поколения так вообще очевидными, как для нас электричество — они смартфон видят раньше, чем букварь.

                  Чтобы это не стало для них великим колдунством, стоит показать «как это работает» и дать попробовать самим что-то сделать. Обучение пайке, сбору схемы и прочему займет слишком много времени, и для многих будет занудно и не нужно. Но «пощупать» устройство и посмотреть «кишочки», когда это сделано на одной плате — вполне возможно. Те, кто захочет идти дальше, могут и пайку освоить (и припаяться хоть к этой плате, хоть к другой). А потом от Питона перейти на что-то другое (кстати, почему-то вы ополчились на тех, кто не может паять, но совершенно спокойно отнеслись к тому, что плата, которую я комментировал, позиционирует себя как заточенная на Python — не боитесь, что сейчас придут программисты МК и будут долго говорить, что тех, кто АСМа не знает нельзя к контроллерам подпускать?).
                    0
                    А зачем тогда уроки труда тем, кто не знает СНИПы? :-)

                    СНИПы, не надо, но на уроках труда тоже должна быть некоторая теория, которая сочетается с практикой.


                    Задача школы (в моем понимании) не в том, чтобы закрепить конкретные навыки, а в том, чтобы показать возможности современной науки/техники/общества.

                    Я с вами согласен.


                    Устройства с контроллерами и датчиками уже де-факто стали неотъемлимой частью нашей жизни.

                    Но для многих это по сути коробочка с кнопочками и экранчиками. А что там внутри — великое колдунство.


                    Мне это устройство нравится я недоволен только одним тезисом: что оно помогает изучать информатику. Весь этот вау-эффект: смотрите оно может моргать диодами и реагирует на кнопки по сути одноразовый. Далее процесс ничем не отличается от вывода светящихся точек на монитор и реагирования на кнопки мыши.


                    Вот когда человек знает основы информатики, тогда можно брать это устройство и работать с ним. Вот здесь — это отличный инструмент.


                    кстати, почему-то вы ополчились на тех, кто не может паять, но совершенно спокойно отнеслись к тому, что плата, которую я комментировал, позиционирует себя как заточенная на Python

                    Это тоже большая тема, но можно и о ней порассуждать.


                    не боитесь, что сейчас придут программисты МК и будут долго говорить, что тех, кто АСМа не знает нельзя к контроллерам подпускать

                    В зависимости от поставленной цели надо выбирать язык. Если тебе надо сделать практическую задачу, лучше брать язык высокого уровня (если ресурсы устройства позволяют).


                    Если надо разобаться в деталях как работает устройство (или нужен полный контроль), то нужен АСМ.


                    В плане обучение все зависит от того, какие цели ставит методика. Если просто научить детей взаимодействовать с устройством, Питон подойдет. Просто и понятно.
                    Если цель изучения как все работает на самом деле, надо брать АСМ.


                    Поскольку устройство расчитано на широкий круг пользователей, берут Питон и просто используют устройство как внешнуюю консоль. Ассемблер можно оставить для кружков.

                      +1
                      Вот когда человек знает основы информатики, тогда можно брать это устройство и работать с ним. Вот здесь — это отличный инструмент.


                      Да нет «основ информатики» для школьников, если вы говорите о теории. Нет еще достаточно абстрактного мышления, чтобы школьник заинтересовался алгоритмами как таковыми.

                      И так было всегда. Школьников к программированию привлекали не рисованием блок-схемы на листке бумаги (хотя это тоже делали), а программами игры в Быки-Коровы, «посадку на луну» на программируемом калькуляторами, муаровыми узорами на каких-то БК и прочему.
                      Точно так же, как к радиоэлектронике привлекали не описанием законов Киргоффа, а пайкой детекторного приемника.

                      О каких «выборах языка», «полном контроле» и прочем вы говорите? Вспомните себя в школьные годы. Вы уверенны, что если бы учитель вам бы стал рассказывать предмет с позиции профессиональных тонкостей, то вы бы выбрали свою текущую профессию?
                        0
                        Именно. Суть информатики имхо — показать, как красиво и эффективно решать на компьютере различные практические задачи. И теория тут отчасти вторична, все-таки для большинства использование компьютером это практический предмет.

                        Я писал уже, как-то открыл учебник информатики для 10 класса — это же скука смертная, всякая муть типа «основы системологии», «информационнные процессы в естественных и искуственных системах», гост по защите информации, и так далее. При этом все сверхкратко (и в итоге малопонятно), только по верхам, и никакой практики. Не делается это все так. Если ученик и заинтересуется компьютерами, то вопреки а не благодаря такому учебнику…
                          0
                          Суть информатики имхо — показать, как красиво и эффективно решать на компьютере различные практические задачи.

                          Хорошо, показали как все красиво и эффективно. У нас цель показать или научить?
                          А если ребенок скажет: "я так же хочу красиво делать"?.. Все, мы должны заняться теорией.
                          Такие дерби как «основы системологии», «информационнные процессы в естественных и искуственных системах» нам, конечно, не нужны т.к. не существенны для текущей задачи.
                          Но объяснить что такое условие, цикл, переменная — это тоже все теория. Без нее программу толком не написать.


                          Теория это вредно? Нам нужна практика? Отлично. Дайте ребенку исходный код того, что ему понравилось. Пусть сам разберется как сделать похожее. Этот путь очень долгий и сложный. Поэтому в обучении используют теорию, чтобы не повторять долгий и длинный путь сомостоятельного обучения.


                          Вот пример хорошей теории.
                          Энциклопедия профессора Фортрана

                            0
                            В том и дело, нужна теория, достаточная для решения практических задач, как работают циклы, переменные и пр. Вместо этого школьники месяцы решают на бумажки абстрактные задачи на несуществующие системы счисления (типа «посчитать в системе счисления по основанию „5“») и учат определения типа тех что я привел выше. Кому это надо, мне непонятно.

                            Да ладно бы только информатика, знаете как сейчас физика в школе сдается? Школьники почти не решают задач, зато зубрят и сдают _наизусть_ определения, называется это «образовательный минимум». Ответил, зачет, нет, учи дальше, как стих, понимать суть вовсе необязательно. Маразм же.
                              0
                              В том и дело, нужна теория, достаточная для решения практических задач,

                              Плюс еще немного, чтобы у человека горизонт знаний был пошире, чем узко решаемая практическая задача.


                              Все эти "теоретические вершины", которые были упомянты выше, это уже другая крайность, где даются слишком абстрактные понятия или наоборот очень узко специализированные.


                              Школьники почти не решают задач, зато зубрят и сдают наизусть определения, называется это «образовательный минимум».

                              То что вы пописали — это просто имитация процесса обучения.


                              Это как раз происходит от того, что цели обучения изменились в связи с изменением "общественного бытия". Сейчас нет цели развития мыслящего, разностороннего человека умеющего думать системно, поэтому и знания подаются кусками и разрозненно.


                              Такие знания можно сравнить с кирпичной стеной без связующего бетона.


                              Сейчас пытаются как раз готовить узких специалистов: вот тебе практика, немного теории и все. Иди работай.


                              Маразм же.

                              Это закономерный результат изменений общества.

                          0
                          Школьников к программированию привлекали не рисованием блок-схемы на листке бумаги (хотя это тоже делали), а программами игры в Быки-Коровы...

                          Не надо путать привлечение и обучение. Да привлечь можно, но когда человек захочет делать сам — его надо обучать. А здесь уже логика, абстракция алгоритмы. Это есть в любой рабочей программе.


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


                          О каких «выборах языка», «полном контроле» и прочем вы говорите?

                          Дети разные бывают, я в школе на ассемблере писал.


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


                          Если обучают обычный класс, то его привлекают каким-нибудь Скратчем, где за 5 минут можно объяснить теорию и дети могут делать убогие программки делать.
                          А если это кружок ботанов-программистов, то для них нужно что-то посерьезнее, например С :)

                            0
                            какая логика/абстракции/алгоритмы для школьников???
                            Вы всерьез думаете, что школьники смогут осознать понятие сложности алгоритма для чего-то серьезного? Я лично не могу понять как школьник, который еще не изучил толком логарифм может говорить преимуществе бинарных деревьев (которое заключается в сложности log2(n)).

                            Вы говорите, что писали на ассемблере — позволю себе заметить, что это нифига не абстракция. Как раз наоборот — ассемблер как раз очень далек от «информатики» и ближе как раз к железке.
                              0
                              какая логика/абстракции/алгоритмы для школьников???

                              Логика — основа правильного мышления. Ее даже в 1 классе преподают по крайней мере пытаются. Раньше был даже предмет и учебник отдельный.


                              Абстракции вокруг нас сплошь и рядом. Например в арифметике числа — это абстракции.


                              Алгоритм — понятие тоже очень простое и доступное школьнику.


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

                              А не надо школьников пичкать такими вещами, как вы указали. Всегда можно подобрать нужный уровень сложности. Ибо базовые вещи доступны даже младшим классам, а далее усложнять можно по необходимости.


                              Вы говорите, что писали на ассемблере — позволю себе заметить, что это нифига не абстракция.

                              Это тоже абстракция над машинным кодом. Уровень абстракции невелик, но тем не менее мы уходим от машинного кода и электрических сигналов и оперируем словами из букв алфавита. Очень разные процессоры в одной серии имеют очень похожий ассемблер, тем самым мы абстрагируемся от процессора (на сколько нам позволяет уровень абстракции).


                              На примере ассемблера как раз можно объяснить многие базовые вещи, но т.к. уровень абстрации низок, то получится достаточно длинно и скучно.

                0
                2 poznawatel, это совсем другое — плат типа arduino, stm, esp, на рынке действительно много, но они ориентированы на любителей электроники. Micro:bit же сразу можно использовать «из коробки» как есть, да и целевая аудитория это младшие школьники с 11 лет. В общем, micro:bit имхо ориентирован на изучение информатики а не электроники, как говорится, почувствуйте разницу.
                  0
                  Micro:bit же сразу можно использовать «из коробки» как есть,

                  Всяких отладочных плат с установленными свистелками и моргалками очень много. На любой кошелек.
                  Отличие Micro:bit лишь в том, что его целенаправленно и централизовано раздают учащимся. Соответственно шумихи вокруг него побольше.

                    0
                    В общем, micro:bit имхо ориентирован на изучение информатики

                    Чтобы изучать информатику вообще не нужно специальное оборудование типа micro:bit.
                    Как оно может помочь изучить информатику?
                    Например, как вызвов функций для снятия данных с определенной железки поможет в освоении информатики?


                    Точно такие же программы в Scratch можно писать без дорогостоящей железки.

                      0
                      Может помочь тем, что гораздо интереснее работать с объектами реального мира, а не просто с чем-то абстрактным.
                        0
                        А что такое информатика в вашем понимании?
                          0

                          В моем понимании это наука (на школьном уровне это больше прикладная дисциплина) изучающая обработку и хранение информации.
                          По большому счету для ее изучения и компьютер не нужен.


                          Применение компьютера в том или ином виде это лишь практическая часть этой диспциплины.


                          Micro:bit в контесте изучения информатики по сути лишь способ визуализации и источник некоторой информации, поэтому качественно улучшить изучение этой дисциплины он не может.


                          А вот если изучается уже электроника, то здесь это неплохой инструмент для изучения. В него можно осциллографом потыкать, а если сгорит, то не сильно жалко.

                            0
                            Я как-то видел современный школьный учебник информатики — написано настолько скучно и занудно, с кучей заумных определений, что будучи школьником, читать _это_ я бы точно не стал (замечу, что зарабатывая на жизнь программированием, в информатике я до какой-то степени разбираюсь, и могу понимать что актуально а что нет). В моем понимании, информатика — это все-таки _практическая_ дисциплина, где на реальных задачах надо двигаться от простому к сложному. К сожалению, составители учебников живут в каком-то параллельном мире видимо, и проконсультироваться с реально практикующими программистами на тему «что нужно от информатики», не считают нужным.

                            С точки зрения изучения электроники, кстати, micro:bit как раз мало удобен, порты у него по умолчанию не выведены, надо плату расширения докупать.

                            Информатику «без компьютера» изучать теоретически можно, но это будет настолько скучно, что нафиг никому не нужно будет.
                              0
                              Если информатику изучать на бумажке, ты не увидишь практику.
                              Если применять только компьютер, ты не освоишь железо.

                              А сейчас информационные технологии вышли далеко за пределы советского определения «информатики», и что немаловажно, не так критично привязан к компьютеру. Огромный выбор ИоТ, себестоимость которых на глаз видно что копеечная, но недоработанных, недонастроенных, с огромной наценкой показывают, что было бы неплохо, чтобы появилось поколение, которое могло бы делать простые доступные гаджеты, понимая как оно работает.

                              Электронику на низком уровне при этом изучать не обязательно, ибо область стала настолько широкой, что специализации пора разделять.
                                0
                                «Осциллографом потыкать» — это уже не школа. Кружок «Умелые Руки» — да.
                                Но не лучше ли иметь одно серийное устройство, которое можно «пощупать» и в школе в рамках общеобразовательной программы, и, при желании, использовать в поделках на внешкольных занятиях «по интересам»?
                                В современный комп залезть осциллографом школьнику практически нереально.
                                  0

                                  Так идея с Micro:bit отличная, только не надо говорить, что он помогает изучать информатику. Для уроков информатики это просто еще один экран с кнопочками и датчиками.


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

                                    0
                                    Именно что помогает — как наглядное пособие, почему нет. Например легко показать детям как работает акселерометр в играх. И им это будет интересно, т.к. это и современно и актуально.
                                      0

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


                                      Я бы сказал, что такие устройство позволяют закреплять полученые знания, как любая другая работа руками. В этом плане да, устройство помогает изучать информатику.

                                      0
                                      Если пойти по такому пути, то получается, что для уроков информатики достаточно листка бумаги и карандаша.
                                      Блок-схемы рисовать хватит.

                                      Однако могу уверенно заявить — не выйдет.

                                      Школьникам нужна не теория, а практика. И подобное устройство даст больше практики.
                                        0
                                        Если пойти по такому пути, то получается, что для уроков информатики достаточно листка бумаги и карандаша.

                                        Надо вовремя остановится и не доводить идею до абсурда.


                                        Школьникам нужна не теория, а практика.

                                        Им нужно и то и другое. Одно без другого не существует.


                                        Вопрос в какой пропроции их дают. Будет много теории — будет скучновато, будет много практики будет непонятно.
                                        Если не хватает теории люди создают ее сами, но это дольше и не исключает ошибок.

                            0
                            Контакты, соединённые с отверстиями под винт, стрёмная тема. Через эти отверстия так и хочется прикрутить платку к корпусу, а если он окажется металлическим, то может случится небольшой бабах.
                            0

                            Уже была такая статья, разве нет?

                              0
                              Была первая часть, это продолжение.

                            Only users with full accounts can post comments. Log in, please.