Проект 12. Волшебная кнопка
Узнайте, как обнаружить магнетизм вокруг микро: бит!
Возраст: 8+
Время: 30 мин
Редактор: блочный редактор MakeCode
Вступление:
Это простой фокус, который вы можете выполнить, чтобы удивить своих друзей, волшебным образом переключая кнопки A и B на микро:бит!
Как это работает:
Единственное волшебство здесь кроется в коде и встроенном компасе микро:бит. Этот трюк использует магнит, спрятанный в вашей руке, чтобы заставить микро:бит поменять функции кнопок местами при наличии рядом сильного магнитного поля. Кнопка A начинает работать как кнопка B, а кнопка B начинает работать как кнопка A, если к микро: бит поднести магнит.
Что вам нужно:
Единственное, что вам нужно для этого трюка, это ваш микро:бит и любой магнит, который достаточно мал, чтобы поместиться в вашей руке, даже магнит на холодильник будет работать.
Ход урока:
Шаг 1
Прежде чем создавать код для фокуса, нам нужно заставить кнопки работать так, как вы ожидаете: чтобы при нажатии кнопки A отображалось «A», а при нажатии кнопки B отображалось «B».
Шаг 2
Мы будем использовать компас микро:бит для обнаружения магнита. Компас сообщает нам, в каком направлении мы находимся, обнаруживая магнитное поле Земли, но он также может обнаружить любой другой магнит поблизости. Мы будем использовать это, чтобы проверить, находится ли наш магнит рядом с микро: бит, с помощью блока «сила магнитного поля», который находится в разделе «Ввод» в подразделе «еще».
Создадим новую переменную «sila», в которую будем записывать текущее значение силы магнитного поля вокруг микро:бит. Поскольку мы хотим измерить только силу магнитного поля (а не направление линий магнитного поля), то мы выбираем в раскрывающемся списке, пункт «сила».
Теперь мы можем измерить магнитную силу около микро:бит. Если, измеренное нами значение магнитной силы достаточно большое, то мы можем утверждать, что рядом с микро:бит находится сильный магнит.
Шаг 3
Если вы когда-либо играли с магнитами, вы знаете, что у них два конца, которые называют северным и южным полюсами. В зависимости от того, какой конец магнита направлен на микро:бит, измерение магнитной силы будет либо отрицательным числом, например “-50”, либо положительным числом, например, “50”. В данном примере нам всё равно отрицательная или положительная сила магнитного поля, т.к. программа должна срабатывать вне зависимости от того, какую сторону магнита мы приблизили к микро:бит. Поэтому мы должны использовать блок «абсолютное значение» из раздела «Математика», чтобы не учитывать знак «-». Абсолютное значение (модуль) отсекает минус в числе, если таковой имеется.
Шаг 4
В настоящий момент наш код для обнаружения находящегося рядом магнита сработает только один раз, поэтому нам нужно поместить его внутрь блока «постоянно», чтобы он вновь и вновь проверял, находится ли магнит рядом.
Создадим переменную «magnit blizko», в которую будем помещать данные о наличии или отсутствии магнита рядом с микро:бит. Мы также должны убедиться, что переменная «magnit blizko» имеет значение ЛОЖЬ при запуске нашей программы (когда магнита нет поблизости).
Переменная в программировании может принимать кроме численных значений еще и логические значения: ИСТИНА или ЛОЖЬ. Значения ИСТИНА и ЛОЖЬ называются логическими значениями переменной или «булевыми» значениями (от англ. слова boolean – логический).
Если у переменной значение ИСТИНА – значит она выполняется; если ЛОЖЬ, то не исполняется.
Шаг 5
Теперь мы можем проверять значение нашей переменной «magnit blizko» всякий раз, когда захотим. И мы будем знать, что магнит находится рядом, если значение переменной «magnit blizko» равно ИСТИНА. Давайте использовать это, чтобы изменить работу кнопок и завершить код для нашего фокуса. Мы добавим блок «ЕСЛИ..ИНАЧЕ» к коду каждой кнопки и будем проверять следующее условие: если «magnit blizko» равно ИСТИНА, то мы изменяем функцию кнопок на противоположные, иначе функция кнопки останется как прежде.
Шаг 6
Теперь вам просто нужно запрограммировать свой собственный микро:бит и попрактиковаться с трюком несколько раз, прежде чем выступать перед друзьями. В зависимости от силы вашего магнита и дальности его расположения от микро:бит, можете поменять условие смены кнопок при силе >100 или >30.
Теперь только Вы с магнитом в руке сможете обладать силой менять назначение кнопок. Осталось только придумать историю к фокусу и можно удивлять своих друзей.
Вызов:
Попробуйте добавить следующую функциональность:
- Добавить анимацию, когда значение магнитной силы становится выше определенного значения (например, при поднесении магнита начинало пульсировать сердечко).
- Добавьте возможность выведения на экран силы магнетизма в данный момент вокруг микро:бит, при нажатии кнопок «A + B».