Робототехника: практическое введение для детей и взрослых - страница 18



logo и 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 главе нашей книги.

На рис. 3.15 мы показали программу microbit2-Сенсорный-контакт.hex, которая делает то же самое, что и программа microbit2-Сенсорный-логотип-2.hex.



Рис. 3.15. Используем контакт P0 в качестве сенсорной кнопки

В начале своей работы программа устанавливает один из двух возможных режимов работы сенсорного контакта – емкостной или резистивный. Чтобы использовать емкостной режим, в меню блока setP0 totouchmode выберите строку capacitive, а чтобы в резистивном – строку resistive.

Блок setP0 totouchmode находится в палитре Расширенные, Контакты, еще, в разделе micro:bit (v2).

Загрузив программу в микроконтроллер, дотроньтесь пальцем до контакта, обозначенного на плате micro:bit цифрой 0. Пока вы держите палец, на экране micro:bit будет биться сердце.

Домашнее задание

В качестве первого домашнего задания попробуйте самостоятельно доработать программу microbit-Счетчик.hex (рис. 3.6) таким образом, чтобы при нажатии двух кнопок одновременно текущее значение счетчика сбрасывалось в нулевое значение.

Решение вы сможете найти в файле microbit-Счетчик-со-сбросом.hex, загрузив архив программ с сайта автора этой книги http://frolov-lib.ru/books/boxrover/.