BBC micro:bit: забавы с акселерометром | Что тут думать — micro:bit надо трясти!
Содержание:
1. Введение;
2.
3. Контроллер жестов Minecraft.
Micro:bit может обнаружить предопределенные жесты с помощью своего акселерометра и доложить о них с помощью библиотеки Python
Для этого проекта вам понадобится только micro:bit, поставляемый с акселерометром, который обычно применяется в мобильных устройствах для определения ориентации устройства и вращения экрана.
Micro:bit может обнаружить предопределенные жесты с помощью своего акселерометра и доложить о них с помощью библиотеки Python
В этом руководстве мы будем использовать micro:bit как устройство ввода, реагирующее на жесты. Мы начнем в редакторе Mu и, как всегда, наша первая строка импортирует библиотеку micro:bit: from microbit import *. Затем используем бесконечный цикл, содержащий код, который мы хотим запустить, наподобие этого: while True:.
Акселерометр, встроенный в micro:bit, имеет свой собственный набор функций, пригодный для запроса положения платы в пространстве. Мы можем отследить полные x, y, z координаты платы для тонкой настройки, но бывает, что нам не нужна подобная точность, и как раз в этом случае жесты предлагают быстрое решение. Жесты — это предопределенные движения, например, встряхивание, на клон и переворачивание micro:bit. Мы можем использовать эти жесты для простого ввода, и в данном проекте употребим условные утверждения, проверяющие, какие жесты были сделаны, и соответственно реагирующие. Первый тест — увидеть, было ли устройство наклонено вверх. Вывод этого теста — либо True, либо False, но если True, то код (ниже) активируется. Перед прокруткой текста экран очищается через LED матрицу micro:bit. Наконец, делается 0,1-секундная пауза, и код снова проводит проверку.
if accelerometer.was_gesture(‘up’):
display.clear()
display.scroll(“Dogs cannot look up”)
sleep(100)
display.clear()
display.scroll(“Dogs cannot look up”)
sleep(100)
Наш следующий тест называется Else...If, сокращенный в Python до elif. В этом тесте мы увидим, направлен ли micro:bit к полу.
elif accelerometer.was_gesture(‘down’):
display.clear()
display.scroll(“I feel sick”)
sleep(100)
display.clear()
display.scroll(“I feel sick”)
sleep(100)
Мы повторяем этот процесс для еще двух тестов, охватив наклон micro:bit влево и вправо; синтаксис этого кода идентичен жесту вниз, но относится к ‘left’ и ‘right’. Наш последний жест — встряхивающее движение, которое при обнаружении запускает активацию последнего раздела кода:
elif accelerometer.was_gesture(‘shake’):
display.clear()
display.scroll(“Stop shaking me!”)
sleep(100)
display.clear()
display.scroll(“Stop shaking me!”)
sleep(100)
Завершив код, сохраните свою работу и нажмите на Flash для отправки кода на прикрепленный micro:bit. Когда желтый светодиод на тыльной стороне micro:bit перестанет мигать, вы будете готовы использовать контроллер. Начните, наклонив micro:bit вперед, назад и из стороны в сторону. Напоследок, встряхните micro:bit для проверки жеста встряхивания.
Партнеры micro:bit
Спецификация оборудования micro:bit определяется потребностями его целевой аудитории — детьми и партнерами-поставщиками, такими как ARM, Freescale и Nordic Semiconductor, которые все вместе отвечают за CPU, акселерометр, магнитометр и Bluetooth LE. Вклад этих партнеров превратил плату из простого микроконтроллера в платформу для весьма продвинутых экспериментов.
В одном пакете мы можем создать беспроводной контроллер для камеры или робота и затем на следующий день, создать прокручивающуюся табличку с именем. Единственное ограничение micro:bit состоит в том, что он обеспечивает доступ только к пяти контактам GPIO. Но это преодолевается с помощью добавочной платы от Kitronix, другого партнера проекта micro:bit, который предоставляет полноценный GPIO для использования в проектах. Информацию об этом и ряде других продуктов можно найти на официальном сайте: https://www.kitronik.co.uk/microbit.html.
Общим дизайном micro:bit занималась Technology Will Save Us, которая работала с детьми над созданием платы подходящих размеров для маленьких ручонок и больших коннекторов.
Среди прочих партнеров проекта — Samsung, где создали мобильное приложение, способное программировать micro:bit через подключение Bluetooth. Это приложение идет с тремя проектами для проверки, а проект камеры для селфи весьма забавен и полезен, как и триггер запуска удаленной камеры для съемок жизни природы. Полный список партнеров — здесь: http://www.bbc.co.uk/mediacentre/mediapacks/microbit/partners.