Ler botão com Raspberry Pi Pico

Posted by

Olá a todos, vamos aprender como ler botão com Raspberry Pi Pico usando microPython. Em artigos anteriores tínhamos um LED piscando, que utilizava uma saída. Agora usaremos uma entrada do Pi Pico.

Botão com Raspbery Pi Pico
Botão com Raspbery Pi Pico

O diagrama esquemático para este experimento é simples, usaremos um único botão, um resistor e um LED. Isso se deve aos resistores pull up e pull down presentes dentro do Pi Pico, que podem ser ativados por código.

Raspberry Pi Pico lendo um botão
Raspberry Pi Pico lendo um botão


Meu código foi fortemente inspirado nesta postagem de blog. Estou usando o IDE Thonny para programar o Pi Pico.

from machine import Pin
import time

led = machine.Pin(18, machine.Pin.OUT)
onboard = machine.Pin(25, machine.Pin.OUT)
button = Pin(19, Pin.IN, Pin.PULL_DOWN)

led.off()
onboard.off()

while True:
    
         if(button.value()):
             onboard.on()
             led.off()
         else:
             onboard.off()
             led.on()

Explicando o código e os resultados

Fora do loop principal “while True:” eu primeiro desligo ambos os LEDs. Dentro do loop principal eu faço um if() para verificar se o botão foi pressionado. Então eu ligo e desligo os dois LEDs de forma alternada.

Veja que eu conectei um botão diretamente ao pino 19, sem resistor. Isto é porque eu ativei o pull down (um resistor interno do pino) via software.

button = Pin(19, Pin.IN, Pin.PULL_DOWN)

Você pode usar sua criatividade e conetar o botão com pull up ou pull down interno ou externo. Basta para isso brincar com o código. Então até a próxima pessoal, vejam também meu blog em Inglês aqui.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *