Skip to main content

Grove - 16x2 LCD

pir

Grove - 16 x 2 LCD es una pantalla LCD I2C perfecta para Arduino y Raspberry Pi con alto contraste y fácil implementación. 16x2 significa dos líneas y cada línea tiene 16 columnas, 32 caracteres en total. Con la ayuda del conector Grove I2C, solo se necesitan 2 pines de señal y 2 pines de alimentación. Ni siquiera necesitas preocuparte por cómo conectar estos pines. Simplemente conéctalo a la interfaz I2C en Seeeduino o Arduino/Raspberry Pi+baseshield a través del cable Grove. No habrá cableado complicado, soldadura, ni preocupación por quemar el LCD causado por la resistencia limitadora de corriente incorrecta.

Versiones

VersiónPedido
El Grove - 16 x 2 LCD (Negro sobre Amarillo)Comprar Ahora
El Grove - 16 x 2 LCD (Negro sobre Rojo)Comprar Ahora
El Grove - 16 x 2 LCD (Blanco sobre Azul)Comprar Ahora
note

El Grove - LCD RGB Backlight ha sido bien recibido desde su creación. Basándose en los comentarios de los clientes, ahora, traemos un derivado de retroiluminación monocromática más rentable para ti.

Excepto por las retroiluminaciones RGB, estos tres productos son casi idénticos al Grove - LCD RGB Backlight, todos son de 16 caracteres de ancho, 2 filas con retroiluminación de alto brillo.

Lectura previa

Se recomienda encarecidamente leer una introducción de Qué es un Grove - 16 x 2 LCD y Cómo funciona si no estás familiarizado con él. Por favor visita nuestro blog para información detallada.

Características

  • Construcción de pantalla: 16 Caracteres * 2 Líneas
  • Modo de pantalla: STN
  • MCU a bordo
  • Interfaz de bus I2C
  • Soporte para fuentes en inglés y japonés

Especificaciones

ElementoValor
Voltaje de operación3.3V / 5V
Temperatura de operación0 a 50℃
Temperatura de almacenamiento-10 a 60℃
Método de manejo1/16 duty, 1/5 bias
InterfazI^2^C
Dirección I^2^C0X3E

Aplicaciones Típicas

  • Visualización de temperatura
  • Visualización de tiempo
  • Cualquier proyecto que requiera una pantalla simple

Plataformas Compatibles

ArduinoRaspberryArduPy

pir

pir

pir

caution

Las plataformas mencionadas anteriormente como compatibles son una indicación de la compatibilidad de software o teórica del módulo. Solo proporcionamos biblioteca de software o ejemplos de código para la plataforma Arduino en la mayoría de los casos. No es posible proporcionar biblioteca de software / código de demostración para todas las plataformas MCU posibles. Por lo tanto, los usuarios tienen que escribir su propia biblioteca de software.

Primeros Pasos

Jugar Con Arduino

Materiales requeridos

Seeeduino V4.2Base ShieldGrove - 16 x 2 LCD

pir

pir

pir

Obtener Uno AhoraObtener Uno AhoraObtener Uno Ahora
note
  • Por favor conecta el cable USB con cuidado, de lo contrario podrías dañar el puerto. Por favor usa el cable USB con 4 cables en el interior, el cable de 2 cables no puede transferir datos. Si no estás seguro sobre el cable que tienes, puedes hacer clic aquí para comprar.

  • Cada módulo Grove viene con un cable Grove cuando lo compras. En caso de que pierdas el cable Grove, puedes hacer clic aquí para comprar.

Descripción General del Hardware

Resistor Pull-Up I2C

La primera versión de la serie Grove - 16 x 2 LCD no tiene un resistor pull-up incorporado, ni proporciona una almohadilla para soldar el resistor pull-up opcional. Hemos rediseñado el módulo, y la nueva versión tiene resistores pull-up incorporados.

Si tienes una versión anterior en tus manos, puedes soldar tú mismo un resistor DIP de 10kΩ en la almohadilla trasera del conector Grove. Por favor sigue la imagen de abajo, suelda un resistor DIP de 10kΩ entre los pines VCC y SCL y un resistor DIP de 10kΩ entre los pines VCC y SDA.

pir

Esquema

pir

Conexión del Hardware

pir

SeeeduinoCable GroveGrove - 16 x 2 LCD
GNDNegroGND
5V o 3.3VRojoVCC
SDABlancoSDA
SCLAmarilloSCL
  • Paso 1. Conecta el Grove - 16 x 2 LCD al puerto I^2^C del Grove-Base Shield.

  • Paso 2. Conecta el Grove - Base Shield al Seeeduino y conecta el Seeeduino a la PC mediante un cable USB.

Software

tip

Si esta es la primera vez que trabajas con Arduino, te recomendamos encarecidamente que veas Primeros pasos con Arduino antes de comenzar.

tip

