Grove - LCD RGB Backlight

Cansado do monótono backlight de uma única cor? Este Grove permite que você defina a cor que quiser através da interface Grove simples e concisa. Ele usa I2C como método de comunicação com o seu microcontrolador. Assim, o número de pinos necessários para troca de dados e controle do backlight diminui de ~10 para 2, liberando IOs para outras tarefas desafiadoras. Além disso, o Grove - LCD RGB Backlight suporta caracteres definidos pelo usuário. Quer obter um coração ou alguns outros caracteres estrangeiros? Basta aproveitar este recurso e desenhá-los! Este produto é um substituto para o Grove - Serial LCD. Se você está procurando módulos LCD 16x2 primitivos, nós também temos à venda a versão com backlight verde e amarelo e a versão com backlight azul.
Grove-LCD RGB Backlight foi atualizado da versão V4.0 para V5.0, e o código também foi atualizado para compatibilidade. Agora você pode usar o novo código compatível para acionar o mais poderoso Grove-LCD RGB Backlight V5.0.
Abaixo está o registro de alterações:
- Nova compatibilidade com 5v/3,3v.
- Endereço I2C RGB alterado de 0x62 para 0x30.
- Chip driver RGB atualizado de PCA9632 para SGM31323.
- Serigrafia da placa atualizada de "Grove-LCD RGB Backlight V4.0" para "Grove-LCD RGB Backlight V5.0".
- Outras falhas conhecidas corrigidas
Novo código (compatível com v4.0 e v5.0):https://github.com/Seeed-Studio/Grove_LCD_RGB_Backlight/
Versão
| Versão do Produto | Alterações | Data de Lançamento |
|---|---|---|
| Grove-LCD RGB Backlight V1.0 | Inicial | Junho 2012 |
| Grove-LCD RGB Backlight V2.0 | Otimizar layout da PCB | Nov 2013 |
| Grove-LCD RGB Backlight V4.0 | Otimizar layout da PCB | Set 2016 |
Recursos
- Backlight RGB
- Comunicação I2C
- Fontes em inglês integradas
- LCD 16x2
Para mais detalhes sobre módulos Grove, consulte o Grove System
Especificação
| Item | Valor |
|---|---|
| Tensão de Entrada | 5V |
| Corrente de Operação | <60mA |
| CGROM | 10880 bit |
| CGRAM | 64x8 bit |
| Endereço I2C do LCD | 0X3E |
| Endereço I2C RGB | 0X62 |
Existem 4 endereços I2C e usamos 2 endereços I2C para o LCD e o RGB.
Plataformas Suportadas
| Arduino | Raspberry Pi |
|---|---|
|
|
As plataformas mencionadas acima como suportadas são uma indicação da compatibilidade teórica ou de software do módulo. Na maioria dos casos, fornecemos apenas biblioteca de software ou exemplos de código para a plataforma Arduino. Não é possível fornecer biblioteca de software / código de demonstração para todas as possíveis plataformas de MCU. Portanto, os usuários precisam escrever sua própria biblioteca de software.
Ideias de Aplicação
- Interface Homem-Máquina
- Casa Inteligente
- Hub de Sensores
Aqui estão alguns projetos para sua referência.
| Endereço Wi-Fi do Edison | Estufa com WiFi Ativado | Grove Lucky Dumpling |
|---|---|---|
|
|
|
| Make it Now! | Make it Now! | Make it Now! |
| Instrutor de Escovação de Dentes | LinkIt ONE Pager | Demo de IoT com LinkIt ONE |
|---|---|---|
|
|
|
| Make it Now! | Make it Now! | Make it Now! |
Primeiros Passos
Se esta é a primeira vez que você trabalha com Arduino, recomendamos fortemente que veja Getting Started with Arduino antes de começar.
Brinque com Arduino
Hardware
- Passo 1. Prepare os itens abaixo:
| Seeeduino V4.2 | Base Shield | Grove-LCD RGB Backlight |
|---|---|---|
|
|
|
| Adquira agora | Adquira agora | Adquira agora |
- Passo 2. Conecte o Grove-LCD RGB Backlight à porta I2C do Grove-Base Shield.
- Passo 3. Conecte o Grove - Base Shield ao Seeeduino.
- Passo 4. Conecte o Seeeduino ao PC através de um cabo USB.

