Новость из категории: Информация

BBC micro:bit: контроллер жестов Minecraft | Отправьте Стива полетать с вашим micro:bit

Содержание:


1. Введение;
2. Забавы с акселерометром;
3. Контроллер жестов Minecraft (Вы читаете данный раздел).
BBC micro:bit: контроллер жестов Minecraft | Отправьте Стива полетать с вашим micro:bit
Новый micro:bit и Raspberry Pi отлично работают в связке

Для этого проекта вам понадобится micro:bit, подключенный к Raspberry Pi, самая свежая ОС Raspbian и ПО Mu на Raspberry Pi (http://ardublockly-builds.s3-website-us-west-2.amazonaws.com/?prefix=microbit).

Основываясь на нашем предыдущем руководстве, мы используем micro:bit как контроллер для Minecraft на Raspberry Pi. Это руководство состоит из двух частей: код для micro:bit и код для Raspberry Pi. Начнем с кодинга micro:bit, и сперва откроем приложение Mu. Как обычно, импортируем библиотеки micro:bit — from microbit import *. Далее мы используем бесконечный цикл, чтобы проверить сделанный пользователем жест.
while True:
if accelerometer.was_gesture(‘shake’):

Если сделан правильный жест, код напечатает ‘shake’ оболочке и очистит матрицу светодиодов на micro:bit. Затем он прокрутит Teleport через экран перед перезагрузкой micro:bit, готового к следующему жесту.
print(“shake”)
display.clear()
display.scroll(“Teleport”)
sleep(100)
accelerometer.reset_gestures()
sleep(100)

Сохраните свою работу и отправьте код на при-кре п лен ный micro:bit.

Теперь переключимся на Python 3, найденный в меню Programming. Нажмите на File > New Window и в новом окне нажмите на File > Save и сохраните файл как mb-red-gestures.py.

Мы начнем код с импорта Minecraft и библиотек time и serial. Библиотека serial будет применяться для связи с micro:bit. Также импортируем функцию randint из библиотеки random.
import serial, time
from mcpi.minecraft import Minecraft
from random import randint

Затем создадим три переменные: port, baud и mc. Они будут хранить: номер порта, к которому подключен micro:bit; скорость в бодах, с которой нам надо взаимодействовать; и сокращение от функцию create в Minecraft, чтобы включить соединение с Minecraft.
port = “/dev/ttyACM0”
baud=115200
mc = Minecraft.create()

Теперь используем бесконечный цикл как контейнер нашего кода. В цикле мы используем библиотеку Serial для подключения к порту micro:bit, настроим baudrate (частота в бодах), parity (четность), databits (биты данных) и stopbits (биты окончания), а за тем попы таемся про чи тать данные, которые передаются через последовательное соединение:
s = serial.Serial(port)
s.baudrate = baud
s.parity = serial.PARITY_NONE
s.databits = serial.EIGHTBITS
s.stopbits = serial.STOPBITS_ONE

Прочитав данные и сохранив их в переменной с именем data, мы используем задержку в 0,1 секунды, чтобы притормозить код перед конвертированием данных в строку. Затем воспользуемся библиотекой Minecraft для получения текущей позиции игрока:
data = s.readline()
time.sleep(0.1)
data = str(data) x,y,z = mc.player.getPos()

Последний раздел нашего кода выясняет, присутствует ли слово ‘shake’ в переменной data, содержащей данные, переданные через последовательное соединение USB с нашего micro:bit. Если слово найдено, то в окне чата Minecraft размещается сообщение, и игрок телепортируется по воздуху на случайно выбранную дистанцию через карту местности:
if “shake” in data:
mc.postToChat(“Teleport”)
mc.player.setTilePos(x+(randint(-50,50)), y+(randint(1,50)),z)

Сохраните созданный код. Откройте приложение Minecraft и его мир. После загрузки вернитесь в Python 3 и нажмите на Run > Run Module. Вернитесь к Minecraft и теперь встряхните micro:bit. Может потребоваться несколько попыток, но вы увидите Teleport на своем экране и micro:bit перед тем, как ваш игрок телепортируется в другое место на карте!

Micro Python

В конце 2013 г. краудфандинговый проект, созданный Демиеном Джорджем (Damien George), увидел более сжатую версию Python 3, написанную специально для микроконтроллеров и поддерживающую плату под названием PyBoard. Micro Python стал очень мощной платформой, предлагающей опытным разработчикам на Python возможность разобраться в программировании физических устройств, включая популярную Wi-Fi плату ESP8266, которая получит Micro Python весной 2016 г.

Использование Micro Python на PyBoard не требует дополнительного ПО, а плата распознается как USB-дисковод. Код может быть написан в любом редакторе, сохранен на плату и запущен при перезапуске. Для проекта micro:bit обратились к Python Software Foundation (PSF) по вопросу создания реализации Python для micro:bit.

После ряда дискуссий между Николасом Толлервеем (Nicholas Tollervey), представляющим PSF, и BBC было принято решение, дающее доступ членам сообщества PSF, включая Демиена Джорджа, доступ к плате на ранних стадиях ради создания реализации. После долгих месяцев работы сообщества Python, теперь у нас есть крепкая реализация Micro Python, которая постоянно усовершенствуется сообществом. Одно из коронных достижений этого проекта — приложение Mu, которое мы использовали здесь. Mu— это возможная замена устаревающему редактору IDLE Python, в котором используется язык Python, но не очень-то учитываются потребности конечного пользователя.

Рейтинг статьи

Оценка
5/5
голосов: 1
Ваша оценка статье по пятибальной шкале:
 
 
   

Поделиться

Перевести статью:

Похожие новости

Комментарии

Информация