(SKU:DFR0514/DFR0603)IIC 16X2 RGB LCD KeyPad HAT(V1.0)

来自DFRobot Product Wiki
跳转至: 导航搜索
DFR0514产品图
DFR0603产品图

目录

简介

这是一款提供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


按键接口说明

按键接口
GPIO(BCM编号) 功能描述
16 Select按键
17 Up按键
18 Down按键
19 Left按键
20 Right按键

注: 使用按键需将跳线帽安装上,例如:按键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 】:

step 1
step 2
step 3
step 4
step 5
 2、检测RGB LCD KeyPad HAT扩展板的IIC地址是否被树莓派板总线检测到;

在树莓派系统终端输入命令:

安装测试工具:sudo apt-get install i2c-tools

检测总线上的IIC设备:sudo i2cdetect -y 1

未安装RGB LCD KeyPad HAT板到树莓派上的IIC检测状态
安装RGB LCD KeyPad HAT板到树莓派上的IIC检测状态
 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

下载DFRobot_RGB1602_RaspberryPi库
查看是否下载树莓派板,输入命令:ls
 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

Step100.png
  • 注意:如果遇到编译失败,可尝试执行“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

Python3wiringpi库.PNG


Step11.png


样例代码一【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!"。
Vim打开c程序.PNG
#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或者论坛联系我们!


更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。


更多


DFshopping car1.png DFRobot商城购买链接

个人工具
名字空间

变换
操作
导航
工具箱