Se não tivermos o Grove Base Shield, também podemos conectar diretamente o Grove-LCD RGB Backlight ao Seeeduino como abaixo.
| Seeeduino | Grove-LCD RGB Backlight |
|---|---|
| 5V | Vermelho |
| GND | Preto |
| SDA | Branco |
| SCL | Amarelo |
Software
-
Passo 1. Baixe a Grove-LCD RGB Backlight Library no Github.
-
Passo 2. Consulte How to install library para instalar a biblioteca para Arduino.
-
Passo 3. Existem 12 exemplos na biblioteca, conforme abaixo.
- Autoscroll
- Blink
- Cursor
- CustomCharacter
- Display
- fade
- HelloWorld
- Scroll
- SerialDisplay
- setColor
- setCursor
- TextDirection
-
Passo 4. Siga a figura abaixo para selecionar o exemplo HelloWorld e fazer o upload para o Arduino. Se você não souber como fazer o upload do código, verifique how to upload code.

Aqui está o código de HelloWorld.ino.
#include <Wire.h>
#include "rgb_lcd.h"
rgb_lcd lcd;
const int colorR = 255;
const int colorG = 0;
const int colorB = 0;
void setup()
{
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
lcd.setRGB(colorR, colorG, colorB);
// Print a message to the LCD.
lcd.print("hello, world!");
delay(1000);
}
void loop()
{
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
lcd.print(millis()/1000);
delay(100);
}
- Passo 4. Veremos o hello world no LCD.
Brincar com o Codecraft
Hardware
Passo 1. Usando um cabo Grove conecte o Grove - LCD RGB Backlight à porta I2C do Seeeduino. Se você estiver usando Arduino, aproveite um Base Shield.
Passo 2. Conecte o Seeedino/Arduino ao seu PC por meio de um cabo USB.
Software
Passo 1. Abra o Codecraft, adicione o suporte a Arduino e arraste um procedimento principal para a área de trabalho.
Se esta for a sua primeira vez usando o Codecraft, consulte também o Guia para usar Arduino com Codecraft.
Passo 2. Arraste os blocos conforme a imagem abaixo ou abra o arquivo cdc que pode ser baixado no final desta página.

Envie o programa para o seu Arduino/Seeeduino.
Quando o código terminar de ser enviado, você verá "hello, world!" e o tempo de execução do sistema exibidos no LCD.
Brincar com Raspberry Pi
Hardware
- Passo 1. Prepare os itens abaixo:
| Raspberry pi | GrovePi_Plus | Grove-LCD RGB Backlight |
|---|---|---|
|
|
|
| Adquira agora | Adquira agora | Adquira agora |
- Passo 2. Conecte o GrovePi_Plus ao Raspberry.
- Passo 3. Conecte o Grove-LCD RGB Backlight à porta I2C do GrovePi_Plus.
- Passo 4. Conecte o Raspberry ao PC através de um cabo USB.

