2019-05-16

Arduino携手标准RSCG12864B01液晶屏幕I2C口Wire库去驱动

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

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

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

ARDUINO UNO 与RSCG12864液晶屏接线

调用内置的16*16点阵的汉字

调用内置的12*12点阵的汉字(可在任一像素点位置显示)

调用内置的ASCII,支持5*7/6*12/8*16三种点阵

中文、朝鲜文和日文字库版本可选

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

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

[kenrobot_code]#include

// 实际使用屏幕的接线数量应该是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, "www.raylid.com", VLARGE);

  delay(3000);

  myLCD.clear();

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

  myLCD.print(20, 35, "www.raylid.com", LARGE);

  delay(3000);

  myLCD.clear();

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

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

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

  myLCD.print(3, 15, "5*7 ASCII 0123456789", SMALL); // 参考上面print

  myLCD.print(3, 25, "5*7 ASCII ABCDEabcde", SMALL);

  myLCD.print(20, 35, "6*12/12*12 FONT", LARGE);

  myLCD.print(5, 48, "8*16/16*16 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接口、SPI接口、RS232接口、RS485接口、UART等接口的液晶模块,售前、售后技术支持,性能稳定可靠!


深圳瑞立德液晶模块厂家主要研发生产:

A、 单色液晶屏点阵式LCD包括:12864液晶模块、12864液晶屏、19264液晶模块、19264液晶屏、24064液晶模块、24064液晶屏、32064液晶模块、32064液晶屏、25664液晶模块、25664液晶屏、240128液晶模块、240128液晶屏、16032液晶模块、16032液晶屏、12232液晶模块、12232液晶屏、

B、 单色液晶屏字符液晶模块包括:0802液晶模块、0802液晶屏、1602液晶模块、1602液晶屏、1604液晶模块、1604液晶屏、2002液晶模块、2002液晶屏、2004液晶模块、2004液晶屏.

C、 段码液晶屏包括:VA LCD、TN LCD 、HTN LCD、 STN LCD、 FSTN LCD等笔段式LCD

D、 OLED显示模块:1602OLED,12832OLED、12864OLED、25664OLED

E、 TFT液晶模块,3.5寸320240、4.3寸480272、5.0寸800480、7寸800480,有8位MUC接口,I2C接口、SPI接口、RS232接口、RS485接口、UART口。

广泛应用于医疗设备、仪器仪表、安防门禁、汽车电子、工控设备、水表、电表、智能家居、温控器、物联网终端等众多产品。我们可以提供量身定制,从LCD玻璃,LED背光、PCB满足您的个性化需求。

你可能感兴趣的:(2019-05-16)