Skip to main content

Grove - 16x2 LCD

pir

Grove - 16 x 2 LCD 是一款适用于 Arduino 和 Raspberry Pi 的完美 I2C LCD 显示屏,具有高对比度和易于部署的特点。16x2 表示两行,每行有 16 列,总共 32 个字符。在 Grove I2C 接口的帮助下,仅需 2 个信号引脚和 2 个电源引脚即可完成连接。您甚至不需要担心如何连接这些引脚。只需通过 Grove 电缆将其插入 Seeeduino 或 Arduino/Raspberry Pi + 基板的 I2C 接口即可。无需复杂的布线、焊接,也无需担心因错误的限流电阻而烧毁 LCD。

版本

版本购买链接
Grove - 16 x 2 LCD (黑底黄字)立即购买
Grove - 16 x 2 LCD (黑底红字)立即购买
Grove - 16 x 2 LCD (白底蓝字)立即购买
note

自从 Grove - LCD RGB 背光 推出以来,广受好评。基于客户反馈,现在我们为您带来了更具性价比的单色背光衍生产品。

除了 RGB 背光,这三款产品几乎与 Grove - LCD RGB 背光相同,它们均为 16 字符宽,2 行,并配有高亮度背光。

预读

如果您对 什么是 Grove - 16 x 2 LCD它是如何工作的 不熟悉,强烈建议您提前阅读相关介绍。请访问我们的 博客 获取详细信息。

特点

  • 显示结构:16 字符 * 2 行
  • 显示模式:STN
  • 板载 MCU
  • I2C 总线接口
  • 支持英文和日文字体

规格

项目参数
工作电压3.3V / 5V
工作温度0 至 50℃
存储温度-10 至 60℃
驱动方式1/16 占空比,1/5 偏置
接口I^2^C
I^2^C 地址0X3E

典型应用

  • 温度显示
  • 时间显示
  • 任何需要简单显示的项目

支持的平台

ArduinoRaspberryArduPy

pir

pir

pir

caution

上述提到的支持平台仅表示模块在理论上或软件上的兼容性。在大多数情况下,我们仅为 Arduino 平台提供软件库或代码示例。不可能为所有可能的 MCU 平台提供软件库或演示代码。因此,用户需要自行编写软件库。

入门指南

使用 Arduino

所需材料

Seeeduino V4.2Base ShieldGrove - 16 x 2 LCD

pir

pir

pir

立即购买立即购买立即购买
note
  • 请轻轻插入 USB 数据线,否则可能会损坏接口。请使用内部有 4 根线的 USB 数据线,只有 2 根线的 USB 数据线无法传输数据。如果您不确定手头的数据线是否符合要求,可以点击 这里 购买。

  • 每个 Grove 模块在购买时都会附带一根 Grove 数据线。如果您丢失了 Grove 数据线,可以点击 这里 购买。

硬件概述

I2C 上拉电阻

第一版 Grove - 16 x 2 LCD 系列没有内置上拉电阻,也没有提供焊接可选上拉电阻的焊盘。我们重新设计了模块,新版本已内置上拉电阻。

如果您手头有旧版本,可以按照下图所示,在 Grove 接口背面的焊盘上焊接一个 10kΩ DIP 电阻。请在 VCCSCL 引脚之间焊接一个 10kΩ DIP 电阻,以及在 VCCSDA 引脚之间焊接一个 10kΩ DIP 电阻。

pir

外观

pir

硬件连接

pir

SeeeduinoGrove 数据线Grove - 16 x 2 LCD
GND黑色GND
5V 或 3.3V红色VCC
SDA白色SDA
SCL黄色SCL
  • 步骤 1. 将 Grove - 16 x 2 LCD 连接到 Grove-Base Shield 的 I^2^C 端口。

  • 步骤 2. 将 Grove - Base Shield 插入 Seeeduino,并通过 USB 数据线将 Seeeduino 连接到电脑。

软件

tip

如果这是您第一次使用 Arduino,我们强烈建议您在开始之前查看 Arduino 入门指南

tip

Grove - 16 x 2 LCD 与 Grove-LCD RGB Backlight 使用相同的库。它们的使用方式几乎相同,唯一的区别是 Grove - 16 x 2 LCD 不支持 RGB 颜色 API,例如 setRGB()

  • 步骤 2. 参考 如何安装库 为 Arduino 安装库。

  • 步骤 3. 重启 Arduino IDE。打开示例代码,可以通过以下三种方式打开:

1). 在 Arduino IDE 中直接通过路径打开:File --> Examples --> Grove - LCD RGB Backlight --> HelloWorld

pir

2). 在电脑中打开,点击文件夹 XXXX\Arduino\libraries\Grove_LCD_RGB_Backlight-master\examples\HelloWorld 中的 HelloWorld.ino 文件,XXXX 是您安装 Arduino IDE 的位置。

pir

3). 或者,您可以点击代码块右上角的图标

pir

将以下代码复制到 Arduino IDE 的新草图中。

#include <Wire.h>
#include "rgb_lcd.h"

rgb_lcd lcd;

/*
const int colorR = 255;
const int colorG = 0;
const int colorB = 0;
*/

void setup()
{
// 设置 LCD 的列数和行数:
lcd.begin(16, 2);

//lcd.setRGB(colorR, colorG, colorB);

// 在 LCD 上打印消息。
lcd.print("hello, world!");

delay(1000);
}

void loop()
{
// 将光标设置到第 0 列,第 1 行
// (注意:第 1 行是第二行,因为计数从 0 开始):
lcd.setCursor(0, 1);
// 打印自复位以来的秒数:
lcd.print(millis()/1000);

delay(100);
}
note
  • 库文件可能会更新。此代码可能不适用于更新后的库文件,因此我们建议您使用前两种方法。
  • 由于 Grove - 16 x 2 LCD 系列均为单色背光,您需要注释掉与 RGB 颜色相关的代码。在上述示例代码中,即第 6 行和第 17 行。 :::
  • 步骤 4. 上传示例代码。如果您不知道如何上传代码,请查看 如何上传代码