Software
Se você estiver usando Raspberry Pi com Raspberrypi OS >= Bullseye, você deve usar esta linha de comando apenas com Python3.
- Passo 1. Siga Setting Software para configurar o ambiente de desenvolvimento.
- Passo 2. Dê um git clone no repositório do Github.
cd ~
git clone https://github.com/DexterInd/GrovePi.git
- Passo 3. Execute os comandos abaixo para usar o Grove-LCD RGB Backlight para exibir.
cd ~/GrovePi/Software/Python/grove_rgb_lcd
python3 grove_rgb_lcd.py
Aqui está o código grove_rgb_lcd.py.
import time,sys
if sys.platform == 'uwp':
import winrt_smbus as smbus
bus = smbus.SMBus(1)
else:
import smbus
import RPi.GPIO as GPIO
rev = GPIO.RPI_REVISION
if rev == 2 or rev == 3:
bus = smbus.SMBus(1)
else:
bus = smbus.SMBus(0)
# this device has two I2C addresses
DISPLAY_RGB_ADDR = 0x62
DISPLAY_TEXT_ADDR = 0x3e
# set backlight to (R,G,B) (values from 0..255 for each)
def setRGB(r,g,b):
bus.write_byte_data(DISPLAY_RGB_ADDR,0,0)
bus.write_byte_data(DISPLAY_RGB_ADDR,1,0)
bus.write_byte_data(DISPLAY_RGB_ADDR,0x08,0xaa)
bus.write_byte_data(DISPLAY_RGB_ADDR,4,r)
bus.write_byte_data(DISPLAY_RGB_ADDR,3,g)
bus.write_byte_data(DISPLAY_RGB_ADDR,2,b)
# send command to display (no need for external use)
def textCommand(cmd):
bus.write_byte_data(DISPLAY_TEXT_ADDR,0x80,cmd)
# set display text \n for second line(or auto wrap)
def setText(text):
textCommand(0x01) # clear display
time.sleep(.05)
textCommand(0x08 | 0x04) # display on, no cursor
textCommand(0x28) # 2 lines
time.sleep(.05)
count = 0
row = 0
for c in text:
if c == '\n' or count == 16:
count = 0
row += 1
if row == 2:
break
textCommand(0xc0)
if c == '\n':
continue
count += 1
bus.write_byte_data(DISPLAY_TEXT_ADDR,0x40,ord(c))
#Update the display without erasing the display
def setText_norefresh(text):
textCommand(0x02) # return home
time.sleep(.05)
textCommand(0x08 | 0x04) # display on, no cursor
textCommand(0x28) # 2 lines
time.sleep(.05)
count = 0
row = 0
while len(text) < 32: #clears the rest of the screen
text += ' '
for c in text:
if c == '\n' or count == 16:
count = 0
row += 1
if row == 2:
break
textCommand(0xc0)
if c == '\n':
continue
count += 1
bus.write_byte_data(DISPLAY_TEXT_ADDR,0x40,ord(c))
# example code
if __name__=="__main__":
setText("Hello world\nThis is an LCD test")
setRGB(0,128,64)
time.sleep(2)
for c in range(0,255):
setText_norefresh("Going to sleep in {}...".format(str(c)))
setRGB(c,255-c,0)
time.sleep(0.1)
setRGB(0,255,0)
setText("Bye bye, this should wrap onto next line")
- Passo 4. Veremos o Grove-LCD RGB Backlight exibir como Going to sleep in 1...
FAQ
-
P1: Como usar múltiplos Grove-LCD RGB Backlight?
- R1: Consulte o Guia do usuário do Arduino Software I2C.
-
P2: Como usar botão para alternar o Grove RGB LCD para exibir páginas diferentes?
- R2: Aqui está o código.
#include <Wire.h>
#include "rgb_lcd.h"
rgb_lcd lcd;
const int switchPin = 2;
static int hits = 0;
int switchState = 0;
int prevSwitchState = 0;
void setup() {
lcd.begin(16, 2);
pinMode(switchPin,INPUT);
Serial.begin(9600);
lcd.setCursor(0, 0);
lcd.print("Page 1");
}
void loop() {
switchState = digitalRead(switchPin);
Serial.print("switchState:");Serial.println(switchState);
if (switchState != prevSwitchState) {
if (switchState == HIGH) {
hits = hits + 1;
delay(10);
}
}
Serial.print("hits:");Serial.println(hits);
if(hits==1)
{
Serial.println("Page 1");
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Page 1");
}else
if(hits==2)
{
Serial.println("Page 2");
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Page 2");
}else
if(hits==3)
{
Serial.println("Page 3");
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Page 3");
}else
if ( hits>=4)
{
hits = 0;
Serial.println("couter is reset");
Serial.println("Page 1");
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Page 1");
}
delay(500);
}
Recursos
- [Library] Software Library
- [Document] Página do Github para este documento
- [Codecraft] Arquivo CDC
- [Datasheet] PCA9633
- [Datasheet] JHD1313
Projetos
Particle + Grove LCD RGB Backlight = Relógio em Tempo Real: Conecte o Grove LCD RGB Backlight ao Particle usando I2C para exibir a hora.
Módulo LCD RGB Grove:
Suporte Técnico & Discussão de Produto
Obrigado por escolher nossos produtos! Estamos aqui para oferecer 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.












