Raspberry Pi Pico GPIO testa com um LED RGB

Tempo de leitura: 3 minutes

Visão geral

Neste tutorial, aprenderemos como usar os GPIO no Raspberry Pi Pico com código de exemplo com módulo LED RGB usando MicroPython.

O Raspberry Pi Pico é construído usando um microcontrolador RP2040. A placa expõe 26 pinos GPIO multifuncionais de um total de 36 pinos GPIO. Dos 36 pinos GPIO, existem 4 pinos ADC, mas apenas 3 são utilizáveis.

Os pinos de entrada/saída de uso geral (GPIO) no microcontrolador Pico serão testados através do desenvolvimento de um script que ajusta o brilho dos componentes em um LED RGB usando dois tipos de controle: booleano e modulação por largura de pulso (PWM). O controle booleano liga e desliga cada LED com uma designação alta e baixa. O controle PWM usa uma modulação de ciclo de trabalho para controlar o brilho dos LEDs.

 

Diagrama da ligação do LED RGB para Raspberry Pi Pico

GPIOs 16-18 conectados aos pinos de LED vermelho, verde e azul

O pino 23 é usado como aterramento

 

O script abaixo é usado para ligar e desligar cada LED em um loop infinito:

from machine import Pin
import time

led_pins = [16,17,18] # pinos onde o LED RGB está conectado
leds = [Pin(led_pins[0],Pin.OUT),Pin(led_pins[1],Pin.OUT),
        Pin(led_pins[2],Pin.OUT)] # matriz de controle de pinos
delay_t = 0.1 # seconds to delay between toggles
while True: # Loop infinitamente
    for led in leds: # loop através de cada led
        led.high() # Led ligado
        time.sleep(delay_t) # espera
        led.low() # Led desligado
        time.sleep(delay_t) # espera

O código acima deve ser inserido na parte do script <untitled> do Thonny IDE.

 

PROCEDIMENTO PARA CARREGAR O CÓDIGO PARA O MICROCONTROLADOR PICO:

  • Pressione F5 ou o botão Executar
  • Selecione ‘Raspberry Pi Pico’ como o local para salvar
  • Nomeie o arquivo ‘main.py’ para executar o script indefinidamente no Pico
  • Clique em OK e observe a execução do script (LED Blink Loop)

 

Salvar o script como ‘main.py’ irá executar o script imediatamente após o Pico Boots

Salvar o script com outro nome irá salvá-lo no Pico, mas só será executado quando for instruído (via Minicom ou Thonny).

 

 

A seguir, podemos testar as funções de modulação por largura de pulso (PWM) do Pico ajustando o brilho de cada LED no LED RGB. Especificamente, o LED pode ser feito para parecer “respirando” aumentando e diminuindo seu brilho. O código para fazer isso é fornecido abaixo:

import time
from machine import Pin,PWM

pwm_pins = [16,17,18] # definir pinos PWM
pwms = [PWM(Pin(pwm_pins[0])),PWM(Pin(pwm_pins[1])),
                PWM(Pin(pwm_pins[2]))] # matriz pwm
[pwm.freq(1000) for pwm in pwms] # definir freqs pwm

step_val = 64 # valor da etapa para respiração de 16 bits
range_0 = [ii for ii in range(0,2**16,step_val)] # iluminando
range_1 = [ii for ii in range(2**16,-step_val,-step_val)] # escurecimento

while True: # loop indefinitely
    # looping através da respiração vermelha, azul e verde
    for pwm in pwms: 
           for ii in range_0+range_1:
               pwm.duty_u16(ii) # definir o ciclo de trabalho de 16 bits
               time.sleep(0.001) # dormir 1ms entre mudança pwm
    # respiração de pixel branco (todos os três LEDs)
    for ii in range_0+range_1:
        for pwm in pwms:
            pwm.duty_u16(ii) # definir o ciclo de trabalho
        time.sleep(0.001) # espere 1ms

 

Conclusão e Continuação

O Raspberry Pi Pico foi apresentado como um novo microcontrolador habilitado para MicroPython produzido pela Raspberry Pi Foundation. É um rival direto em alguns aspectos para empresas de eletrônicos de código aberto e ‘fabricantes’ competitivas, como Arduino, Espressif, PIC, Teensy e outras. Usando apenas um Raspberry Pi 4, o microcontrolador Pico pode ser programado para executar MicroPython e aproveitar seus vários periféricos: I2C, SPI, UART, PWM, conversão analógico-digital, etc. Neste tutorial, o Raspberry Pi Pico foi explorado usando Thonny, um Python IDE já instalado na distribuição geral do sistema operacional Raspberry Pi (Raspberry Pi OS). Os princípios básicos de introdução ao MicroPython e ao microcontrolador Pico foram introduzidos pela primeira vez, seguidos por alguns testes de hardware simples com entradas e saídas de uso geral (GPIOs) e um LED RGB. Isso foi pensado como um tutorial de “introdução” simplificado com o Pico, e o primeiro de uma série dedicada a trabalhar com o microcontrolador Raspberry Pi Pico.