Pular para o conteúdo principal

Grove - 16x2 LCD

pir

Grove - 16 x 2 LCD é um display LCD I2C perfeito para Arduino e Raspberry Pi, com alto contraste e fácil de implementar. 16x2 significa duas linhas e cada linha tem 16 colunas, 32 caracteres no total. Com a ajuda do conector I2C Grove, são necessários apenas 2 pinos de sinal e 2 pinos de alimentação. Você nem precisa se preocupar em como conectar esses pinos. Basta conectá-lo à interface I2C no Seeeduino ou Arduino/Raspberry Pi + Base Shield via cabo Grove. Não haverá fiação complicada, soldagem, nem preocupação em queimar o LCD por causa do resistor de limitação de corrente incorreto.

Versões

VersãoPedido
The Grove - 16 x 2 LCD (Black on Yellow)Buy Now
The Grove - 16 x 2 LCD (Black on Red)Buy Now
The Grove - 16 x 2 LCD (White on Blue)Buy Now
nota

O Grove - LCD RGB Backlight vem sendo muito bem recebido desde o seu lançamento. Com base no feedback dos clientes, agora trazemos para você um derivado com retroiluminação monocromática mais econômico.

Exceto pela retroiluminação RGB, esses três produtos são quase idênticos ao Grove - LCD RGB Backlight; todos têm 16 caracteres de largura, 2 linhas e retroiluminação de alto brilho.

Pré-leitura

Uma introdução de O que é um Grove - 16 x 2 LCD e Como ele funciona é fortemente recomendada antes da leitura, se você não estiver familiarizado com ele. Visite nosso blog para informações detalhadas.

Recursos

  • Construção do display: 16 caracteres * 2 linhas
  • Modo de display: STN
  • MCU embarcado
  • Interface I2C-bus
  • Suporta fontes em inglês e japonês

Especificação

ItemValor
Tensão de operação3.3V / 5V
Temperatura de operação0 a 50℃
Temperatura de armazenamento-10 a 60℃
Método de acionamento1/16 duty, 1/5 bias
InterfaceI^2^C
Endereço I^2^C0X3E

Aplicações Típicas

  • Display de temperatura
  • Display de tempo
  • Qualquer projeto que exija um display simples

Plataformas Suportadas

ArduinoRaspberryArduPy

pir

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.

Primeiros Passos

Brincar com Arduino

Materiais necessários

Seeeduino V4.2Base ShieldGrove - 16 x 2 LCD

pir

pir

pir

Adquira agoraAdquira agoraAdquira agora
nota
  • Conecte o cabo USB com cuidado, caso contrário você pode danificar a porta. Use o cabo USB com 4 fios internos; o cabo de 2 fios não pode transferir dados. Se você não tiver certeza sobre o cabo que possui, pode clicar aqui para comprar.

  • Cada módulo Grove vem com um cabo Grove quando você o compra. Caso você perca o cabo Grove, pode clicar aqui para comprar.

Visão Geral de Hardware

Resistor de Pull-Up I2C

A primeira versão da série Grove - 16 x 2 LCD não tem resistor de pull-up embutido, nem fornece um pad para soldar o resistor de pull-up opcional. Redesenhamos o módulo, e a nova versão possui resistores de pull-up embutidos.

Se você tiver uma versão mais antiga em mãos, pode soldar você mesmo um resistor DIP de 10kΩ no pad traseiro do conector Grove. Siga a figura abaixo, solde um resistor DIP de 10kΩ entre os pinos VCC e SCL e um resistor DIP de 10kΩ entre os pinos VCC e SDA.

pir

Dimensões

pir

Conexão de Hardware

pir

SeeeduinoCabo GroveGrove - 16 x 2 LCD
GNDPretoGND
5V or 3.3VVermelhoVCC
SDABrancoSDA
SCLAmareloSCL
  • Passo 1. Conecte o Grove - 16 x 2 LCD à porta I^2^C do Grove-Base Shield.

  • Passo 2. Conecte o Grove - Base Shield ao Seeeduino e conecte o Seeeduino ao PC através de um cabo USB.

Software

dica

Se esta é a primeira vez que você trabalha com Arduino, recomendamos fortemente que veja Getting Started with Arduino antes de começar.

dica

