Raspberry Pi Pico GPIO testa com um LED RGB
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.