success

如果一切正常,您将看到 LCD 显示经典句子:hello world

pir

note

如果您没有 Base Shield,带有 I2C 接口的 Seeeduino VX 系列也可以正常工作。

使用 Raspberry Pi(搭配 Grove Base Hat for Raspberry Pi)

硬件

  • 步骤 1. 本项目使用的物品:
Raspberry PiGrove Base Hat for RasPiGrove - 16x2 LCD
  • 步骤 2. 将 Grove Base Hat 插入 Raspberry Pi。
  • 步骤 3. 将 Grove - 16 x 2 LCD 连接到 Base Hat 的 I2C 接口。
  • 步骤 4. 使用 USB 数据线将 Raspberry Pi 连接到电脑。

软件

  • 步骤 1. 按照 软件设置 配置开发环境,并在 Raspberry Pi 上安装 grove.py。
  • 步骤 2. 执行以下命令运行代码。
# Python3 的虚拟环境
virtualenv -p python3 env
source env/bin/activate
# 输入命令
grove_16x2_lcd

以下是 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,使用芯片 JHD1802。
- Grove - 16 x 2 LCD (黑底黄字)
- Grove - 16 x 2 LCD (黑底红字)
- Grove - 16 x 2 LCD (白底蓝字)

同时,这也是我们的类名,
可以驱动上述三种 LCD。

参数:
address(int): I2C 设备地址,默认为 0x3E。
'''
def __init__(self, address = 0x3E):
self._bus = Bus()
self._addr = address
if self._bus.write_byte(self._addr, 0):
print("检查 LCD {} 是否插入,然后重试"
.format(self.name))
sys.exit(1)
self.textCommand(0x02)
time.sleep(0.1)
self.textCommand(0x08 | 0x04) # 显示开启,无光标
self.textCommand(0x28)

@property
def name(self):
'''
获取设备名称

返回:
string: JHD1802
'''
return "JHD1802"

def type(self):
'''
获取设备类型

返回:
int: ``TYPE_CHAR``
'''
return TYPE_CHAR

def size(self):
'''
获取显示尺寸

返回:
(行数, 列数): 显示尺寸,以字符为单位。
'''
# 字符 16x2
# 返回 (行数, 列数)
return 2, 16

def clear(self):
'''
清屏并将光标定位到左上角。
'''
self.textCommand(0x01)

def draw(self, data, bytes):
'''
对字符类型显示设备未实现。
'''
return False

def home(self):
'''
将光标定位到 LCD 的左上角。
即在该位置输出后续文本到显示屏。
'''
self.textCommand(0x02)
time.sleep(0.2)

def setCursor(self, row, column):
'''
定位 LCD 光标;即设置后续写入 LCD 的文本显示位置。

参数:
row (int): 光标所在行,0 为第一行
column(int): 光标所在列,0 为第一列

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

def write(self, msg):
'''
向 LCD 写入字符。

参数:
msg (string): 要写入显示屏的字符

返回:
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 型号: {}".format(lcd.name))
print("LCD 类型 : {} 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

如果一切正常,您将看到以下结果:

  • 背光会关闭 1 秒钟,然后重新打开。
  • LCD 将显示:
hello world!   X
ABCDEFGHIJKLMNOP
  • 3 秒后,整个显示屏将被清除,屏幕变为空白。

您可以通过按 ctrl+c 退出此程序。

使用 Wio Terminal (ArduPy)

硬件

  • 步骤 1. 准备以下物品:
Wio TerminalGrove - 16 x 2 LCD

pir

pir

立即购买立即购买
  • 步骤 2. 将 Grove - 16 x 2 LCD 连接到 Wio Terminal 的 I2C 端口。

  • 步骤 3. 通过 USB Type-C 数据线将 Wio Terminal 连接到电脑。

pir

软件

  • 步骤 1. 按照 ArduPy 入门指南 配置 Wio Terminal 上的 ArduPy 开发环境。

  • 步骤 2. 使用以下命令确保 ArduPy 固件包含 Grove - 16 x 2 LCD 的 ArduPy 库。有关更多信息,请参考 这里

aip install Seeed-Studio/seeed-ardupy-lcd1602
aip build
aip flash
  • 步骤 3. 复制以下代码并保存为 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) #列 1,行 2
lcd.print(i)
time.sleep(1)
i = i + 1

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

有关更多 API 参考,请参阅 这里

  • 步骤 4.ArduPy-LCD1602.py 保存到您知道的位置。运行以下命令,并将 <YourPythonFilePath> 替换为您的 ArduPy-LCD1602.py 文件路径。
aip shell -n -c "runfile <YourPythonFilePath>"
# 示例:
# aip shell -n -c "runfile /Users/ansonhe/Desktop/ArduPy-LCD1602.py"
  • 步骤 5. 我们将在 Grove - 16 x 2 LCD 上看到结果。

pir

资源

项目

这是该产品的介绍视频,包含简单演示,您可以尝试一下。

Grove 红外通用遥控项目:有多个遥控器?有一个 Arduino?使用 Keyes 红外遥控器的单键操作控制多个设备。

使用 RE-Mote 和 LCD 轻松进行范围测试:减少现场测试(2.4GHz 和 868MHz)所需的设备和准备,将所有必需品装在手中。

技术支持与产品讨论

感谢您选择我们的产品!我们致力于为您提供各种支持,确保您使用我们的产品时体验顺畅。我们提供多个沟通渠道,以满足不同的偏好和需求。

Loading Comments...