(SKU:DFR0514/DFR0603)IIC 16X2 RGB LCD KeyPad HAT(V1.0)
目录 |
简介
这是一款提供2行16字符RGB液晶显示的树莓派扩展板,该扩展板改善老版液晶显示器繁琐的接线使用方式,增加免对比度调节功能,减少了板子的使用难度让你更专注实现自己的项目。 我们将RGB LCD1602屏与扩展底板做了集成化设计,使扩展板更加美观的同时引出了树莓派原有GPIO端口,可方便连接更多设备。扩展板采用IIC通讯接口,即可控制LCD1602的1600万种颜色组合、背光亮度控制、显示控制。板载5颗按键,使你在树莓派上使用更方便,可用于显示切换、功能设置按键等,即可搭建您的数据监控和小型操作平台。
IIC 16x2 RGB LCD Key Pad HAT有两款显示效果可选:彩色底、彩色字体。
技术规格
- 工作电压:5V
- 逻辑电平:3.3V
- 工作电流:≤60mA
- 显示描述:16*2
- 通信方式:IIC/I2C
- 背光:RGB可调背光(1600万)
- 存放温度:-30 to +80℃
- 工作温度:-20℃~70℃
- 尺寸:85.0mm×56.0mm×13.0mm
按键接口说明
|
注: 使用按键需将跳线帽安装上,例如:按键Select 用跳线帽将GPIO16和Button引脚连接。 |
使用教程
1、如何在树莓派上使用RGB LCD KeyPad HAT,并设置LCD屏的颜色。
2、按键的使用及程序调用方式。
准备
- 硬件
- 1 x 树莓派控制板
- 1 x RGB LCD KeyPad HAT
- 1 x HDMI线
- 1 x 显示屏
- 1 x 键盘鼠标
IIC 16X2 RGB LCD KeyPad HAT
操作步骤
1、将RGB LCD KeyPad HAT安装在树莓派板,树莓派系统默认没有开启I2C外设,需要手动进行开启:
在树莓派系统终端输入命令:sudo raspi-config
依次“键盘回车键”选择:【 Interfacing Options 】(或者【 Advanced Options 】)->【 I2C 】->【 Yes 】->【 OK 】->【 Finish 】:
2、检测RGB LCD KeyPad HAT扩展板的IIC地址是否被树莓派板总线检测到;
在树莓派系统终端输入命令:
安装测试工具:sudo apt-get install i2c-tools
检测总线上的IIC设备:sudo i2cdetect -y 1
3、经过前面2步骤的准备工作,我们正式进入RGB LCD KeyPad HAT的使用,首先我们需要将库文件拷贝到树莓派板,以下有2种方式可以实现拷贝:
a、点击下载DFRobot_RGB1602_RaspberryPi,将下载后的文件拷贝到U盘 -> 再通过U盘拷贝到树莓派板;
b、如果您的树莓派板现在是连接到网络的,可以使用树莓派终端通过git命令直接获取,输入命令:git clone https://github.com/DFRobot/DFRobot_RGB1602_RaspberryPi.git
4、运行C++例程【SetColor】:设置LCD屏的颜色为红色
在树莓派系统终端输入命令:
a、将目录切换到DFRobot_RGBLCD库:cd DFRobot_RGB1602_RaspberryPi/DFRobot_RGBLCD
b、查看DFRobot_RGBLCD中的文件:ls
c、将目录切换到CPP例程文件:cd cpp
d、查看CPP中的文件:ls (执行此命令后,可以看到所有的C++编写的例程)
e、将目录切换到SetColor:cd SetColor
f、编译例程:make
g、执行SetColor例程:./SetColor
h、如下图所示,在终端输入r:255 (回车) g:0 (回车) b:0 (回车)
i、退出程序:Ctrl+C
- 注意:如果遇到编译失败,可尝试执行“make clean”命令,再执行“make”命令。
4-1、运行python例程【SetColor】:设置LCD屏的颜色为红色
a、安装python3的wiringpi库:pip3 install wiringpi
b、将目录切换到DFRobot_RGBLCD库:cd DFRobot_RGB1602_RaspberryPi/DFRobot_RGBLCD
c、查看DFRobot_RGBLCD中的文件:ls
d、将目录切换到python3例程文件:cd python3
e、查看python3中的文件:ls (执行此命令后,可以看到所有的python编写的例程)
f、将目录切换到SetColor:cd SetColor
g、执行SetColor例程: python3 SetColor.py
h、如下图所示,在终端输入r:255 (回车) g:0 (回车) b:0 (回车)
i、退出程序:Ctrl+C
样例代码一【C例程】
功能:设置RGB LCD 屏的颜色; 结果: 输入 r:255 g:0 b:0 屏幕显示红色
- 如果需要查看和编辑代码可以下载到Windows直接打开或者在树莓派系统的DFRobot_RGB1602_RaspberryPi/DFRobot_RGBLCD/cpp/SetColor目录下输入命令:vim SetColor.cpp
注意:如未安装vim编译器,需安装后继续以上操作,vim安装命令:sudo apt-get install vim-gtk
- 需要保存退出:按ESC后,直接按shift+zz,或者切换到大写模式按ZZ;直接退出不保存:先按ESC,再输入冒号,在输入命令时,直接输入"q!"。
#include "../DFRobot_RGBLCD.h" #include <iostream> #include <string> using namespace std; int main(){ int r,g,b; DFRobot_RGBLCD lcd(16, 2); // initialize lcd.init(); // Print a message to the LCD. lcd.print("set cllor"); while(1){ cout << "r:"; cin >> r; cout << "g:"; cin >> g; cout << "b:"; cin >> b; lcd.setRGB(r, g, b); cout << "r = " << r << "g = " << g << "b = " << b << endl; } return 0; } |
样例代码二【python例程】
功能:检测按钮功能; 结果: 当按下‘上’按钮,LCD屏显示 Push the buttons UP 当按下‘下’按钮,LCD屏显示 Push the buttons DOWN 当按下‘左’按钮,LCD屏显示 Push the buttons LEFT 当按下‘右’按钮,LCD屏显示 Push the buttons RIGHT 当按下‘选择’按钮,LCD屏显示 Push the buttons SELECT
- 如果需要查看和编辑代码,可以下载到Windows直接打开或者在树莓派系统在DFRobot_RGB1602_RaspberryPi/DFRobot_RGBLCD/python3/Button目录下:输入命令;vim Button.py
- 需要保存退出:按ESC后,直接按shift+zz,或者切换到大写模式按ZZ;直接退出不保存:先按ESC,再输入冒号,在输入命令时,直接输入"q!"。
import sys sys.path.append('../') import RPi.GPIO as GPIO import rgb1602 import time lcd = rgb1602.RGB1602(16,2) GPIO.setmode(GPIO.BCM) # Define keys lcd_key = 0 key_in = 0 btnRIGHT = 0 btnUP = 1 btnDOWN = 2 btnLEFT = 3 btnSELECT = 4 GPIO.setup(16, GPIO.IN) GPIO.setup(17, GPIO.IN) GPIO.setup(18, GPIO.IN) GPIO.setup(19, GPIO.IN) GPIO.setup(20, GPIO.IN) #Read the key value def read_LCD_buttons(): key_in16 = GPIO.input(16) key_in17 = GPIO.input(17) key_in18 = GPIO.input(18) key_in19 = GPIO.input(19) key_in20 = GPIO.input(20) if (key_in16 == 1): return btnSELECT if (key_in17 == 1): return btnUP if (key_in18 == 1): return btnDOWN if (key_in19 == 1): return btnLEFT if (key_in20 == 1): return btnRIGHT lcd.setCursor(0,0) lcd.print("Push the buttons"); #print“Push the buttons” while True: lcd.setCursor(0,1) lcd_key = read_LCD_buttons() # Reading keys if (lcd_key == btnRIGHT): lcd.print("RIGHT ") elif (lcd_key == btnLEFT): lcd.print("LEFT ") elif (lcd_key == btnUP): lcd.print("UP ") elif (lcd_key == btnDOWN): lcd.print("DOWN ") elif (lcd_key == btnSELECT): lcd.print("SELECT") |
常见问题
还没有客户对此产品有任何问题,欢迎通过qq或者论坛联系我们!
更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。