O Grove - 16 x 2 LCD compartilha a mesma biblioteca com o Grove-LCD RGB Backlight. O uso é quase o mesmo, exceto que o Grove - 16 x 2 LCD não suporta a API de cor RGB, como setRGB().

  • Passo 2. Consulte How to install library para instalar a biblioteca para Arduino.

  • Passo 3. Reinicie a IDE do Arduino. Abra o exemplo; você pode abri-lo das três maneiras a seguir:

1). Abra-o diretamente na IDE do Arduino pelo caminho: File --> Examples --> Grove - LCD RGB Backlight --> HelloWorld.

pir

2). Abra-o no seu computador clicando em HelloWorld.ino, que você pode encontrar na pasta XXXX\Arduino\libraries\Grove_LCD_RGB_Backlight-master\examples\HelloWorld, em que XXXX é o local onde você instalou a IDE do Arduino.

pir

3). Ou, você pode simplesmente clicar no ícone

pir

no canto superior direito do bloco de código para copiar o código a seguir para um novo sketch na IDE do Arduino.

#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);
}
nota
  • O arquivo de biblioteca pode ser atualizado. Esse código pode não ser aplicável ao arquivo de biblioteca atualizado, portanto recomendamos que você use os dois primeiros métodos.

  • Como a série Grove - 16 x 2 LCD possui apenas retroiluminação monocromática, você precisa comentar o código relacionado à cor RGB. No código de demonstração acima, ou seja, linha 6 e linha 17.

  • Passo 4. Faça o upload da demonstração. Se você não souber como fazer upload do código, verifique How to upload code.
success

Se tudo correr bem, você verá que o LCD mostra a frase clássica: hello world.

pir

nota

Se você não tiver um Base Shield, o Seeeduino VX Series com interface I2C também funciona.

Brincar com Raspberry Pi (com Grove Base Hat para Raspberry Pi)

Hardware

  • Passo 1. Itens usados neste projeto:
Raspberry piGrove Base Hat para RasPi Grove - 16x2 LCD
  • Passo 2. Conecte o Grove Base Hat ao Raspberry.
  • Passo 3. Conecte o Grove - 16 x 2 LCD à porta I2C do Base Hat.
  • Passo 4. Conecte o Raspberry Pi ao PC por meio de um cabo USB.

Software

  • Passo 1. Siga Setting Software para configurar o ambiente de desenvolvimento e instalar o grove.py no seu Raspberry Pi.
  • Passo 2. Execute os comandos abaixo para rodar o código.
# virutalenv for Python3
virtualenv -p python3 env
source env/bin/activate
#enter commmand
grove_16x2_lcd

A seguir está o código jhd1802.py.


from grove.display.base import *
from grove.i2c import Bus
import time
import sys

# sphinx autoapi required
__all__ = ["JHD1802"]

class JHD1802(Display):
'''
Grove - 16 x 2 LCD, using chip JHD1802.
- Grove - 16 x 2 LCD (Black on Yellow)
- Grove - 16 x 2 LCD (Black on Red)
- Grove - 16 x 2 LCD (White on Blue)

Also, it's our class name,
which could drive the above three LCDs.

Args:
address(int): I2C device address, default to 0x3E.
'''
def __init__(self, address = 0x3E):
self._bus = Bus()
self._addr = address
if self._bus.write_byte(self._addr, 0):
print("Check if the LCD {} inserted, then try again"
.format(self.name))
sys.exit(1)
self.textCommand(0x02)
time.sleep(0.1)
self.textCommand(0x08 | 0x04) # display on, no cursor
self.textCommand(0x28)

@property
def name(self):
'''
Get device name

Returns:
string: JHD1802
'''
return "JHD1802"

def type(self):
'''
Get device type

Returns:
int: ``TYPE_CHAR``
'''
return TYPE_CHAR

def size(self):
'''
Get display size

Returns:
(Rows, Columns): the display size, in characters.
'''
# Charactor 16x2
# return (Rows, Columns)
return 2, 16

def clear(self):
'''
Clears the screen and positions the cursor in the upper-left corner.
'''
self.textCommand(0x01)

def draw(self, data, bytes):
'''
Not implement for char type display device.
'''
return False

def home(self):
'''
Positions the cursor in the upper-left of the LCD.
That is, use that location in outputting subsequent text to the display.
'''
self.textCommand(0x02)
time.sleep(0.2)

