Кнопки
Любая программа чаще всего имеет элементы вывода информации и элементы ввода. В микроконтроллерах часто используются для этого кнопки
Мicrobit имеет две кнопки на лицевой части. Они называются A и B.
Напишите программу, которая выводит на дисплей информацию о кнопке A:
from microbit import *
sleep(10000)
display.scroll(str(button_a.get_presses()))
Микроконтроллер засыпает на 10 секунд (sleep(10000)). Вы нажимаете несколлько раз на кнопку
Следующая команда выводит количество нажатий button_a.get_presses()
button_a- указывает на объект кнопкаA. КнопкаBимеет указательbutton_b
get_presses()- функция (команда), которая возвращает количество нажатий
str()- функция, которая переводит число в строку
Предупреждение
Функция scroll() принимает только строковые значения.
Функции можно вкладывать в друг друга. Они выполняются в порядке раскрывания ( в начале самая вложенная) Примером может служить Матрешка. В таком случае выполнение по росту от маленькой до большой.
Отслеживание событий
Часто необходимо создать ожидание события. Вы создаете цикл, который опрашивает устройство и ждет от него выполнения условия.
Для создания такого цикла можно использовать while. Он проверяет, если условие
события возвращает True он запускает блок кода, называемый телом цикла.
Если возвращается False, он выходит из цикла и продолжает выполнять программу дальше:
from microbit import *
while not button_a.is_pressed():
display.show(Image.ASLEEP)
display.show(Image.SURPRISED)
not button_a.is_pressed()- кнопкаAне нажата (not), выводится изображениеImage.ASLEEPиначе
Image.SURPRISEDВы можете использовать логические операторы для отслеживания нескольких событий:
while not button_a.is_pressed() and not button_b.is_pressed():
Обработка событий
Если Вы хотите написать программу, которая реагирует на нажатие на кнопки, используйте
Условие if и метод is_pressed.
Зацикливание программы на постоянную проверку событий:
from microbit import *
while True:
if button_a.is_pressed():
display.show(Image.HAPPY)
else:
display.show(Image.SAD)
Если кнопка нажата отображается счастливый смайлик, иначе грустный.
Метод is_pressed дает только два результата: True или False.
Если вы нажимаете кнопку, она возвращает True, в противном случае возвращается
False.