Começando com
MicroPython
em o
Raspberry Pi Pico
Grupo de Encontro de Raspberry Pi de Toronto
2021-02-11
Stewart Russell – scruss@[Link]
O que, outro?
Não é uma máquina Linux:
a microcontroller
Silício personalizado, projetado por
Fundação Raspberry Pi
Muitos I/O
Ótima documentação
$5,25, qualquer quantidade.
Assassino do Arduino
Crédito da imagem: Fundação Raspberry Pi
Visão geral do RP2040
ARM Cortex-M0+ de núcleo duplo em
133 MHz
264 KB de RAM
Sem armazenamento Flash
(Pico tem 2 MB externos)
26 × pinos GPIO multifuncionais
2 × SPI, 2 × I2C, 2 × UART, 3 ×
ADC de 12 bits, 16 × PWM
8× máquinas de estado PIO
Crédito da imagem: Fundação Raspberry Pi
Então onde eu consigo um?
Em teoria, você pode comprar quantos quiser Minha experiência com o Correio do Canadá
como você quiser, mas:
BuyaPi: pedido em 21 de janeiro, chegou
BuyaPi: Esgotado 2 de fevereiro.
Canakit:Sold Out Velocidade média: aranha doméstica
(pré-encomendas são enviadas em 28 de fevereiro)
Elmwood: pedido em 27 de janeiro,
Elmwood: Esgotado chegou em 3 de fevereiro.
Newark, Digikey: em pedido Velocidade média: bicho-preguiça de três dedos
Não use o Correio do Canadá
porque
O que é MicroPython?
Implementação em Python 3
Pequeno: 256 KB de flash, 16 KB de RAM
(mínimo)
Compilado no chip; autônomo
Subconjunto da biblioteca padrão do Python
Desenvolvedores principais foram contratados para
implementar para Pico
Now includes ARMv6M assembler
[Link]
Diferenças do MicroPython
As bibliotecas do sistema geralmente são limitadas, por exemplo:
As strings são sempre UTF-8; codecs de 8 bits excluídos
O tempo é monotônico (segundos fracionários): sem fusos horários ou horário de verão
No CSV, numpy, pip (→ upip), …
.py → .mpy (like .pyc) compilation isn’t automatic
Módulos de interface de hardware:
máquina: para recursos de hardware como pinos, PWM, I²C, ADC, …
rp2: Montador PIO RP2040, acesso bruto à Flash
ajuda() docstrings curtas ou ausentes: veja a documentação online
Flashing MicroPython
O firmware Pico é distribuído como
Imagens UF2
Mantenha o BOOTSEL pressionado enquanto conecta
em
Pico aparece como um armazenamento USB
dispositivo
Arraste/copie UF2 para o armazenamento PICO
Pico reinicia; USB desaparece
Crédito da imagem: Fundação Raspberry Pi
Edição: Thonny
Fundação Raspberry Pi
editor recomendado
Instalado por padrão
Inclui carregamento/salvamento no Pico
flash
Possui uma ferramenta de gráfico simples
... mais atualizador de firmware
... e (Raspberry) REPL
desculpe, não sinto muito
(e não, eu não sei por que o gráfico quebrou)
mas meu $EDITOR …!!1!
Você não precisa usar o Thonny
... é só mais trabalho se você não fizer.
A ferramenta de linha de comando MicroPython com acesso REPL é rshell:
[Link]
Certifique-se de obter este ramo, pois ele lida com as peculiaridades do
RTC do Pico
… e sim, a Fundação enviou mais um dispositivo que
doesn’t have battery backup on its clock☹
Todos os Pins
[Link]/documentation/pico/começando
Documentação
Isso é absolutamente estelar para um quadro no lançamento + 3 semanas
Folhas de dados, guias de API, código, partes do Fritzing … tudo em
[Link]/documentation/pico/começando
Quirks Inesperados
É uma nova diretoria, e as pessoas estão apenas aprendendo, mas:
1 ADC: a configuração analógica para digital padrão é bastante ruidosa
2 PWM: o ciclo de trabalho muda se a frequência mudar
3 UART Serial: não possui espera/tempo limite, será bloqueado se ler e não houver dados
esperando
4 Dual core/threading: parece não ser bem compreendido ainda
Exemplo trabalhado
Trevor Woerner usou um MCP3008 com um termistor e Raspberry Pi
mês passado
Vamos usar um Pico
... que é mais barato do que
um MCP3008 (por 50¢ !)
... e pode atuar como um serial
datalogger, talvez
escrevendo para um Raspberry Pi via USB serial.
Crédito da imagem: Trevor Woerner
[Link]/2021/01/[Link]
Fiação
Pinos utilizados:
ADC2 (pino 34)
3V3 (pino 36)
AGND (pino 33)
resistor de 10 kΩ entre 3V3 e
termistor
Termistor de 10 kΩ a 25 °C, β =
3950