Робототехника: практическое введение для детей и взрослых - стр. 20
Новый вариант программы показан на рис. 3.9, файл microbit-Вселенная-на-паузе.hex.
Рис. 3.9. Новая версия программы управления звездами
В блоке при начале мы задаем в переменной задержка начальное значение задержки, равное 0. При нажатии на кнопку B мы увеличиваем значение задержки на 50 мс.
В блоке постоянно мы использовали цикл если иначе. Как он работает?
В теле условия если ничего нет, поэтому если кнопка A нажата, то никакие блоки не выполняются и бесконечный цикл работает вхолостую. Но если кнопка A не нажата, то в дело включается тело иначе. Здесь у нас находится блоки, управляющие переключением звезд, а также блок паузы.
Как мы уже говорили, по умолчанию значение параметра для блока пауза, которое хранится в переменой задержка, равно нулю. Если вы будете нажимать кнопку B, то это значение будет увеличиваться на 50 мс при каждом нажатии. В результате жизнь наших звезд будет каждый раз замедляться.
Сенсорная кнопка в виде логотипа
В micro:bit версии 2 появилась сенсорная кнопка в виде логотипа (рис. 3.10). Ее можно нажимать, дотрагиваясь пальцем.
Рис. 3.10. Логотип стал сенсорной кнопкой
Для работы с сенсорной кнопкой в виде логотипа в палитре Ввод, в разделе micro:bit (V2) появились блоки onlogo и logoispressed (рис. 3.11).
Рис. 3.11. Блоки для работы с сенсорной кнопкой в виде логотипа
Блок onlogo получает управление, если дотронуться до логотипа пальцем. С помощью блока logoispressed можно проверить, нажат логотип в настоящее время, или нет.
На рис. 3.12 мы показали простейшую программу microbit2-Сенсорный-логотип.hex, реагирующую на нажатие логотипа.
Рис. 3.12. Обработка событий от логотипа
Если нажать логотип, на экране micro:bit появится галочка. Чтобы она исчезла, нажмите кнопку А.
В блоке onlogo можно указать, что событие от логотипа должно возникать только в том случае, если нажимать на него достаточно долго. Такое поведение демонстрирует программа microbit2-Логотип-нажат-долго.hex (рис. 3.13).
Рис. 3.13. Реагирование на длительное нажатие логотипа
Вы также можете регистрировать события, возникающие в момент отпускания логотипа. Для этого в меню блока onlogo выберите строку отжата.
Еще одна несложная программа microbit2-Сенсорный-логотип-2.hex демонстрирует использование блока logoispressed (рис. 3.14).
Рис. 3.14. Проверяем нажатие логотипа в цикле
Эта программа проверяет состояние кнопки логотипа в цикле. Пока логотип нажат, программа рисует на экране micro:bit бьющееся сердце. Но как только вы отпустите логотип, сердце исчезает!
Сенсорные контакты
Как мы уже говорили, во многих приборах используются сенсорные кнопки. Такие кнопки служат долго, т.к. в них нет механических движущихся деталей.
Сенсорные кнопки на micro:bit версии 2 могут работать в емкостном и резистивном режиме.
В емкостном режиме используется тот факт, что прикосновение к кнопке равносильно подключению к ней конденсатора.
В резистивном режиме предполагается, что человек касается одновременно кнопки и общего провода (земли, минуса источника питания). При этом изменяется сопротивление между кнопкой и землей от практически бесконечного до значений, исчисляемых единицами или десятками КОм.
Забегая вперед, заметим, что вы можете использовать в качестве сенсорных контактов выводы P0, P1 и P2 в качестве сенсорных кнопок. На рис. 3.11 эти контакты отмечены цифрами 0, 1 и 2. Подробнее мы расскажем о контактах разъема платы micro:bit в 7 и 8 главе нашей книги.