I2C控制的RSCG12864B01屏幕,是一款非常有用。就來(lái)分享一下這個(gè)屏幕的使用教程。
采用Arduino標(biāo)準(zhǔn)的Wire庫(kù)去驅(qū)動(dòng)RSCG12864B01屏幕,只需要注意I2C總線的電平即可(這個(gè)RSCG12864B01是5V的,Arduino ARM系列的是3.3V,所以需要用購(gòu)買3.3V版本的液晶屏,否則會(huì)損壞控制板)。
新封裝的庫(kù)已經(jīng)在UNO上跑了Example,沒有問題,現(xiàn)在上幾張圖來(lái)給大家看一下效果,隨后再介紹內(nèi)部的函數(shù)使用。
ARDUINO UNO 與RSCG12864液晶屏接線
調(diào)用內(nèi)置的16*16點(diǎn)陣的漢字
調(diào)用內(nèi)置的12*12點(diǎn)陣的漢字(可在任一像素點(diǎn)位置顯示)
調(diào)用內(nèi)置的ASCII,支持5*7/6*12/8*16三種點(diǎn)陣
中文、朝鮮文和日文字庫(kù)版本可選
用RSCG12864B簡(jiǎn)單的顯示一下數(shù)字,字符,圖像的話,確實(shí)是一個(gè)好的選擇。
現(xiàn)在簡(jiǎn)單的介紹一下函數(shù)庫(kù)的一些函數(shù)。先來(lái)看一下Example。
[kenrobot_code]#include
// 實(shí)際使用屏幕的接線數(shù)量應(yīng)該是3 + 2
// 3是指I2C的兩根線加上屏幕的一個(gè)Busy信號(hào)線
// 2指的就是5V和GND
const int busyPin = 7;
RAYLIDLCD myLCD(busyPin); // 我定義Busy信號(hào)到D7(數(shù)字口7)
void setup() {
// put your setup code here, to run once:
myLCD.begin(); // 初始化一下屏幕
myLCD.setBrightness(255); // 設(shè)置屏幕亮度為255
}
void loop() {
// put your main code here, to run repeatedly:
unsigned char i;
// 下面四個(gè)數(shù)組是中文漢字的編碼
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); // 這個(gè)函數(shù)的作用就是顯示預(yù)存在屏幕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是用來(lái)在指定位置顯示字符的,使用方法參考如下說(shuō)明
// print(屏幕x, 屏幕y, 字符, 字號(hào));其中字號(hào)有 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(); // 關(guān)閉反白
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); // 繪制實(shí)心矩形,用法和空心矩形一樣
delay(100);
}
delay(3000);
}
[/kenrobot_code]
深圳瑞立德-專業(yè)研發(fā)、生產(chǎn)與銷售點(diǎn)陣液晶顯示模塊和段碼液晶屏目前已經(jīng)成功開發(fā)多款行業(yè)標(biāo)準(zhǔn)的I2C接口、SPI接口、RS232接口、RS485接口、UART等接口的液晶模塊,售前、售后技術(shù)支持,性能穩(wěn)定可靠!
深圳瑞立德液晶模塊廠家主要研發(fā)生產(chǎn):
A、 單色液晶屏點(diǎn)陣式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口。
廣泛應(yīng)用于醫(yī)療設(shè)備、儀器儀表、安防門禁、汽車電子、工控設(shè)備、水表、電表、智能家居、溫控器、物聯(lián)網(wǎng)終端等眾多產(chǎn)品。我們可以提供量身定制,從LCD玻璃,LED背光、PCB滿足您的個(gè)性化需求。
在線留言
地址:廣東省深圳市龍華區(qū)龍華街道清湖社區(qū)雪崗北路308號(hào)利榮豐大廈C座713 電話:0755-28169430 ICP備16116153號(hào)-1/2