RGB 1602(chinese): Difference between revisions

From 52Pi Wiki
Jump to navigation Jump to search
(修改了一些附件链接名.)
(修改注释.)
Line 238: Line 238:
<br>[[#SSD1306-Revision 1.0.pdf|屏幕手册]]
<br>[[#SSD1306-Revision 1.0.pdf|屏幕手册]]


<br />如对此页的规则或教程有意见者,可到[[Minecraft_Wiki_talk:wiki编辑手册|此网页]]或是在[[User talk:Powup333|管理员Powup333的讨论页]]留言。
<br />如对此页的规则或教程有意见者,可到[[Minecraft_Wiki_talk:wiki编辑手册|此网页]]或是在[[User talk:Gbfootball|编辑员Gbfootball的讨论页]]留言。

Revision as of 22:51, 2 July 2015

树莓派 RGB1602 显示模块

产品简介

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

File:DSC 0003.JPG
TaterLi 修改

产品参数

项目 参数
模块电压 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

产品展示


File:RGB1602 p1.JPG
File:RGB1602 p4.JPG
File:RGB1602 p5.JPG
File:RGB1602 p3.JPG

电气连接图

RGB1602显示模块引脚说明

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

如何使用

  1. 对于初次使用的用户请确保树莓派I2C接口已经打开,如何打I2C请参考 http://www.52pi.net/forum.php?mod=viewthread&tid=1363&highlight=rtc
  1. 首先下载安装0.91'OLED树莓派端驱动ssd1306 driver,下载完成后解压缩复制到树莓派用户目录下
  1. 输入指令 sudo apt-get install build-essential git-core libi2c-dev i2c-tools lm-sensors安装驱动屏幕所需要的组件
  1. 待安装完成后,进入/etc目录修改modules文件添加如下I2C硬件配置
i2c-bcm2708
i2c-dev
Test3.png
  1. 进入驱动文件目录下输入sudo make安装驱动程序
  1. 安装成功后打开example文件夹 输入make指令编译示例程序,编译成功后发现,当前文件夹下已成功生成可执行文件ssd1306_demo
  1. 输入sudo ./ssd1306_demo执行可以看到0.91'OLED模块已经成功点亮

示例代码说明

#include "OLEDType_SSD1306.h"  //包含驱动的头文件
#include "OLED_GFX.h"          
#include "OLED_SSD1306.h"

OLED_SSD1306 display;                                                              //实例化一个类OLED_SSD1306对象

const unsigned char rpi_2[128] = { /* 0X00,0X01,0X1A,0X00,0X20,0X00, */           //图片的二进制文件
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X07,0XC1,0XF0,0X00,0X18,0X32,0X06,0X00,
0X10,0X0C,0X02,0X00,0X11,0X0C,0X02,0X00,0X10,0X4C,0X84,0X00,0X08,0X2D,0X04,0X00,
0X0C,0X1E,0X08,0X00,0X06,0X3F,0X10,0X00,0X03,0XE1,0XF0,0X00,0X04,0X40,0X18,0X00,
0X08,0XC0,0X88,0X00,0X09,0XFF,0XE4,0X00,0X0F,0X1C,0X34,0X00,0X1E,0X0C,0X1E,0X00,
0X24,0X0C,0X12,0X00,0X24,0X0C,0X01,0X00,0X24,0X0C,0X11,0X00,0X26,0X1E,0X19,0X00
0X2F,0XE1,0XFB,0X00,0X1B,0XC0,0XE6,0X00,0X10,0XC0,0XC6,0X00,0X10,0XC0,0X84,0X00,
0X08,0X40,0X84,0X00,0X08,0X73,0X0C,0X00,0X06,0X7F,0X98,0X00,0X01,0XC0,0XE0,0X00,
0X00,0XC0,0XC0,0X00,0X00,0X33,0X00,0X00,0X00,0X0C,0X00,0X00,0X00,0X00,0X00,0X00,
};

unsigned char rpi_3[128] = { /* 0X00,0X01,0X1A,0X00,0X20,0X00, */               //图片的二进制文件
0XFF,0XFF,0XFF,0XC0,0XFF,0XFF,0XFF,0XC0,0XF8,0X3E,0X0F,0XC0,0XE7,0XCD,0XF9,0XC0,
0XEF,0XFB,0XFD,0XC0,0XEE,0XF3,0XFD,0XC0,0XEF,0XB3,0X7B,0XC0,0XF7,0XD2,0XFB,0XC0,
0XFF,0XE1,0XFF,0XC0,0XFD,0XC0,0XEF,0XC0,0XFC,0X1E,0X0F,0XC0,0XFB,0XBF,0XE7,0XC0,
0XF7,0X3F,0X77,0XC0,0XF6,0X00,0X1B,0XC0,0XF0,0XE3,0XCB,0XC0,0XE1,0XF3,0XE1,0XC0,
0XDB,0XF7,0XFD,0XC0,0XDB,0XF3,0XFE,0XC0,0XDB,0XF3,0XEE,0XC0,0XD9,0XE1,0XE6,0XC0,
0XD0,0X1E,0X04,0XC0,0XE4,0X3F,0X19,0XC0,0XEF,0X3F,0X39,0XC0,0XFF,0XBF,0X7B,0XC0,
0XF7,0XBF,0X7B,0XC0,0XF7,0X8C,0XF3,0XC0,0XF9,0X80,0X67,0XC0,0XFE,0X3F,0X1F,0XC0,
0XFF,0X3F,0X3F,0XC0,0XFF,0XDC,0XFF,0XC0,0XFF,0XF3,0XFF,0XC0,0XFF,0XFF,0XFF,0XC0,
};

int main(int argc, char **argv)
{
	if ( !display.init(OLED_I2C_RESET,OLED_OLED_I2C_128x32) )       //判断屏幕初始化是否成功,否则退出
		exit(EXIT_FAILURE);                                     
	display.begin();                                                //开始显示
	display.clearDisplay();                                         //清空屏幕
	display.drawBitmap(0,0,rpi_2,32,32,1);                          //显示图片函数位置为X:0,Y:0,图片为:RPI_2,图片长:32,图片宽:32,显示为黑色字体
	display.drawBitmap(96,0,rpi_2,32,32,1);                         //显示图片函数位置为X:96,Y:0,图片为:RPI_2,图片长:32,图片宽:32,显示为黑色字体
	display.drawRect(0,0,128,32,0);                                 //所有区域全部显示白色相当于清空屏幕          
	display.setTextSize(1);                                         //设置字体大小为1号
	display.setTextColor(WHITE);                                    //设置字体显示颜色为白色
	display.setCursor(29,0);                                        //设置字体显示位置为X:29,:Y:0
	display.print("Hello World");                                   //设置显示字体内容为Hello World
	display.setCursor(29,16);                                       //设置显示字体我\的位置为X:29,Y:16
	display.print("www.52pi.cn");                                   //设置显示的字体内容为www.52pi.cn
	display.display();                                              //显示内容
        usleep(10000);                                                  //延时

}

购买链接

附件


参考代码
屏幕手册


如对此页的规则或教程有意见者,可到此网页或是在编辑员Gbfootball的讨论页留言。