Pular para o conteúdo principal

Seeed Studio XIAO RP2040 com MicroPython

Introdução ao MicroPython​

MicroPython é um interpretador Python com um recurso parcial de compilação de código nativo. Ele fornece um subconjunto de recursos do Python 3.5, implementado para processadores embarcados e sistemas com recursos limitados. Ele é diferente do CPython e você pode ler mais sobre as diferenças aqui.

Introdução​

Primeiro, vamos conectar a série Seeed Studio XIAO RP2040 ao computador e enviar um código simples em MicroPython para verificar se a placa está funcionando bem.

Configuração de hardware​

Conectar a série XIAO RP2040 ao PC​

  • Passo 1. Pressione e segure o botão BOOT e então conecte a série Seeed Studio XIAO RP2040 ao PC através do cabo Type-C. Se funcionar bem, será exibido um disco RPI-RP2 no PC.
  • Passo 2. Grave o firmware

    Basta ir ao site oficial e baixar o firmware mais recente, depois arrastar e soltar o arquivo .uf2 no disco RPI-RP2 para concluir a gravação do firmware.

Configuração de software​

  • Passo 1. Baixe e instale a versão mais recente do editor Thonny de acordo com o seu sistema operacional
  • Passo 2. Inicie o Thonny

  • Passo 3. Clique em Tools-->Options para abrir as configurações.

  • Passo 4. Escolha a interface Interpreter e selecione o dispositivo como MicroPython(generic) e a porta como Board CDC @ Port

Passo 5. As informações de versão serão exibidas no Shell.


Passo 6. Vá em Files -> New, cole o código abaixo e execute o script.

from machine import Pin, Timer

led = Pin(25, Pin.OUT)
Counter = 0
Fun_Num = 0

def fun(tim):
global Counter
Counter = Counter + 1
print(Counter)
led.value(Counter%2)

tim = Timer(-1)
tim.init(period=1000, mode=Timer.PERIODIC, callback=fun)
  • O LED piscará em intervalos de 1 segundo.

dica
  • A seção Additional Resources contém o firmware MicroPython e exemplos relevantes para o XIAO RP2040 Plus. Você pode usar esses exemplos seguindo os tutoriais do XIAO RP2040, mas certifique-se de substituir e modificar os pinos correspondentes.
  • Para verificar as diferenças dentro da série XIAO RP2040, consulte XIAO RP2040 Series Pin Overview

Pinos da série XIAO RP2040​

Nome do pino MicroPythonGPIO do XIAO RP2040GPIO do XIAO RP2040 PlusADCFunção
D0 / A0GPIO26GPIO260GPIO, ADC0
D1 / A1GPIO27GPIO271GPIO, ADC1
D2 / A2GPIO28GPIO282GPIO, ADC2
D3 / A3GPIO29GPIO293GPIO, ADC3
D4 / SDAGPIO6GPIO6—GPIO, I2C SDA
D5 / SCLGPIO7GPIO7—GPIO, I2C SCL
D6 / TXGPIO0GPIO0—GPIO, UART TX
D7 / RXGPIO1GPIO1—GPIO, UART RX
D8 / SCKGPIO2GPIO2—GPIO, SPI SCK
D9 / MISOGPIO4GPIO4—GPIO, SPI MISO
D10 / MOSIGPIO3GPIO3—GPIO, SPI MOSI
NEOPIXELGPIO12GPIO12—Dados WS2812 NeoPixel
NEOPIXEL_POWER / NEO_PWR / RGB_ENGPIO11GPIO11—Habilitar alimentação do NeoPixel (RGB_EN no Plus)
LED_G / D23GPIO16GPIO16—LED RGB verde; Plus D23
LED_R / D24GPIO17GPIO17—LED RGB vermelho; Plus D24
LED_B / LEDGPIO25GPIO25—LED RGB azul / LED de usuário
D12—GPIO18—GPIO de expansão Plus
D13 / SCL1—GPIO21—Plus I2C1 SCL
D14 / SDA1—GPIO20—Plus I2C1 SDA
D15—GPIO19—GPIO de expansão Plus
D16—GPIO22—GPIO de expansão Plus
D17—GPIO23—GPIO de expansão Plus
D19—GPIO5—GPIO de expansão Plus
D20—GPIO13—GPIO de expansão Plus
D21—GPIO14—GPIO de expansão Plus
D22—GPIO15—GPIO de expansão Plus
D25—GPIO10—GPIO de expansão Plus
D26—GPIO9—GPIO de expansão Plus
D27—GPIO8—GPIO de expansão Plus
BAT_EN—GPIO24—Habilitar alimentação da bateria Plus

