fbpx
22 de maio de 2022

Do bit Ao Byte

Embarcados, Linux e programação

Factory defaults na RPi Pico

RPi Pico no PlatformIO

Essa é uma dica bem rápida, só pra não faltar referência quando eu precisar novamente, porque precisei fazer um factory defaults (“padrão de fábrica”) na RPi Pico devido a um loop na qual a coloquei e perdi o acesso ao REPL.

Quando fazer o factory defaults?

Perdeu o acesso ao prompt? Então faça. Não tem contra indicação e tornará a RPi Pico acessível novamente. Basta apertar BOOTSEL, depois conectar a RPi Pico à porta USB. Abrir-se-á o gerenciador de arquivos, bastando copiar para ela o firmware flash_nuke. Encontrei nesse fórum, procurando por “flash nuke RPi Pico”, mas certamente tem montes de outras referências.

Feito o processo, coloque novamente em modo BOOTSEL e regrave o firmware MicroPython. Daí é só abrir a IDE Thonny e se divertir novamente!

I2C scan

Já que o artigo ficou bem curtinho, vou aproveitar para deixar uma outra dica.

Sempre uso dispositivos I2C quando possível, tanto pela flexibilidade quanto pela economia de GPIO. Nem sempre sabemos o endereço padrão e em alguns casos pode ser necessário olhar o datasheet, mas podemos agilizar o processo fazendo um scan. E pra isso a RPi Pico é uma ferramenta pra mim, porque com MicroPython é muito fácil descobrir qual o endereço I2C de um dispositivo.

Para referência, esse é o pinout da RPi Pico:

SWD na Raspberry - pinout pico

Já pego de cara o GP0 e GP1. Do lado direito do pinout, pego o 38 para GND e, dependendo do dispositivo, o 36, que é 3v3.

No editor, use esse código:

from machine import Pin
from machine import I2C

sda_pin = Pin(0)
scl_pin = Pin(1)

i2c = I2C(0,sda=sda_pin,scl=scl_pin,freq=400000)
print(hex(i2c.scan()[0]))

Desse jeito retorna em hexadecimal. Se tirar a função hex(), retornará em decimal. Tanto faz, podemos usar até binário para referenciar o endereço, mas como é habitual utilizar hexadecimal, um resultado decimal pode gerar confusão, então, estou apenas deixando claro. Abaixo, o resultado em decimal:

factory defaults MicroPython

Pronto, agora é só usar!

Dessa vez não tem vídeo, ainda estou devendo um, mas essa semana não foi possível fazê-lo devido ao trabalho. Mas inscreva-se em nosso canal DobitaobyteBrasil no Youtube e clique no sininho para ser notificado das novidades, porque tem uma série de artigos por vir e darão bons vídeos!

Vou aproveitar e deixar uma referência, caso deseje expandir os GPIOs de sua RPi Pico.