El Grove - 16 x 2 LCD comparte la misma librería con el Grove-LCD RGB Backlight. Su uso es casi el mismo, excepto que el Grove - 16 x 2 LCD no soporta la API de color RGB, como setRGB().

  • Paso 2. Consulta Cómo instalar una librería para instalar la librería para Arduino.

  • Paso 3. Reinicia el IDE de Arduino. Abre el ejemplo, puedes abrirlo de las siguientes tres maneras:

1). Ábrelo directamente en el IDE de Arduino a través de la ruta: File --> Examples --> Grove - LCD RGB Backlight --> HelloWorld.

pir

2). Ábrelo en tu computadora haciendo clic en HelloWorld.ino que puedes encontrar en la carpeta XXXX\Arduino\libraries\Grove_LCD_RGB_Backlight-master\examples\HelloWorld, XXXX es la ubicación donde instalaste el IDE de Arduino.

pir

3). O, puedes simplemente hacer clic en el icono

pir

en la esquina superior derecha del bloque de código para copiar el siguiente código en un nuevo sketch en el IDE de 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);
}
note
  • El archivo de biblioteca puede actualizarse. Este código puede no ser aplicable al archivo de biblioteca actualizado, por lo que recomendamos que uses los primeros dos métodos.

  • Dado que la serie Grove - 16 x 2 LCD son todas de retroiluminación monocromática, necesitas comentar el código relacionado con colores RGB. En el código de demostración anterior, es decir, la línea 6 y la línea 17.

  • Paso 4. Sube la demostración. Si no sabes cómo subir el código, por favor revisa Cómo subir código.
success

Si todo va bien, verás que la LCD muestra la oración clásica: hello world.

pir

note

Si no tienes Base Shield contigo, la Serie Seeeduino VX con interfaz I2C también funciona.

Jugar Con Raspberry Pi (Con Grove Base Hat para Raspberry Pi)

Hardware

  • Paso 1. Cosas usadas en este proyecto:
Raspberry piGrove Base Hat para RasPi Grove - 16x2 LCD
  • Paso 2. Conecta el Grove Base Hat al Raspberry.
  • Paso 3. Conecta el Grove - 16 x 2 LCD al puerto I2C del Base Hat.
  • Paso 4. Conecta el Raspberry Pi a la PC a través del cable USB.

Software

  • Paso 1. Sigue Configuración de Software para configurar el entorno de desarrollo e instalar grove.py en tu raspberry pi.
  • Paso 2. Ejecuta los comandos de abajo para ejecutar el código.
# virutalenv for Python3
virtualenv -p python3 env
source env/bin/activate
#enter commmand
grove_16x2_lcd

A continuación se muestra el 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

Si todo va bien, podrás ver el siguiente resultado

  • La retroiluminación se apagará durante 1 segundo, luego se encenderá de nuevo.
  • La LCD mostrará:
hello world!   X
ABCDEFGHIJKLMNOP
  • Después de 3 segundos, toda la pantalla se borrará y la pantalla quedará en blanco.

Puedes salir de este programa simplemente presionando ctrl+c.

Jugar con Wio Terminal (ArduPy)

Hardware

  • Paso 1. Prepara los siguientes elementos:
Wio TerminalGrove - 16 x 2 LCD

pir

pir

Consigue Uno AhoraConsigue Uno Ahora
  • Paso 2. Conecta Grove - 16 x 2 LCD al puerto I2C del Wio Terminal.

  • Paso 3. Conecta el Wio Terminal a la PC a través del cable USB Type-C.

pir

Software

  • Paso 1. Sigue Primeros pasos con ArduPy para configurar el entorno de desarrollo ArduPy en el Wio Terminal.

  • Paso 2. Asegúrate de que el firmware ArduPy contenga la biblioteca ArduPy de Grove - 16 x 2 LCD usando los siguientes comandos. Para más información, por favor sigue aquí.

aip install Seeed-Studio/seeed-ardupy-lcd1602
aip build
aip flash
  • Paso 3. Copia el siguiente código y guárdalo 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()
note

Para más referencia de la API, consulte aquí.

  • Paso 4. Guarde el ArduPy-LCD1602.py en una ubicación que conozca. Ejecute el siguiente comando y reemplace <YourPythonFilePath> con la ubicación de su ArduPy-LCD1602.py.
aip shell -n -c "runfile <YourPythonFilePath>"
# Example:
# aip shell -n -c "runfile /Users/ansonhe/Desktop/ArduPy-LCD1602.py"
  • Paso 5. Veremos los resultados en el Grove - 16 x 2 LCD.

pir

Recursos

Proyecto

Este es el video de introducción de este producto, demostraciones simples, puedes intentarlo.

Proyecto de Control Remoto Universal IR Grove:¿Tienes múltiples controles remotos? ¿Tienes un Arduino? Opera múltiples dispositivos con una sola pulsación de un control remoto IR Keyes.

Pruebas de alcance simplificadas con el RE-Mote y LCD:Reduce la cantidad de equipos y preparativos requeridos para pruebas de campo (2.4GHz y 868MHz), empaca todo lo que necesitas en tu mano.

Soporte Técnico y Discusión de Productos

¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.

Loading Comments...