Programação da Raspberry Pi Pico em Python
Introdução
A novíssima Raspberry Pi Pico finalmente chegou ao Brasil e está na hora de começar a usá-la! A Pico é uma placa microcontrolada que pode ser programada em Python (a linguagem de programação mais popular atualmente do #MovimentoMaker) através do interpretador MicroPython. Este interpretador possui diversas ferramentas e bibliotecas para o controle de várias placas microcontroladas, dentre elas a própria Pico. Mas como utilizar esse interpretador para programar a placa?
Neste tutorial veremos como instalar e configurar corretamente a Thonny IDE para a criação e a execução de códigos Python na Raspberry Pi Pico. Como exemplo inicial, iremos carregar o exemplo "Blink" e ver o LED interno da placa piscar de 1 em 1 segundo.
Lista de Materiais
Lista completa de produtos
comprarRaspberry Pi Pico
Cabo USB Micro B 80cm
Configurações Iniciais
Para programar a Raspberry Pi Pico, precisamos realizar duas configurações iniciais, que são a configuração da Thonny IDE e a gravação do firmware para a linguagem Python.
Configurações da IDE
O primeiro passo para a programação da placa é a instalação da Thonny IDE, que é o ambiente onde desenvolvemos e pelo qual gravamos o código na placa. Para isso, acesse a página de download da IDE pelo botão abaixo, e então escolha a opção certa para o seu sistema operacional, como mostrado na imagem embaixo do botão. Para a instalação em computadores Linux não é necessário baixar um arquivo, apenas enviar o comando exibido na janela que é aberta ao colocar o mouse sobre a opção "Linux" pelo terminal de comandos.
Download da Thonny IDECom o arquivo baixado (em computadores Windows ou macOS), instale a Thonny IDE seguindo os passos do instalador. Em computadores Linux a instalação será feita automaticamente com o envio do comando no terminal. Assim que a instalação da IDE for concluída, abra-a.
A configuração que precisa ser feita na Thonny IDE para a programação da Raspberry Pi Pico é alterar o interpretador que será usado para a execução do código. Para isso, acesse as configurações da IDE, seguindo o caminho a seguir (Tools > Options).
Ao selecionar essa opção, será aberta uma janela com as configurações da IDE, como a da imagem a seguir. Não é necessária nenhuma configuração na seção "geral" ("General"), portanto apenas acesse a seção "Interpreter", como demarcado na imagem.
Ao acessar a seção "Interpreter", você verá que a opção selecionada é a padrão ("The same interpreter which runs Thonny (default)"), como na imagem abaixo.
Para alterar essa opção, expanda as opções clicando sobre o campo do interpretador, e então selecione a opção "MicroPython (Raspberry Pi Pico)", como na próxima imagem.
Com essa opção selecionada, pressione o botão "OK" para que essa configuração seja salva.
Gravação do Firmware
Com essa configuração finalizada, está na hora de gravar o firmware do interpretador MicroPython na placa. Para isso, pressione o botão "BOOTSEL" da sua Raspberry Pi Pico, enquanto ela ainda está desconectada. Então conecte-a ao seu computador usando o cabo Micro USB, mantendo o botão pressionado. Depois que o cabo for completamente inserido no conector da placa, você já pode soltar o botão, como no GIF a seguir.
Esse procedimento faz com que a placa entre em modo de gravação de firmware e seja reconhecida como um disco removível. Inclusive você também poderá vê-la no diretório de discos do seu computador, como nesta imagem.
Neste momento, abra novamente a seção "Interpreter" das configurações da Thonny IDE, para a gravação do firmware da placa. Ao acessar novamente essa seção, você verá que a janela está um pouco diferente agora, como a da imagem abaixo.
A porta serial da placa é por padrão selecionada automaticamente pela IDE (opção "Try to detect port automatically" no campo "Port"), porém é possível realizar essa configuração manualmente se você estiver trabalhando com mais de uma placa ao mesmo tempo. Para isso, basta clicar sobre o campo "Port" para expandir as portas seriais disponíveis, e então selecionar a porta correspondente da sua placa no seu computador (o "Gerenciador de Dispositivos" do seu computador pode ajudar nesta seleção).
Com esta janela aberta, clique sobre a opção "Install or update firmware", como demarcado na imagem acima. Isso abrirá uma segunda janela com as informações sobre o disco e a versão do firmware que será gravado, como na imagem a seguir.
A seleção do disco que será gravado é automática, portanto apenas certifique-se de que o dispositivo que será gravado está com o nome "Raspberry Pi RP2", como demarcado na imagem acima.
Se essa seleção estiver correta, pressione o botão "Install" e aguarde alguns instantes. Assim que a gravação começar, será apresentada uma barra de progresso, e quando a gravação for concluída, será apresentada a mensagem "DONE!" ao lado da barra de progresso, como na próxima imagem.
Assim que a gravação estiver finalizada, você pode fechar essa janela de gravação e fechar a janela de configuração da Thonny IDE. Para que a placa saia do modo de gravação de firmware, é necessário desconectar e reconectar a placa, porém, desta vez, sem pressionar o botão "BOOTSEL".
Agora a sua Raspberry Pi Pico já está pronta para receber códigos Python!
Código "Blink"
Com a configuração finalizada e com a gravação de firmware concluída, digite o código a seguir na Thonny IDE.
Entendendo o Código
O código inicia com as adições da instância "Pin" da biblioteca "machine" do interpretador MicroPython e da função "sleep" da biblioteca "time" da própria linguagem Python. Feito isso, é criado o objeto led
como uma saída do sistema conectada ao GPIO 25 da placa, graças ao comando led = Pin(25, Pin.OUT)
.
Já na repetição do código (função <strong>while True</strong>
), apenas acendemos (led.high()
) e apagamos (led.low()
) o LED, com uma interrupção de 1 segundo (sleep(1)
) a cada mudança de estado (de "high" para "low", e vice versa).
O Que Deve Acontecer
Após digitar o código na Thonny IDE, pressione o botão "Run", demarcado em amarelo na imagem abaixo, para executar o código.
Ao pressionar esse botão, será aberta uma janela pedindo para que seja escolhido o local em que o arquivo será salvo, como na próxima imagem. Para gravar o código na Pico, selecione a opção "Raspberry Pi Pico", como demarcado abaixo.
Após selecionar essa opção, será aberta uma segunda janela requisitando o nome do arquivo, como na imagem a seguir.
Neste momento, digite um nome para o arquivo com a extensão ".py" (como feito na imagem acima), e então pressione o botão "OK". Assim que o arquivo for salvo na placa, ela já começará a executá-lo, piscando o LED de 1 em 1 segundo, como no GIF a seguir.
Indo Além
O código que foi gravado anteriormente só será executado ao pressionar o botão "Run" pela Thonny IDE, ou seja, a placa deve necessariamente estar conectada ao computador para executá-lo. Isso não é muito prático, principalmente considerando o funcionamento de outras placas microcontroladas. Entretanto, é possível fazer com que o código sempre seja executado ao alimentar a placa, mesmo que ela não esteja conectada ao computador. Para isso, basta salvar o arquivo na placa com o nome "main.py". Com o arquivo nomeado desta maneira, ele sempre será executado na placa ao ser iniciada, mesmo com mais de um código carregado.
Outro ponto importante é que, por possuir barramentos de comunicações seriais (SPI, I2C e UART), a Pico também pode ser utilizada para ler sensores e se comunicar com módulos que são normalmente voltados para as placas da plataforma Arduino. Inclusive o interpretador MicroPython possui diversas bibliotecas que podem ser adicionadas à IDE para facilitar a integração com esses sensores e módulos. Entretanto, vale lembrar que a Raspberry Pi Pico possui uma tensão operacional diferente da maioria das placas Arduino (3,3 V na Pico e 5 V no Arduino Uno, por exemplo). Levando isso em conta, pode ser necessário o uso de um conversor de nível lógico para compatibilizar a tensão entre a placa e o módulo/sensor, dependendo dos circuitos.
Conclusão
Neste tutorial vimos como utilizar uma Raspberry Pi Pico em Python, configurando corretamente o ambiente em que os códigos são desenvolvidos (Thonny IDE), gravando o firmware do interpretador MicroPython na placa, e executando o primeiro código com ela.
Solução de Problemas
Disco Removível não é Apresentado na Janela de Gravação de Firmware
Se ao tentar gravar o firmware não for apresentado o disco removível com o nome "Raspberry Pi RP2", é sinal que a placa não entrou em modo de gravação de firmware. Portanto desconecte e conecte-a novamente ao computador, porém lembre-se de pressionar e manter pressionado o botão "BOOTSEL" da placa antes e durante a conexão do cabo USB.
Thonny IDE Retorna a Mensagem "Couldn't find the device automatically"
Quando essa mensagem é retornada, significa que a placa não foi encontrada automaticamente pela IDE. Portanto certifique-se que o firmware foi corretamente gravado para a placa e que ela está sendo reconhecida pelo seu computador (o "Gerenciador de Dispositivos" pode ajudar). Se for o caso, altere a seleção da porta serial manualmente na seção "Interpreter" das configurações da IDE, para a porta correspondente da placa no seu computador.
Execução do Código não Apresentou a Janela para Seleção do Local do Arquivo
Caso a Thonny IDE não apresente a janela de seleção do local em que o arquivo será salvo (computador ou Raspberry Pi Pico), verifique a configuração do interpretador, pois essa opção só é apresentada quando o interpretador está selecionado como "MicroPython (Raspberry Pi Pico)".