micro:bit — это одноплатный микрокомпьютер, созданный некоммерческой британской организацией The Micro:bit Educational Foundation специально для целей обучения основам программирования и схемотехники учеников всех школ в Великобритании, а также желающих изучить эти области знаний. Как следствие массовости, micro:bit является сегодня очень популярной платформой, имеющей огромное сообщество пользователей и созданных обучающих проектов, предоставленных в свободном доступе на официальном сайте организации.
«Make it: code it» — Собери и запрограммируй! — так встречает вас страница с проектами для micro:bit, а выполнив приведенные на ней проекты от самых простых до сложных, вы незаметно превратитесь из новичка в уверенного программиста, и даже более...
В этом обзоре мы познакомимся с 25-ю проектами среднего уровня сложности, реализуемыми на micro:bit:
- Счётчик шагов (Sensitive step counter)
- Компас (Compass North)
- Термометр (Max-min thermometer)
- Ночник (Nightlight)
- Воспроизвоим звуки (Make some noise)
- Музыкальный автомат (Jukebox)
- Сыграем простую мелодию (Frère Jacques loops)
- Телепортируем утёнка (Teleporting duck)
- Телепортируем стаю утят (Group teleporting duck)
- Скажи по-секрету! (Tell me a secret)
- Термометр для помещения и улицы (Indoor-outdoor thermometer)
- Маячок с сердечком (Heartbeat beacon)
- Охотимся за сокровищами (Treasure hunt)
- Следим за активносями (Activity array)
- Термометр со шкалой в градусах Фаренгейта (Fahrenheit thermometer)
- Музыкальный автомат с регулировкой громкости (Jukebox with volume)
- Простая сигнализация на дверь (Simple door alarm)
- Таймер с касанием (Touch timer)
- Секундомер (Touch stopwatch)
- Шумомер (Sound logger)
- Домашний любимец — micro:bit (micro:bit pet)
- «Уровень» (Spirit level)
- Звуковой компас (Sound compass)
- Электронная свеча (Candle)
- Хлопо-метр (Clap-o-meter)
Проект №1. Счётчик шагов (Sensitive step counter)
Шаг 1: Создаём.
В этом проекте предусматривается создание шагомера, который для более точных показаний можно адаптировать к своему стилю ходьбы. В нём вы узнаете, как micro: bit может собирать числовые данные об ускорении и применять пороговые значения к данным датчика для запуска событий, таких как увеличение счетчика шагов.
Как это работает:
Принцип работы основан на «считывании» жеста «встряхивания», получаемого во время выполнения шага, который использует несколько показаний датчика акселерометра. Пробуя на практике, вы скорее всего обнаружите, что жест «встряхнуть» не срабатывает каждый раз, когда вы делаете шаг, или что он срабатывает слишком легко, что приводит к неточному подсчету шагов. Для реализации более точного счетчика шагов, вместо использования жеста «встряхнуть» можно использовать числовые данные акселерометра, показывающие, сделали ли вы шаг. Если ускорение больше 1500, переменная шагов увеличивается на единицу и показывает количество шагов на выходе светодиодного дисплея. 1500 — это порог, по достижении которого движение запускает подсчет шага. Возможно, придется изменить число 1500, чтобы счетчик шагов стал более точным и подходил именно вам, поскольку это значение было определено такими же людьми, как вы, только являющимися сотрудниками micro: bit. Изменение порога срабатывания называется калибровкой. Обратите внимание, что когда micro: bit не движется, акселерометр дает показание силы около 1000. Это вызвано гравитацией Земли, действующей на micro: bit.
Что вам понадобится:
- micro: bit (или симулятор MakeCode),
- редактор MakeCode или Python (необязательно),
- источник питания (не обязательно),
- что-то для прикрепления micro: bit к вашей обуви или ноге (шнурок или липучка).
Шаг 2: Программируем.
Работать с оригиналом кода можно в редакторе MakeCode по ссылке на проект, или в Python.
Проект №2. Компас (Compass North)
Шаг 1: Создаём.
В этом проекте мы создадим простой компас, который будет указывать направление на север.
Как это работает:
Плата микрокомпьютера оснащена датчиком магнитного поля, называемым «магнетометр». Он может измерять магнитное поле Земли, поэтому эти данные можно использовать для создания компаса.
При первом использовании компаса вам будет необходимо откалибровать его. На экране появится небольшая игра, в которой вам нужно будет наклонить micro: bit, чтобы загорелся каждый светодиод, и тогда устройство будет готово к работе.
Программа использует бесконечный цикл для получения показаний компаса и сохраняет их в переменной, называемой ‘bearing’ (пеленг). Затем она использует оператор выбора if… else для отображения N для севера на светодиодном дисплее, если азимут больше (>), чем 315 градусов, или меньше (<) 45 градусов. Это означает, что micro:bit покажет вам приблизительное направление на север.
Что вам понадобится:
- micro: bit (или симулятор MakeCode),
- редактор MakeCode или Python (необязательно),
- источник питания (не обязательно),
- любая обитаемая или необитаемая планета с магнитным полем (планета Земля вполне подойдёт).
Шаг 2: Программируем.
Работать с оригиналом кода можно в редакторе MakeCode по ссылке на проект, или в Python.
Шаг 3: Модернизируем.
- Сделайте компас более точным, уменьшив диапазон пеленга: сделайте порог срабатывания меньше числа 45 и больше 315.
- Добавьте другие направления компаса, чтобы отображать направления, когда micro: bit указывает на восток, запад и юг.
- Добавьте звук, чтобы он издавал шум при направлении на север, что поможет пользоваться эитм компасом людям с ограниченными возможностями зрения.
Проект №3. Термометр (Max-min thermometer)
Шаг 1: Создаём.
В этом проекте мы создадим приложение, которое отслеживайте самые высокие и самые низкие температуры, пока работает запущенная на выполнение программа на micro: bit.
Как это работает:
Здесь используется датчик температуры внутри ЦП (центрального процессора) micro: bit для измерения температуры в °C (по-Цельсию).
Эта программа отслеживает самые низкие и самые высокие температуры, зарегистрированные с использованием 3 переменных: 'currentTemp' — текущее показание температуры, 'max' — максимум, 'min' — минимум.
В начале программы все они устанавливаются на одно и то же значение; бесконечный цикл гарантирует, что каждые две секунды требуется считывание, и программа сравнивает текущую температуру с переменными max и min.
Если текущая температура меньше, чем значение, хранящееся в переменной min, она изменяет переменную min, чтобы она была такой же, как текущая температура. Если текущая температура больше значения переменной max, она изменяет значение переменной max, чтобы она была такой же, как текущая температура. Программа также мигает точкой на светодиодном дисплее каждый раз, когда запускается бесконечный цикл, чтобы сигнализировать о том, что он работает. Для отображения минимума — нажмите кнопку A, чтобы отобразить максимум — кнопку B. Оставив работать устройство и программу на несколько дней, можно собрать данные для постороения графика изменения температур в течение суток.
Что вам понадобится:
- micro: bit (или симулятор MakeCode),
- редактор MakeCode или Python (необязательно),
- источник питания (не обязательно),
- источник тепла или охлаждения, например вентилятор, если вы хотите быстро увидеть изменение температуры - или вынесите micro: bit на улицу
- миллиметровая бумага, если вы хотите сохранить график температур в течение суток
Шаг 2: Программируем.
Работать с оригиналом кода можно в редакторе MakeCode по ссылке на проект, или в Python.
Проект №4. Ночник (Nightlight)
Шаг 1: Создаём.
Проект «Ночник» выполняет включение светодиодного экрана micro:bit при помещении его в темноту (при наступлении ночи).
Как это работает:
Здесь используются светодиоды micro: bit в качестве входа датчика освещенности. Накройте дисплей рукой и посмотрите, загорится ли он. В проекте определяется, падает ли свет на micro: bit, по определению уровня освещенности (значение меньше 100). Если да, то включается дисплей micro:bit, в обратном случае — выключаются. Вам может потребоваться отрегулировать пороговое значение 100 в зависимости от условий освещения, в которых вы находитесь.
Что вам понадобится:
- micro: bit (или симулятор MakeCode),
- редактор MakeCode или Python (необязательно),
- источник питания (не обязательно),
- источник света и что-либо для того, чтобы укрыть micro:bit от света
Шаг 2: Программируем.
Работать с оригиналом кода можно в редакторе MakeCode по ссылке на проект, или в Python.
Шаг 3: Улучшаем.
- Измените изображение, чтобы показать луну или звезду, когда стемнеет.
- Прикрепите насадку micro:bit к сумке или одежде, чтобы использовать ее в качестве дополнительного фонаря безопасности при ходьбе или езде на велосипеде. Как можно заставить её мигать, чтобы выделяться больше?
- Поэкспериментируйте с этим проектом в MakeCode, чтобы сделать светодиодный дисплей светлее и темнее в зависимости от количества света, падающего на micro: bit. Какие ещё вещи подобно реагируют на освещенность?
Проект №5. Воспроизводим звуки (Make some noise)
Шаг 1: Создаём.
Подсоедините наушники с помощью проводов с разъёмами к micro:bit и извлеките медодию!
Как это работает:
Чтобы извлекать звуки с помощью micro:bit, подсоедините наушники или динамик. Закрепите штекер наушников на контакте 0 на micro:bit. Закрепите более длинную часть разъема наушников на контакте GND на micro:bit.
Используйте программу, чтобы ваш micro: bit играл одну из своих встроенных мелодий при нажатии кнопки A. Золотые контакты в нижней части micro: bit используются для входов и выходов. Здесь мы используем вывод 0 в качестве выхода. Микробит посылает электрические сигналы с контакта 0 при воспроизведении мелодии. Наушники также должны быть подключены к контакту GND на micro: bit, чтобы замкнуть электрическую цепь.
Что вам понадобится:
- micro: bit (или симулятор MakeCode),
- редактор MakeCode или Python (необязательно),
- источник питания (не обязательно),
- пара наушников, зуммер или динамик с усилителем
- два зажима-крокодила
Шаг 2: Программируем.
Работать с оригиналом кода можно в редакторе MakeCode по ссылке на проект, или в Python.
Проект №6. Музыкальный автомат (Jukebox)
Шаг 1: Создаём.
Этот музыкальный автомат будет проигрывать различные мелодии при нажатии на кнопки платы!
Как это работает:
Музыкальный автомат — это устройство, которое проигрывает разные песни, когда вы кладете в него монету и выбираете мелодию, которую хотите услышать, нажимая кнопки. В этом музыкальном автомате micro: bit используются наушники или динамики, подключенные для воспроизведения звука, как и в предыдущем рассмотренно проекте. Наконечник разъема наушников подключен к контакту 0 micro: bit, длинная часть разъема наушников подключена к GND на micro: bit. Подключите контакт micro: bit 0 к концу штекера наушников, а GND - к более длинной части штекера наушников. Когда вы извлекаете звук с помощью micro: bit, вывод 0 становится выходом. Эта программа воспроизводит различные встроенные мелодии, если вы нажмете кнопку ввода A или кнопку B.
Что вам понадобится:
- micro: bit (или симулятор MakeCode),
- редактор MakeCode или Python (необязательно),
- источник питания (не обязательно),
- пара наушников, зуммер или динамик с усилителем
- два зажима-крокодила
Шаг 2: Программируем.
Работать с оригиналом кода можно в редакторе MakeCode по ссылке на проект, или в Python.
Проект №7. Сыграем простую мелодию (Frère Jacques loops)
Шаг 1: Создаём.
Этот проект позволит запрограммировать micro:bit так, чтобы сыграть известную мелодию или даже свою собственную!
Как это работает:
Подключите наушники к контактам 0 и GND на micro: bit. Контакт 0 работает как выход, когда проигрывается музыка. Программа использует музыкальные ноты для исполнения известной французской народной мелодии «Frère Jacques» и повторяет каждый такт дважды, поскольку используются циклы, которые воспроизводят каждый такт дважды, чтобы не программировать одни и те же ноты дважды. Использование подобных шаблонов является частью культуры кода, а также способом убедиться, что компьютерная программа максимально эффективна, использует наименьшее количество кода для выполнения задачи или исполнения музыкального произведения.
Что вам понадобится:
- micro: bit (или симулятор MakeCode),
- редактор MakeCode или Python (необязательно),
- источник питания (не обязательно),
- пара наушников, зуммер или динамик с усилителем
- два зажима-крокодила
Шаг 2: Программируем.
Работать с оригиналом кода можно в редакторе MakeCode по ссылке на проект, или в Python.
Проект №8. Телепортируем утёнка (Teleporting duck)
Шаг 1: Создаём.
Этот проект позволит переместить картинку утёнка с одного устройства micro: bit на другое!
Как это работает:
Запустите эту программу на обоих устройствах micro:bit, затем встряхните одно из них, и утка волшебным образом переместится по воздуху от одного к другому. Встряхните другой, чтобы отправить обратно. Это не совсем волшебство. Здесь используется функция радиосвязи micro: bit для передачи данных от одного micro: bit к другому, когда акселерометр обнаруживает жест встряхивания. Программа сначала устанавливает группу радиостанций равной 23. Группы подобны каналам в рациях; они могут быть числами от 0 до 255. Неважно, какой номер вы выберете, если micro: bit вашего друга использует тот же номер группы, и никто другой поблизости не использует ту же группу. Когда вы встряхиваете его, он посылает слово ‘DUCK’ (УТКА) на эту радиогруппу и очищает экран. Если какой-либо из micro: bit получает радиосообщение (любое радиосообщение), на его дисплее появляется значок утки, поэтому в один момент вы можете видеть только 1 утку.
Что вам понадобится:
- 2 устройства micro: bit (или симулятор MakeCode),
- редактор MakeCode или Python (необязательно),
- источник питания (не обязательно),
- друг для того, чтобы ловить утку и отправлять её обратно.
Шаг 2: Программируем.
Работать с оригиналом кода можно в редакторе MakeCode по ссылке на проект, или в Python.
Проект №9. Телепортируем стаю утят (Group teleporting duck)
Этот проект расширяет функционал предыдущего, включая в игру дополнительные устройства micro:bit, на которые можно переместить картинку утёнка и передать на другое!
Как это работает:
Как и в игре «Телепортация утки», здесь используется радиосвязь, чтобы отправить «утку» по воздуху между micro: bit. Если у вас более двух игроков, каждый micro: bit должен иметь возможность выбирать, какой игрок получит утку, чтобы программа каждого игрока имела уникальный идентификационный номер, начиная с 1. Мы сохраняем это в переменной с именем ID, и вам нужно будет изменить это значение на 2, 3, 4 и т.д. для каждого игрока, прежде чем записывать программу на их micro: bit. Задайте в переменной 'Players' значение количества людей, чтобы каждый мог получить утку. Программа показывает идентификационный номер игрока на светодиодном дисплее в начале игры, чтобы вы знали, у кого какой номер. Чтобы убедиться, что только игрок, у которого есть утка, может ее бросить, программа отправляет сообщение только тогда, когда вы встряхиваете ее, если у вас есть утка. Он отслеживает это с помощью логической переменной 'hasDuck'. Логические переменные могут иметь только два значения: True или False. В начале только у игрока 1 есть утка, никто другой не может ее бросить.
Когда игрок 1 встряхивает свой micro: bit, программа генерирует случайное число от 1 до количества игроков. Если случайное число не равно ее собственному идентификационному номеру, он отправляет новый идентификационный номер по радио, очищает ее экран и устанавливает для ее переменной 'hasDuck' значение False. Если случайное число совпадает с ее собственным идентификатором, ей нужно будет бросить еще раз, но это лучше, чем если бы утка была послана сама себе - и потерялась в гиперпространстве! Если ваш micro: bit получает число, он проверяет, совпадает ли оно с вашим идентификационным номером. Если это так, поздравляю, теперь у вас есть утка! На светодиодном дисплее появляется утка, а для переменной 'hasDuck' устанавливается значение True, что означает, что теперь вы можете передать утку кому-нибудь другому.
Телепортируйте уток ответственно: убедитесь, что вы не уронили свой micro: bit и не ударили друга, наслаждаясь этой игрой.)))
Что вам понадобится:
- 3 и более устройства micro: bit (или симулятор MakeCode),
- редактор MakeCode или Python (необязательно),
- источник питания (не обязательно),
- группа игроков.
Шаг 2: Программируем.
Работать с оригиналом кода можно в редакторе MakeCode по ссылке на проект, или в Python.
Проект №10. Скажи по-секрету! (Tell me a secret)
Этот проект использует функционал устройства micro:bit, для того чтобы отвечать по-секрету на вопрос!
Как это работает:
Для начала нужно запустить программу на обоих micro:bit. Вы и ваш друг задаете друг другу вопросы, на которые есть ответ «да» или «нет». Нажмите кнопку ввода A, чтобы отправить сообщение «да», и кнопку B, чтобы отправить сообщение «нет». На обоих выходах светодиодного дисплея micro: bits в течение полсекунды будет мигать галочка или крестик. Программа использует радиосвязь для тайной отправки вашего ответа — никто (кроме вашего партнера) не может слышать радиосигнал. Когда получено радиосообщение, программа использует выбор для проверки сообщения: если полученное сообщение равно «да», то на светодиодном дисплее отображается галочка, а если сообщение равно «нет», то отображается крест. Убедитесь, что номер радиогруппы одинаковый на обоих micro: bit (вы можете использовать любое число от 0 до 255). Если многие из вас используют эту программу в одном и том же месте, вы должны убедиться, что у каждой пары людей есть собственный номер радиогруппы. Держите номер своей радиогруппы в секрете, если вы не хотите, чтобы кто-то отслеживал ваши сообщения!
Что вам понадобится:
- 2 устройства micro: bit (или симулятор MakeCode),
- редактор MakeCode или Python (необязательно),
- источник питания (не обязательно),
- друг и секретный вопрос.
Шаг 2: Программируем.
Работать с оригиналом кода можно в редакторе MakeCode по ссылке на проект, или в Python.
Проект №11. Термометр для помещения и улицы (Indoor-outdoor thermometer)
Используйте 2 устройства micro:bit для удаленного измерения температуры!
Как это работает:
В этом проекте используются две разные программы, одна для наружного micro:bit, который определяет температуру и передает ее на радиогруппу 23. Наружный micro:bit использует датчик температуры для измерения температуры. Он использует радиосвязь для отправки этого показания температуры на внутреннее устройство micro:bit. Когда внутренний micro:bit получает значение температуры извне, он сохраняет его в переменной с именем 'outdoorTemp'. Когда вы нажимаете кнопку входа A на внутреннем micro:bit, он показывает собственное текущее значение температуры на выходе светодиодного дисплея. Когда вы нажимаете кнопку B, отображается показание температуры снаружи, сохраненное в переменной 'outdoorTemp'.
Что вам понадобится:
- 2 устройства micro: bit (или симулятор MakeCode),
- редактор MakeCode или Python (необязательно),
- источник питания (не обязательно),
- влагозащитный корпус или пластиковый бокс.
Шаг 2: Программируем.
Работать с оригиналом кода можно в редакторе MakeCode по ссылке на проект, или в Python.
Проект №12. Маячок с сердечком (Heartbeat beacon)
«Маячок» для отслеживания ценных вещей или домашних животных!
Как это работает:
В проеке используются две программы: программа передатчика (маяка) и приемника. Запрограммируйте программу-передатчик на первый micro: bit, подключите его к батарейному блоку и прикрепите к объекту, который хотите отслеживать. Используя бесконечный цикл, маяк передает маломощное радио-сообщение "привет" группе 73 каждые 2 секунды. (Вы можете использовать любой номер радиогруппы от 0 до 255, просто убедитесь, что программа-приемник использует тот же номер. Группы подобны телеканалам или рации.). Программа-приемник будет показывать сердечко на выходе светодиодного дисплея в течение 1 секунды каждый раз, когда получает сообщение по тому же каналу. Поскольку мы используем маломощный передатчик, вы должны быть достаточно близко к передатчику, иначе сигнал не будет передаваться.
Что вам понадобится:
- 2 устройства micro: bit (или симулятор MakeCode),
- редактор MakeCode или Python (необязательно),
- источник питания (не обязательно),
- объект для отслеживания.
Шаг 2: Программируем.
Работать с оригиналом кода можно в редакторе MakeCode по ссылке на проект, или в Python.
Проект №13. Охотимся за сокровищами (Treasure hunt)
Это — развитие темы предудущего проекта. Вы можете использовать несколько устройств для охоты за сокровищами использованием функций радиосвязи!
Как это работает:
Как и проект маячка Heartbeat, здесь используются две разные программы: одна для передачи радиосигналов, а другая — для приема сигналов. Запустите программу маяка (передатчика) на разные устрйства micro: bit, убедившись, что вы изменили число в переменной id так, чтобы каждый из них отличалсям. Маячки ненадолго показывают свой идентификационный номер на дисплее, чтобы вы знали, какой из них какой. Присоедините батарейные блоки, а затем скройте маяки, которые передают свои идентификационные номера каждые 200 миллисекунд (0,2 секунды). Запишите код приемника на micro: bits для охотников за сокровищами. Эта программа может быть одинаковой для всех приемников. Когда вы приближаетесь к маяку, программа-приемник показывает идентификатор, который она передает. Дисплей будет мигать, когда вы будете приближаться, и станет устойчивым, когда вы приблизитесь достаточно близко.
Что вам понадобится:
- несколько устройств micro: bit (или симулятор MakeCode) с источниками питания,
- редактор MakeCode или Python (необязательно),
- достаточно пространства для того, чтобы спрятать маячки.
Шаг 2: Программируем.
Работать с оригиналом кода можно в редакторе MakeCode по ссылке на проект, или в Python.
Проект №14. Следим за активносями (Activity array)
Если вам бывает трудно решить или договориться о том, что делать — используйте массивы для работы программы micro:bit, которая будет выбирать за вас!
Как это работает:
Ваш micro:bit хранит список ваших возможных действий в списке (или массиве), который называется «параметры». Массивы являются действительно полезным способом хранения данных в списках. Когда вы нажимаете кнопку A, он случайным образом выбирает элемент из списка и отображает его на светодиодном дисплее. Использование массива упрощает изменение кода для добавления дополнительных параметров в список. Поскольку код измеряет длину массива, вам никогда не нужно изменять код случайных чисел, вы можете просто добавлять элементы и убирать элементы из списка. Программа выбирает случайное число и сохраняет его в переменной под названием 'choice' (выбор). Число будет между 0 и на единицу меньше длины массива, потому что компьютеры обычно начинают подсчет элементов в массивах с 0. 'PE with Joe' — это элемент под номером 0 в списке, последний элемент 'bake a cake' — это номер 5 (но массив при этом состоит из 6 элементов).
Что вам понадобится:
- устройство micro: bit (или симулятор MakeCode),
- редактор MakeCode или Python (необязательно),
- источник питания (не обязательно).
Шаг 2: Программируем.
Работать с оригиналом кода можно в редакторе MakeCode по ссылке на проект, или в Python.
Проект №15. Термометр со шкалой в градусах Фаренгейта (Fahrenheit thermometer)
В этом проекте вы будете использовать простую функцию для преобразования показаний по шкале Цельсия с датчика температуры micro:bit в градусы Фаренгейта.
Как это работает:
Процессор micro:bit имеет встроенный вход датчика температуры, который дает показания в градусах Цельсия. Использование функций позволяет легко переводить температуру в градусы Фаренгейта. Функция convertCtoF означает, что вы можете легко повторно использовать код преобразования, например, в термометре максимума-минимума. Функция вызывается с помощью convertCtoF вместо переменной или числа, когда вы нажимаете кнопку B на вашем micro: bit. Функция берет переданное ей число, хранит его в переменной C, и преобразует его в градусы Фаренгейта, умножая его на 1,8 и прибавляя 32. Затем функция возвращает преобразованное число, поэтому при нажатии кнопки B температура отображается в градусах Фаренгейта на выходе светодиодного дисплея. Если вы нажмете кнопку A, температура будет отображаться в градусах Цельсия.
Что вам понадобится:
- устройство micro: bit (или симулятор MakeCode),
- редактор MakeCode или Python (необязательно),
- источник питания (не обязательно).
Шаг 2: Программируем.
Работать с оригиналом кода можно в редакторе MakeCode по ссылке на проект, или в Python.
Проект №16. Музыкальный автомат с регулировкой громкости (Jukebox with volume)
Этот проект дополняет проект №6 функцией регулировки громкости. Он также проигрывает различные мелодии при нажатии кнопок А или В, но дополнительно можно ещё и регулировать громкость, поворачивая плату micro:bit вокруг одной из её осей.
Как это работает:
Текущее значение громкости хранится в переменной под названием volume. Значение volume у micro: bit может быть от 0 до 255. Акселерометр определяет, когда вы наклоняете свой micro: bit влево и вправо. Если вы наклоните его влево, переменная громкости уменьшится на 32 едиинцы. Когда вы наклоняете его вправо, переменная громкости увеличивается на 32. Мы используем блоки if ... then, чтобы не допустить, чтобы переменная громкости опускалась ниже 0 или выше 255, поскольку громкость micro: bit не может опускаться ниже 0 или выше 255. Блок навсегда обновляет фактическую громкость micro: bit с учетом изменений, которые вы вносите в переменную громкости при ее наклоне. Он также обновляет гистограмму, чтобы вы могли видеть визуальное представление текущей настройки громкости.
Что вам понадобится:
- устройство micro: bit (или симулятор MakeCode),
- редактор MakeCode или Python (необязательно),
- источник питания (не обязательно).
Шаг 2: Программируем.
Работать с оригиналом кода можно в редакторе MakeCode по ссылке на проект, или в Python.
Проект №17. Простая сигнализация на дверь (Simple door alarm)
В этом проекте с помощью micro:bit, батарейного блока и магнита вы можете включить будильник, чтобы предупредить вас о непрошенных гостях ....
Как это работает:
В этом проекте вы создадите дверную сигнализацию, которая работает так же, как настоящий дверной датчик в домашней системе безопасности. Ваш micro: bit имеет встроенный датчик компаса, называемый магнитометром. Вы можете использовать его для измерения магнитного поля Земли в качестве компаса или для определения того, насколько сильные магнитные поля находятся рядом! Закрепите магнит в углу двери и micro: bit рядом с ниа на одном уровне на дверной коробке, как на видео. Программа использует входной датчик компаса (магнитометра) micro: bit и бесконечнй цикл для измерения силы магнитного поля. Он использует выбор, поэтому, когда он опускается ниже определенного уровня (порога), он показывает сердитое лицо на светодиодном дисплее. Это означает, что магнит отошел от micro: bit — когда дверь открылась — значит, кто-то мог открыть дверь!
При нажатии кнопки A отображается текущее значение магнитной силы. Используйте это, чтобы решить, какой номер порога срабатывания использовать, сняв показания при открытой и закрытой двери. В нашем примере мы использовали 200, но это зависит от того, насколько силен ваш магнит и есть ли поблизости другие магнитные поля. Нажмите кнопку A, чтобы очистить сердитое лицо и сбросить сигнал тревоги. Обратите внимание, что при первом использовании датчика компаса вам, возможно, придется откалибровать его, играя в игру, чтобы заполнить экран точками, наподобии калибровки компаса в мобильном телефоне.
Что вам понадобится:
- устройство micro: bit (или симулятор MakeCode),
- редактор MakeCode или Python (необязательно),
- источник питания (не обязательно),
- магнит
- крепежные элементы
Шаг 2: Программируем.
Работать с оригиналом кода можно в редакторе MakeCode по ссылке на проект, или в Python.
Проект №18. Таймер с касанием (Touch timer)
В этом проекте мы создадим простейший таймер, используя возможности встроеного сенсора касания micro:bit
Как это работает:
Программа подсчитывает, как долго вы удерживаете палец на золотом логотипе на плате micro: bit, а затем измеряет, как долго он был включен, в миллисекундах. Это называется временем работы. Блок «прикосновение к логотипу» срабатывает при первом прикосновении к логотипу. Он показывает сердце на светодиодном дисплее и устанавливает переменную под названием start, чтобы фиксировать текущее время работы. Блок «Отпущенный логотип» распознает, когда вы отпускаете логотип. Затем код вычитает время начала из нового времени работы. Разница между временем работы, когда вы отпускаете, и временем, когда вы касались его — это общее время, в течение которого вы держали палец на логотипе. Это хранится в переменной time. Затем код преобразует время из миллисекунд в секунды, разделив его на 1000, и отображает его на светодиодном дисплее.
Что вам понадобится:
- устройство micro: bit (или симулятор MakeCode),
- редактор MakeCode или Python (необязательно),
- источник питания (не обязательно),
Шаг 2: Программируем.
Работать с оригиналом кода можно в редакторе MakeCode по ссылке на проект, или в Python.
Проект №19. Секундомер (Touch stopwatch)
В этом проекте мы создадим секундомер, используя возможности встроеного сенсора касания micro:bit
Как это работает:
Запускаем программу на новый micro: bit со встроенным динамиком. Нажмаем кнопку A, чтобы запустить секундомер. Во время отсчета времени на светодиодном дисплее отображается анимированное бьющееся сердце.
Нажмите кнопку B, чтобы остановить его. Вы можете запускать и останавливать его сколько угодно раз, и он будет продолжать прибавлять время, как настоящий секундомер. Нажмите на логотип gold touch на передней панели micro: bit, чтобы отобразить измеренное время в секундах. Чтобы сбросить время до нуля, нажмите кнопку сброса на задней панели
Что вам понадобится:
- устройство new micro: bit со звуком(или симулятор MakeCode),
- редактор MakeCode или Python (необязательно),
- источник питания (не обязательно),
Шаг 2: Программируем.
Работать с оригиналом кода можно в редакторе MakeCode по ссылке на проект, или в Python.
Проект №20. Шумомер (Sound logger)
В этом проекте мы создадим устройство для измерения уровня шума в окружающем пространстве.
Как это работает:
Новый micro: bit измеряет уровни звука в диапазоне от 0 до 255, наподобии датчика света. Запущенный цикл постоянно сравнивает текущий уровень звука с переменным maxSound, сохраняя самый высокий уровень звука. Если текущий звук громче, чем самый громкий предыдущий звук, он сбрасывает maxSound на новое значение самого громкого звука. Внутри цикла оператор if проверяет, нажали ли вы кнопку A. Если да, он показывает номер уровня звука на выходе светодиодного дисплея. Сбросьте максимальное значение, нажав кнопку сброса на задней панели micro: bit.
Что вам понадобится:
- устройство new micro: bit со звуком(или симулятор MakeCode),
- редактор MakeCode или Python (необязательно),
- источник питания (не обязательно),
Шаг 2: Программируем.
Работать с оригиналом кода можно в редакторе MakeCode по ссылке на проект, или в Python.
Проект №21. Домашний любимец — micro:bit (micro:bit pet)
В этом проекте мы создадим код своего электронного питомца и настроим его так, чтобы он стал вашим собственным. Новый встроенный динамик micro: bit делает этот проект ещё более увлекательным благодаря новым выразительным звукам.
Как это работает:
Тамагочи — электронные домашние животные были изобретены в Японии в 1990-х годах и вскоре стали популярными игрушками во всем мире. Это небольшие гаджеты, которые можно носить с собой. Существо показано на простом дисплее. За ним нужно ухаживать, взаимодействуя с ним, нажимая кнопки и играя в простые игры. Если вы проигнорируете его и не будете кормить и не чистить, он станет грустным, а иногда оно плохо себя ведет или плохо себя чувствует. В коде используется переменная, называемая таймером, чтобы отслеживать, как долго вашего питомца игнорировали. Цикл добавляет 1 к таймеру каждую 1 секунду (1000 миллисекунд). Если таймер достигает 20, ваш питомец показывает грустное лицо на светодиодном дисплее и издает грустный звук на выходах встроенных динамиков. Если он достигает 30, ваш питомец засыпает. Если он достигает 40, ваш питомец издает загадочный звук и умирает. Код использует блок «отключить встроенный динамик», чтобы остановить любые другие звуки, исходящие из динамика. Цикл while true гарантирует, что на светодиодном дисплее отображается только значок черепа. Однако ваш питомец останется живым и счастливым, если вы с ним взаимодействуете! Погладьте логотип, чтобы он понравился, или встряхните, чтобы он захихикал. Это сбрасывает таймер обратно на 0. Если ваш питомец умирает, вы можете вернуть его к жизни, нажав кнопку сброса на задней панели micro: bit.
Что вам понадобится:
- устройство new micro: bit со звуком(или симулятор MakeCode),
- редактор MakeCode или Python (необязательно),
- источник питания (не обязательно),
Шаг 2: Программируем.
Работать с оригиналом кода можно в редакторе MakeCode по ссылке на проект, или в Python.
Проект №22. «Уровень» (Spirit level)
В этом проекте мы создадим устройство для измерения горизонта — уровень. Звуковая индикация облегчит задачу определения достижения горизонтального уровня.
Как это работает:
Акселерометр micro: bit может измерять углы наклона в двух направлениях: вверх и вниз (тангаж, pitch) и из стороны в сторону (крен, roll). В этом проекте этот функционал используется для отображения момента, когда micro: bit находится в горизонтальном положении на светодиодном дисплее, и для воспроизведения звука, что имеет практическую ценность. Цикл позволяет программе постоянно измерять угол micro: bit. Если акселерометр измеряет угол наклона от +5 до -5 градусов как по тангажу, так и по крену, бит micro: bit сигнализирует "уровень". Затем он показывает галочку на выходе светодиодного дисплея и воспроизводит музыкальный звук. Чтобы услышать звук, подключите наушники или динамик к контакту 0 и GND, или, если у вас есть новый бит micro: bit, вы услышите его на встроенном динамике. Если шаг или крен выходят за пределы диапазона от +5 до -5 градусов, на светодиодном дисплее отображается крестик, и звук прекращается.
Что вам понадобится:
- устройство new micro: bit со звуком(или симулятор MakeCode),
- редактор MakeCode или Python (необязательно),
- источник питания (не обязательно),
Шаг 2: Программируем.
Работать с оригиналом кода можно в редакторе MakeCode по ссылке на проект, или в Python.
Проект №23. Звуковой компас (Sound compass)
В этом проекте мы создадим электронный компас. Звуковая индикация облегчит задачу определения достижения направления на север.
Как это работает:
В цикле micro: bit проверяет, в каком направлении он размещен. Он сохраняет это в переменной, называемой направлением (direction). Если направление находится между 355 и 5 градусами, вы смотрите на север, поэтому на светодиодном дисплее отображается буква N и издается звуковой сигнал. Если у вас новый micro: bit, вы услышите звук из встроенного динамика, или вы можете подключить наушники к контакту 0 и GND. Если вы смотрите не на север, дисплей очищается и звук прекращается. Вы также можете нажать кнопку A, чтобы увидеть показание компаса на светодиодном дисплее, если вы не смотрите на север. Когда вы впервые используете проект компаса на своем micro: bit, вам будет необходимо откалибровать компас и убедиться, что он работает правильно. Наклоните экран, чтобы на нем загорелся каждый светодиод.
Что вам понадобится:
- устройство new micro: bit со звуком(или симулятор MakeCode),
- редактор MakeCode или Python (необязательно),
- источник питания (не обязательно),
Шаг 2: Программируем.
Работать с оригиналом кода можно в редакторе MakeCode по ссылке на проект, или в Python.
Проект №24. Электронная свеча (Candle)
В этом проекте мы создадим электронную свечу, которую можно задуть! Новый встроенный микрофон micro: bit улавливает звук вашего дыхания и выключает свечу, а затем снова включает ее.
Как это работает:
Случайное число от 1 до 3 сохраняется в переменной, называемой мерцанием (flicker). Это число используется для случайного включения и выключения светодиодов, чтобы они выглядели как мерцающее пламя.
Светодиоды micro: bit расположены в сетке со столбцами и строками, пронумерованными от 0 до 4. Программа отображает (включает) и отключает (отключает) различные светодиоды в верхнем ряду в зависимости от случайного числа, хранящегося в мерцании. переменная. Координаты светодиодов всегда задаются сначала столбцом (ось x), а затем строкой вверх и вниз (ось y). Середина пламени находится в координате 2, 0.
сетка, показывающая координаты светодиодного дисплея micro: bit
Цикл поддерживает постоянную работу анимации. Программа также использует переменную под названием lit, чтобы отслеживать, горит ли свеча или нет. Это логическая переменная. Логические переменные могут иметь только два значения: истина (включена) или ложь (выключена). Когда датчик микрофона улавливает громкий звук, например, когда вы в него дуете, код переключает значение «горит» (lit), устанавливая его в «не горит» (not lit).
Что вам понадобится:
- устройство new micro: bit со звуком(или симулятор MakeCode),
- редактор MakeCode или Python (необязательно),
- источник питания (не обязательно),
Шаг 2: Программируем.
Работать с оригиналом кода можно в редакторе MakeCode по ссылке на проект, или в Python.
Проект №25. Хлопо-метр (Clap-o-meter)
В этом проекте мы создадим систему, определяющую как долго раздаются апплодисменты или просто какой-то громкий звук, фиксируемый встроенным микрофоном в new micro:bit.
Как это работает:
При запуске программы устанавливается порог срабатывания громкости звукового события. Вы можете использовать любое число от 0 до 255. Переменная start установлена в 0. Это используется для отслеживания начала громкого звука. Когда микрофон улавливает громкий звук, в качестве переменной start устанавливается текущее время работы micro: bit, и на светодиодном дисплее отображается значок, чтобы вы знали, что таймер запустился.
Время выполнения — это мера того, как долго ваш micro: bit выполнял программу в миллисекундах. Когда громкий звук прекращается, запускается тихое звуковое событие. Если уже произошло громкое событие и таймер запустился, переменная start будет иметь значение больше 0. В этом случае переменная с именем time устанавливается на новое текущее время работы минус время запуска. Это говорит нам о том, как долго длился громкий звук. Поскольку время измеряется в миллисекундах, программа делит его на 1000, чтобы преобразовать его в секунды и отобразить на светодиодном дисплее.
Что вам понадобится:
- устройство new micro: bit со звуком(или симулятор MakeCode),
- редактор MakeCode или Python (необязательно),
- источник питания (не обязательно),
Шаг 2: Программируем.
Работать с оригиналом кода можно в редакторе MakeCode по ссылке на проект, или в Python.
Итак, мы рассмотрели 25 проектов среднего уровня сложности для микрокомпьютера micro:bit. Они знакомят пользователей со встроенными функциями и возможностями используя их создавать интересные приложения для практического применения.