def setCursor(self, row, column):
'''
Position the LCD cursor; that is, set the location
at which subsequent text written to the LCD will be displayed.

Args:
row (int): the row at which to position cursor, with 0 being the first row
column(int): the column at which to position cursor, with 0 being the first column

Returns:
None
'''
# print("setCursor: row={}, column={}".format(row,column))
self.textCommand((0x40 * row) + (column % 0x10) + 0x80)

def write(self, msg):
'''
Write character(s) to the LCD.

Args:
msg (string): the character(s) to write to the display

Returns:
None
'''
for c in msg:
self._bus.write_byte_data(self._addr,0x40,ord(c))

def _cursor_on(self, enable):
if enable:
self.textCommand(0x0E)
else:
self.textCommand(0x0C)


def textCommand(self, cmd):
self._bus.write_byte_data(self._addr,0x80,cmd)

def main():
import time

lcd = JHD1802()
rows, cols = lcd.size()
print("LCD model: {}".format(lcd.name))
print("LCD type : {} x {}".format(cols, rows))

lcd.backlight(False)
time.sleep(1)

lcd.backlight(True)
lcd.setCursor(0, 0)
lcd.write("hello world!")
lcd.setCursor(0, cols - 1)
lcd.write('X')
lcd.setCursor(rows - 1, 0)
for i in range(cols):
lcd.write(chr(ord('A') + i))

time.sleep(3)
lcd.clear()

if __name__ == '__main__':
main()

(env)pi@raspberrypi:~ grove_16x2_lcd
success

Se tudo correr bem, você conseguirá ver o seguinte resultado

  • A luz de fundo será desligada por 1 segundo e, em seguida, será ligada novamente.
  • O LCD exibirá:
hello world!   X
ABCDEFGHIJKLMNOP
  • Após 3 segundos, todo o display será limpo e a tela ficará em branco.

Você pode sair deste programa simplesmente pressionando ctrl+c.

Brincar com Wio Terminal (ArduPy)

Hardware

  • Passo 1. Prepare os itens abaixo:
Wio TerminalGrove - 16 x 2 LCD

pir

pir

Adquira AgoraAdquira Agora
  • Passo 2. Conecte o Grove - 16 x 2 LCD à porta I2C do Wio Terminal.

  • Passo 3. Conecte o Wio Terminal ao PC por meio de um cabo USB Tipo-C.

pir

Software

  • Passo 1. Siga ArduPy Getting Started para configurar o ambiente de desenvolvimento ArduPy no Wio Terminal.

  • Passo 2. Certifique-se de que o firmware ArduPy contenha a biblioteca ArduPy do Grove - 16 x 2 LCD usando os comandos a seguir. Para mais informações, siga aqui.

aip install Seeed-Studio/seeed-ardupy-lcd1602
aip build
aip flash
  • Passo 3. Copie o código a seguir e salve-o como ArduPy-LCD1602.py:
from arduino import grove_lcd1602
import time

lcd = grove_lcd1602()

def main():
lcd.print("hello, world!")
lcd.is_blink_cursor = True
i = 0
while True:
lcd.set_cursor(1, 2) #column 1, row 2
lcd.print(i)
time.sleep(1)
i = i + 1

if __name__ == "__main__":
main()
nota

Para mais referências de API, consulte aqui.

  • Passo 4. Salve o ArduPy-LCD1602.py em um local que você conheça. Execute o comando a seguir e substitua <YourPythonFilePath> pelo local do seu ArduPy-LCD1602.py.
aip shell -n -c "runfile <YourPythonFilePath>"
# Example:
# aip shell -n -c "runfile /Users/ansonhe/Desktop/ArduPy-LCD1602.py"
  • Passo 5. Veremos os resultados no Grove - 16 x 2 LCD.

pir

Recursos

Projeto

Este é o vídeo de introdução deste produto, com demonstrações simples; você pode experimentar.

Projeto Grove IR Universal Remote: Tem vários controles remotos? Tem um Arduino? Controle vários dispositivos com apenas um pressionar de um controle remoto Keyes IR.

Testes de alcance facilitados com o RE-Mote e LCD: Reduza a quantidade de equipamentos e preparações necessários para testes de campo (2,4GHz e 868MHz), leve tudo o que você precisa na palma da mão.

Suporte Técnico & Discussão de Produtos

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