Acender o LED RGB no Seeed Studio XIAO RP2040​

Há um LED RGB equipado no Seeed Studio XIAO RP2040 e vamos acendê-lo com MicroPython. É necessária uma biblioteca de terceiros, então precisamos adicionar primeiro uma biblioteca adicional.

  • Passo 1. Baixe a biblioteca ws2812.py e abra-a com o Thonny.

  • Passo 2. Clique em File-->Save as e salve a biblioteca.

Escolha o Raspberry Pi Pico como o local onde vamos salvar.

Certifique-se de que o nome do arquivo salvo seja ws2812.py, caso contrário não funcionará.

  • Passo 3. Copie os códigos a seguir para o Thonny.
from ws2812 import WS2812
import utime
import machine
power = machine.Pin(11,machine.Pin.OUT)
power.value(1)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
YELLOW = (255, 150, 0)
GREEN = (0, 255, 0)
CYAN = (0, 255, 255)
BLUE = (0, 0, 255)
PURPLE = (180, 0, 255)
WHITE = (255, 255, 255)
COLORS = (BLACK, RED, YELLOW, GREEN, CYAN, BLUE, PURPLE, WHITE)

led = WS2812(12,1)#WS2812(pin_num,led_count)

while True:
print("Beautiful color")
for color in COLORS:
led.pixels_fill(color)
led.pixels_show()
utime.sleep(0.2)
  • Passo 4. Envie os códigos clicando no botão "Run current script". Na primeira vez, o Thonny perguntará onde você deseja salvar o arquivo de código. Tanto This Computer quanto Raspberry Pi Pico são adequados.

Se funcionar bem, você verá o LED RGB mudar e piscar as luzes. E a saída do texto "Beautiful Color" também será exibida no Shell.

Conectar o Seeed Studio XIAO RP2040 com Display via IIC​

Neste projeto, vamos conectar o Grove - OLED Display 0.96" (SSD1315) através da interface IIC para demonstrar a função IIC no Seeed Studio XIAO RP2040.

Conexão de hardware

  • Passo 1. Baixe a biblioteca ssd1306.py e abra-a com o Thonny.

  • Passo 2. Clique em "File-->Save as" e salve a biblioteca em "Raspberry Pi Pico"

Escolha "Raspberry Pi Pico" como o local onde vamos salvar.

Certifique-se de que o nome do arquivo salvo seja "ssd1306.py", caso contrário não funcionará.

  • Passo 3. Copie os códigos a seguir para o Thonny.
from ssd1306 import SSD1306_I2C
from machine import Pin, I2C
from time import sleep

i2c = I2C(1, scl=Pin(7), sda=Pin(6), freq=200000)#Grove - OLED Display 0.96" (SSD1315)
oled = SSD1306_I2C(128, 64, i2c)

while True:
oled.fill(0)#clear
oled.text("Hello,World!",0,0)
oled.show()
#sleep(0.5)
  • Passo 4. Envie os códigos clicando no botão "Run current script". Na primeira vez, o Thonny perguntará onde você deseja salvar o arquivo de código. Tanto This Computer quanto Raspberry Pi Pico são adequados.

Se funcionar bem, você verá o texto "Hello,World!" exibido na tela.

Console de dispositivo MicroPython​

Nosso parceiro Neil escreveu um programa de console de linha de comando para o XIAO usando MicroPython. Com este programa você pode facilmente enviar, baixar e excluir arquivos. Agradecemos a ele por sua contribuição ao XIAO!

Recursos adicionais​

Algumas bibliotecas adicionais e códigos de exemplo estão aqui:

Suporte técnico e discussão sobre o produto​

Obrigado por escolher nossos produtos! Estamos aqui para fornecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...