Continuando nossa aventura com a Micro:bit programada em MicroPython, neste artigo vamos aprender como fazer a leitura dos botões A e B, presentes na placa.
Hardware para leitura dos botões da Micro:bit
Antes de passarmos para a programação, vamos entender como os botões estão ligados na placa. A figura a seguir exibe o esquemático da placa, onde estão os botões:
Há um resistor de pull-up em cada botão. O botão A está ligado ao pino P0.17 e o botão B ao pino P0.26 do NRF51822. Dessa forma, quando o botão está solto há nível lógico alto no pino e quando pressionado, vai para nível lógico baixo.
Classe Button
Há dois botões na placa A e B, representados pelos atributos button_a e button_b.
Os seguintes métodos estão disponíveis para leitura dos botões da Micro:bit com MicroPython:
|
is_pressed() |
retorna verdadeiro se o botão for pressionado no momento em que a instrução for executada |
|
was_pressed() |
retorna verdadeiro se o botão foi pressionado desde que a Micro:bit foi iniciada ou da última vez que o método foi chamado |
|
get_presses() |
retorna o número de vezes que o botão foi pressionado desde que a Micro:bit foi iniciada ou da última vez em que o método foi chamado |
|
reset_presses() |
reinicia a contagem de vezes que o botão foi pressionado |
Exemplo para leitura dos botões da Micro:bit com MicroPython
O exemplo a seguir faz a leitura dos botões e exibe no display qual botão está pressionado:
from microbit import *
while True:
if button_a.is_pressed():
display.show("A")
elif button_b.is_pressed():
display.show("B")
else:
display.clear()
O Exemplo abaixo exibe quantas vezes o botão A foi pressionado após 5 segundos que a placa foi ligada:
from microbit import * sleep(5000) display.show(button_a.get_presses())
Conclusão
A leitura dos botões da Micro:bit com o MicroPython é bem simplificada. Os métodos ajudam nesse processo e facilitam a criação de interface humana.
Nos próximos artigos iremos explorar mais recursos da Micro:bit.
Se ficou alguma dúvida ou tem alguma sugestão, deixe seu comentário abaixo.
Saiba mais
MicroPython: Python para microcontrolador











