Pular para o conteúdo principal

Grove - LCD RGB Backlight

pir

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.

nota

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 ProdutoAlteraçõesData de Lançamento
Grove-LCD RGB Backlight V1.0InicialJunho 2012
Grove-LCD RGB Backlight V2.0Otimizar layout da PCBNov 2013
Grove-LCD RGB Backlight V4.0Otimizar layout da PCBSet 2016

Recursos

  • Backlight RGB
  • Comunicação I2C
  • Fontes em inglês integradas
  • LCD 16x2
dica

Para mais detalhes sobre módulos Grove, consulte o Grove System

Especificação

ItemValor
Tensão de Entrada5V
Corrente de Operação<60mA
CGROM10880 bit
CGRAM64x8 bit
Endereço I2C do LCD0X3E
Endereço I2C RGB0X62
nota

Existem 4 endereços I2C e usamos 2 endereços I2C para o LCD e o RGB.

Plataformas Suportadas

ArduinoRaspberry Pi

pir

pir

cuidado

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 EdisonEstufa com WiFi AtivadoGrove Lucky Dumpling

pir

pir

pir

Make it Now!Make it Now!Make it Now!
Instrutor de Escovação de DentesLinkIt ONE PagerDemo de IoT com LinkIt ONE

pir

pir

pir

Make it Now!Make it Now!Make it Now!

Primeiros Passos

nota

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.2Base ShieldGrove-LCD RGB Backlight

pir

pir

pir

Adquira agoraAdquira agoraAdquira 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.

pir

nota

Se não tivermos o Grove Base Shield, também podemos conectar diretamente o Grove-LCD RGB Backlight ao Seeeduino como abaixo.

SeeeduinoGrove-LCD RGB Backlight
5VVermelho
GNDPreto
SDABranco
SCLAmarelo

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.

pir

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.

nota

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.

pir

Envie o programa para o seu Arduino/Seeeduino.

success

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 piGrovePi_PlusGrove-LCD RGB Backlight

pir

pir

pir

Adquira agoraAdquira agoraAdquira 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.

pir

Software

nota

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?

  • 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

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.

Loading Comments...