Home / RGB 1602(chinese)
View Raw Markdown rev:384 · 2015-07-06T07:10:17+00:00

RGB 1602(chinese)

产品简介

相比原来的LCD1602显示模块我们做了一些改进,使其融合LCD多彩显示和按键扩展功能。 LCD1602是一款提供2行16字符液晶显示的树莓派扩展板。扩展了多个按键输入,可供用户作为LCD显示屏的菜单选择按键或者操控按键使用。 一个扩展板就能让你与树莓派进行互动。用户可以通过调节扩展板上的微型电位器,调节LCD屏的对比度。 对于树莓派初学者来说,不必为繁琐复杂液晶驱动电路连线而头疼了。 这款1602 LCD扩展板将电路简化,直接将此板插到树莓派系统板上即可使用。 通过i2c操作的mcp23016扩展io口,减少了对树莓派引脚的占用。 调用wiringPi的lcd库,简单的几行代码便可以完数据和字符的显示功能。 除此之外,显示模块可以单独取出和面包板搭配使用,避免了浪费。 TaterLi 修改|180px

产品参数

项目 参数
模块电压 5V
背光颜色 红绿蓝
模块最大电流 60mA
LCD 显示模式 STN
工作温度 0~+50℃
存储温度 -20~+70℃
模块尺寸 82x58(mm)
显示区域 64.5x16
显示字符数目 16x2行
控制器 SplC780
安装尺寸/孔径 75.0*31.0/ 2.8mm
显示字符数目 16x2行
LCD点大小 0.55*0.65mm
接口形式/尺寸 18PIN,PH2.54,1.0mm

产品展示

RGB1602_p1.JPG RGB1602_p4.JPG RGB1602_p5.JPG RGB1602_p3.JPG

电气连接图

1602test1.png

产品尺寸大小

rgb1602_show3.JPG 1602RGB_dimention.png

RGB1602显示屏幕引脚说明

管脚号 符号 功能
1 Vss 电源地
2 Vdd 电源正极
3 Vo LCD偏压输入
4 RS 数据命令选择
5 R/W 读写控制信号
6 E 使能信号
7 DB0 数据IO口0
8 DB1 数据IO口1
9 DB2 数据IO口2
10 DB3 数据IO口3
11 DB4 数据IO口4
12 DB5 数据IO口5
13 DB6 数据IO口6
14 DB7 数据IO口7
15 LEDA LED背光灯正极
16 LEDR 红色LED背光灯控制
17 LEDG 绿色LED背光灯控制
18 LEDB 蓝色LED背光灯控制
1602_RGB_test3.png

如何使用

1602_tech1.png
1602_tech2.png
  • 在vim编辑器下输入:字符,之后输入wq按回车键保存新建立的文件并退出编辑器
1602_tech3.png
  • 使用gcc编译刚刚建立的C文件,输入gcc lcd1602.c -lwiringPi /home/pi/wiringPi/devLib/lcd.o -o lcd1602编译程序
1602_tech5.png
  • 编译成功好可以看到当前用户目录下面已经多了一个可执行文件lcd1602输入sudo modprobe i2c-dev加载i2c模块
1602_tech6.png 1602_tech8.png
  • 输入sudo ./lcd1602执行可以看到RGB1602已经成功点亮了
1602_tech9.png show2.JPG
  • 彩色背光展示

示例代码说明

#include <stdio.h>                                                            //添加标准输入输出头文件
#include <wiringPi.h>                                                         //添加wiringpi头文件
#include <mcp23017.h>                                                         //添加mcp23017操作头文件
#include <lcd.h>                                                              //添加lcd操作头文件
#include <softPwm.h>                                                          //添加软件pwm头文件
int main()
{
    long value=0;
    int rand_num;
    int value_blue;                                                       //蓝色背光亮度
    int value_red;                                                        //红色背光亮度
    int value_green;                                                      //绿色背光亮度
    int display,i,count;
    wiringPiSetup();                                                      //初始化wiringPi
    mcp23017Setup (100, 0x20);                                            //初始化mcp23017芯片i2c地址0x20,地址起始100
    printf ("Raspberry Pi - MCP23017 Test\n");                            //打印信息
    for(i=0;i<16;i++)
    pinMode(100+i,OUTPUT);                                                //配置引脚 100 - 115为输出
    digitalWrite(101,0);                                                  //引脚101为低电平
    display=lcdInit(2,16,4,100,102,103,104,105,106,0,0,0,0);              //lcd初始化2*16,4位控制,使用100,101,102,103,104脚作为控制引脚
    lcdHome(display);                                                     //光标复位
    lcdClear(display);                                                    //清空屏幕
    lcdPosition(display,0,0);                                             //设置显示位置(0,0)
    lcdPuts(display,"Hello World");                                       //打印字符Hello World
    lcdPosition(display,0,1);                                             //设置显示位置(0,1)
    lcdPuts(display,"www.52pi.net");                                      //打印字符(www.52pi.net)
    pinMode(0, OUTPUT);                                                   //树莓派GPIO引脚0设置为输出
    pinMode(2, OUTPUT);                                                   //树莓派GPIO引脚2设置为输出
    pinMode(3, OUTPUT);                                                   //树莓派GPIO引脚3设置为输出
    softPwmCreate (3, 50, 100);                                           //软件pwm设置引脚3 pwm值范围0-100 初始50
    softPwmCreate (2, 50, 100);                                           //软件pwm设置引脚2 pwm值范围0-100 初始50
    softPwmCreate (0, 50, 100);                                           //软件pwm设置引脚0 pwm值范围0-100 初始50
while(1)                                                                      //循环
{

    delay(200);                                                            //延时200ms
        value_red=(value<100)?value:0;                                         //0-100之间时红色颜色渐变
    value_green=(value>100&&value<200)?(value-100):0;                      //100-200之间时绿色渐变
    value_blue=(value>200)?(value-200):0;                                  //200-300之间时蓝色渐变
    if(value>300)                                                          //大于300时,颜色随机跳转
    {
        value_red=rand()%100;
        value_green=rand()%100;
        value_blue=rand()%100;
    }
    //rand_num=rand();
    softPwmWrite (3,value_red);                                             //软件pwm控制红色
    softPwmWrite (2,value_green);                                           //软件pwm控制绿色
    softPwmWrite (0,value_blue);                                            //软件pwm控制蓝色

    value++;
    if(value>900)                                                           //累加值在900,轮回
    {
        value=0;
    }

    lcdPosition(display,13,1);
    lcdPrintf(display,"%d",value);                                           //显示累加数值
    //value_blue=0;

    }
}

购买链接

附件

参考代码 屏幕手册