糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > I2C驱动12864液晶模块程序分享ARDUINO UNO

I2C驱动12864液晶模块程序分享ARDUINO UNO

时间:2020-07-15 05:02:47

相关推荐

I2C驱动12864液晶模块程序分享ARDUINO UNO

I2C驱动12864液晶模块程序分享(ARDUINO UNO)

材料:RSCG12864B01液晶模块;ARDUINO UNO板, U-PD2图片下载器,5v电源,RSCG12864B规格书

I2C控制的RSCG12864B01屏幕,是一款非常有用。就来分享一下这个屏幕的使用教程。

采用Arduino标准的Wire库去驱动RSCG12864B01屏幕,只需要注意I2C总线的电平即可(这个RSCG12864B01是5V的,Arduino ARM系列的是3.3V,所以需要用购买3.3V版本的液晶屏,否则会损坏控制板)。

新封装的库已经在UNO上跑了Example,没有问题,现在上几张图来给大家看一下效果,随后再介绍内部的函数使用。

用12864简单的显示一下数字,字符,图像的话,确实是一个好的选择。

使用图片做界面需配合U-PD2图片下载工具。

现在简单的介绍一下函数库的一些函数。先来看一下Example。

[kenrobot_code]#include <RSCG12864B.h>

// 实际使用屏幕的接线数量应该是3 + 2

// 3是指I2C的两根线加上屏幕的一个Busy信号线

// 2指的就是5V和GND

const int busyPin = 7;

RAYLIDLCD myLCD(busyPin); // 我定义Busy信号到D7(数字口7)

void setup() {

// put your setup code here, to run once:

myLCD.begin(); // 初始化一下屏幕

myLCD.setBrightness(255); // 设置屏幕亮度为255

}

void loop() {

// put your main code here, to run repeatedly:

unsigned char i;

// 下面四个数组是中文汉字的编码

char chn[] = {0XC9, 0XEE, 0XDB, 0XDA, 0XCA, 0XD0, 0XC8, 0XF0, 0XC1, 0XA2, 0XB5, 0XC2, 0XB5, 0XE7, 0XD7, 0XD3, 0x00,};

char f1[] = {0X49, 0X32, 0X43, 0XBD, 0XD3, 0XBF, 0XDA, 0X2C, 0XC4, 0XDA, 0XBD, 0XA8, 0XD7, 0XD6, 0XBF, 0XE2, 0,};

char f2[] = {0XD6, 0XD0, 0XCE, 0XC4, 0X2C, 0XBA, 0XAB, 0XCE, 0XC4, 0X2C, 0XC8, 0XD5, 0XCE, 0XC4, 0,};

char f3[] = {0XD6, 0XA7, 0XB3, 0XD6, 0X32, 0X44, 0XBB, 0XE6, 0XCD, 0XBC, 0};

myLCD.displayBMP(0); // 这个函数的作用就是显示预存在屏幕Flash中的图片

delay(800);

myLCD.displayBMP(1);

delay(800);

myLCD.displayBMP(2);

delay(800);

myLCD.displayBMP(3);

delay(800);

myLCD.displayBMP(4);

delay(800);

myLCD.displayBMP(5);

delay(800);

myLCD.clear(); // 清屏

myLCD.print(0, 15, chn, VLARGE); // print是用来在指定位置显示字符的,使用方法参考如下说明

// print(屏幕x, 屏幕y, 字符, 字号);其中字号有 SMALL, NORMAL, BIG, LARGE, VLARGE

// 显示中文只能使用LARGE和VLARGE

myLCD.print(8, 35, “”, VLARGE);

delay(3000);

myLCD.clear();

myLCD.print(16, 15, chn, LARGE);

myLCD.print(20, 35, “”, LARGE);

delay(3000);

myLCD.clear();

myLCD.fontReversOn(); // 反白显示,具体效果参考上面的图片

myLCD.print(25, 0, “Built-in font”, LARGE); // 反白这句话

myLCD.fontReversOff(); // 关闭反白

myLCD.print(3, 15, “57 ASCII 0123456789", SMALL); // 参考上面print

myLCD.print(3, 25, "57 ASCII ABCDEabcde”, SMALL);

myLCD.print(20, 35, “612/1212 FONT”, LARGE);

myLCD.print(5, 48, “816/1616 FONT”, VLARGE);

delay(3000);

myLCD.clear();

myLCD.print(0, 0, f1, VLARGE);

myLCD.print(0, 16, f2, VLARGE);

myLCD.print(0, 32, f3, VLARGE);

myLCD.drawRect(0, 50, 127, 63); // 绘制空心矩形

// 使用如下

// drawRect(x1, y1, x2, y2);

for (i = 2; i <= 125; i++)

{

myLCD.drawRectF(2, 52, i, 61); // 绘制实心矩形,用法和空心矩形一样

delay(100);

}

delay(3000);

}

[/kenrobot_code]

如果觉得《I2C驱动12864液晶模块程序分享ARDUINO UNO》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。