RGB do Maix Bit é apenas uma das inúmeras aplicações que essa incrível placa é capaz de fazer. Além disso, o Maix bit também possibilita o uso de visão computacional com reconhecimento de até 80 objetos de forma simultânea, isso tudo com o tamanho similar ao ESP32.
O que é LED RGB?
RGB é um acrônimo das cores em inglês Red (Vermelho), Blue (Azul) e Green (Verde). É como se fosse LEDs normais porém unidos em um único componente, tendo um anodo ou catodo comum como na figura abaixo:

O LED RGB presente no Maix Bit também é de anodo comum como na imagem acima, porém os catodos estão ligados na portas:
- GPIO0;
- GPIOHS0;
- GPIO2.

RGB do Maix Bit na Placa
Existe dois modelos da placa Maix bit a V1 e V2, no entanto, ambas possuem o LED RGB ao lado do microfone e da entrada USB.

RGB do Maix Bit Código de Exemplo
O código é bastante simples porém é feito em micropython mas é a mesma lógica de microcontroladores. O código abaixo estará disponível no Github e caso não sabia compilar ou caiu nesse post de paraquedas, clique aqui e conheça mais sobre essa placa.
O LED RGB usado no Maix bit, como já foi abordado, é um de anodo comum e por isso a ativação das cores será com nível lógico baixo.
import time # Importa biblioteca de tempo
from Maix import GPIO # Importa pinos do Maix
from fpioa_manager import fm # Importa biblioteca de registradores
from board import board_info # Importa as informações da placa
fm.register(board_info.LED_R, fm.fpioa.GPIO0, force=True) # Registra pino do LED_R como função IO
fm.register(board_info.LED_G, fm.fpioa.GPIOHS0, force=True) # Registra pino do LED_G como função IO
fm.register(board_info.LED_B, fm.fpioa.GPIO2, force=True) # Registra pino do LED_B como função IO
led_r = GPIO(GPIO.GPIO0, GPIO.OUT) # Define led_r como uma saída da porta GPIO0
led_g = GPIO(GPIO.GPIOHS0, GPIO.OUT) # Define led_g como uma saída da porta GPIHS0
led_b = GPIO(GPIO.GPIO2, GPIO.OUT) # Define led_b como uma saída da porta GPIO2
while(True): # Inicia Loop infinito
led_r.value(0) # Liga a cor vermelha
time.sleep_ms(300) # Delay de 300ms
led_r.value(1) # Desliga cor vermelha
led_g.value(0) # Liga cor verde
time.sleep_ms(300)
led_g.value(1)
led_b.value(0) # Liga cor azul
time.sleep_ms(300)
led_r.value(0)
led_g.value(0)
led_b.value(0)
time.sleep_ms(1000)
led_r.value(1)
led_g.value(1)
led_b.value(1)
fm.unregister(board_info.LED_R) # Limpa registro do pino LED_R
fm.unregister(board_info.LED_G) # Limpa registro do pino LED_G
fm.unregister(board_info.LED_B) # Limpa registro do pino LED_B
RGB do Maix Bit Funcionamento Prático
O funcionamento com base no código funciona na sequência: Vermelho, Verde, Azul e Todos ligados que da a cor Branca. Os LEDs podem ser controlados com PWM, mas de forma individual.
A pinagem lateral presente no vídeo abaixo é uma adaptação para utilizar os barramentos de comunicação UART, pois devido ao tamanho reduzido do maix bit, algumas portas ficam na superfície da placa em paralelo com o os barramentos já presente.
Você precisa fazer log in para comentar.