Значения переменных, о которых мы говорили на Шаге 2, могут быть разными — это могут быть
числа и строки, логические значения, показания датчиков, случайные числа.
Опираясь на показания датчиков BBC micro:bit, как и в реальной жизни при использовании бытовых
датчиков, принимают те или иные решения.
Для решения этой задачи нам надо воспользоваться новой группой — Logic— и блокомIf-then-else.
Если условие выполнено (его значение “правда”, “true”), то выполняется блок команд, которые
следуют за словом “then” (“тогда”). Иначе выполняется блок команд, которые следуют за словом
“
else
” (“иначе”).
Измерение температуры привяжем к событию “Нажата кнопка A”. При нажатии кнопки A измеряем
температуру и значение, полученное от датчика, сравниваем с заданным. При встряхивании экран
очищается.
Решение задачи:
В этом примере используется возможность BBC micro:bit измерять характеристики магнитного поля.
В данном случае — индукции (единица измерения - микротесла).
Суть “фокуса” состоит в том, что кнопки микроконтроллера “вдруг” меняют свою реакцию на нажатие.
Сначала при нажатии кнопки A на дисплее появлялось изображение буквы A, при нажатии кнопки B
— изображение буквы B. Но вдруг, по “непонятным причинам” картина меняется: при нажатии кнопки
A на дисплее появляется изображение буквы B, при нажатии кнопки B — изображение буквы А. Но
человеку посвящённому причина вполне понятна — к микроконтроллеру подносится магнит, который
меняет параметры магнитного поля.
Решение:
Этот самодельный компас можно, как описано на сайте, использовать в весёлой игре “Найди клад”.
Один из участников игры прячет “клад” и описывает дорогу к нему, указывая направление (по
компасу) и количество шагов. Игра не только весёлая, но и полезная, наглядно демонстрирующая,
как погрешности в измерении влияют на конечный результат.
В этом примере мы используем бесконечный цикл forever, блок которого находится в группе
Basic.
Кроме того, нам понадобится логическая операция and (И), так как для определения значений
“Север” (N — North) , “Юг” (S — South), “Запад” (W — West) и “Восток” (E — East) мы будем
использовать угловой диапазон — для начала 40 градусов:
Если указатель стрелки компаса находится в промежутке от 70 до 110 градусов (больше 70 И меньше
110), то будем считать, что он указывает на восток, от 160 до 200 (больше 160 И меньше 200) — на
юг, от 250 до 290 (больше 250 И меньше 290) — на запад. Северное направление для единообразия
разобъём на два промежутка — от 340 до 360 и от 0 до 20, но так же в этом случае можно
использовать логическую операцию or (ИЛИ) — измерение меньше 20 ИЛИбольше 340.
Развитием проекта может быть введение промежуточных значений — северо-восток, юго-запад и т.п.
Задание для этого проекта можно сформулировать более точно с точки зрения физических
процессов, но в первом приближении оно может быть таким.
Ниже приведён код программы, но вы уже вполне можете справиться с таким заданием
самостоятельно.
_________________________________________________________________
1. Датчик температуры
Магнитометр используется как компас, детектор металла и скрытой проводки или выступает в роли
датчика Холла (http://amperka.ru/product/bbc-microbit). При использовании магнитометра на реальном
устройстве при каждом новом запуске программы потребуется выполнить калибровку.
3. Акселерометр
Пример: https://youtu.be/Hi3Km1PV45M
4. Датчик освещённости