Шрифт:
Домашнее задание
В качестве первого домашнего задания попробуйте самостоятельно доработать программу microbit-Счетчик.hex (рис. 3.6) таким образом, чтобы при нажатии двух кнопок одновременно текущее значение счетчика сбрасывалось в нулевое значение.
Решение вы сможете найти в файле microbit-Счетчик-со-сбросом.hex, загрузив архив программ с сайта автора этой книги http://frolov-lib.ru/books/boxrover/.
В качестве второго самостоятельного задания добавьте к программе microbit-Вселенная-на-паузе.hex (рис. 3.9) код, который сбрасывает задержку к исходному значению при одновременном нажатии кнопок A и B.
Решение этого задания есть в файле microbit-Вселенная-на-паузе-со-сбросом.hex.
В качестве третьего домашнего задания попробуйте сделать кодовый замок. Замок должен работать следующим образом.
Чтобы открыть замок, вам нужно нажать четыре раза кнопку A, и один раз – кнопку B (в любой последовательности). Только эта комбинация должна открыть замок.
Для проверки состояния замка нажмите кнопки A и B одновременно. Если замок открылся, на экране micro:bit должно быть нарисовано сердечко, если нет, то крестик.
Решение третьего задания вы найдете в файле microbit-Секретный-счетчик.hex.
И, наконец, в четвертом домашнем задании попробуйте изменить режим set P0 to touch mode с емкостного на резистивный. Учтите, что это задание нужно выполнять на micro:bit версии 2.
Программа с измененным режимом записана в файле microbit2-Сенсорный-контакт-2.hex. Проверьте, есть ли разница в работе этой программы при изменении режима.
Итоги
Во третьей главе мы познакомились с обработкой событий от кнопок A и B, расположенных на лицевой стороне платы микрокомпьютера micro:bit, а также от сенсорной кнопки micro:bit версии 2, роль который играет логотип. Вы научились проверять текущее состояние кнопок во время работы программы.
Вы научились задавать действия при нажатии кнопок A и B, а также в тех случаях, когда эти кнопки были нажаты одновременно. Кроме того, вы теперь можете использовать контакты P0, P1 и P2 в качестве сенсорных кнопок.
Также вы усложнили программу зажигания звезд на экране микрокомпьютера и сделали так, что ее работа стала зависеть от текущего состояния кнопок.
При выполнении домашних заданий вы доработали программу управления счетчиком и звездами в вашей микро-вселенной, создали кодовый замок и испытали два разных режима работы сенсорных контактов – емкостной и резистивный.
4. Измеряем температуру
Мы уже писали во введении к этой книге, что «на борту» микроконтроллера micro:bit имеется измеритель температуры. Физически он находится внутри процессора, и поэтому, строго говоря, измеряет не температуру окружающего воздуха, а температуру самого процессора.
Так как процессор micro:bit потребляет очень малую энергию, то в первом приближении можно считать, что его температура примерно соответствует температуре окружающей среды. Конечно, для более точных измерений не обойтись без специального внешнего термометра (и мы его подключим позже, когда займемся моделью марсохода BoxRover), но сейчас для нас будет вполне достаточно измерителя температуры, интегрированного в micro:bit.
Как работает измеритель температуры
Здесь, конечно, нас не будут интересовать ртутные или иные аналоговые градусники. Нам интересно узнать, как измеряется температура в электронных устройствах.
Для измерения температуры применятся так называемые терморезисторы. Терморезистор представляет собой полупроводниковый прибор, сопротивление которого зависит от температуры.
Зависимость эта нелинейная, однако можно выставить рабочую точку терморезистора так, что она попадет на линейный участок. В этом случае по изменению сопротивления терморезистора можно будет судить об изменении его температуры.
В простейшем случае можно подключить терморезистор к батарейке через миллиамперметр, и проследить за изменением проходящего тока при нагреве или охлаждении терморезистора (рис. 4.1).
Рис. 4.1. Включение терморезистора
Конечно, настоящие схемы измерения температуры совсем не такие, но для понимания принципа и этого будет достаточно.
Вы также можете контролировать изменение сопротивления терморезистора с помощью омметра или тестера, переключенного в режим измерения сопротивления.