37款傳感器與執(zhí)行器的提法,在網(wǎng)絡(luò)上廣泛流傳,其實(shí)Arduino能夠兼容的傳感器模塊肯定是不止這37種的。鑒于本人手頭積累了一些傳感器和執(zhí)行器模塊,依照實(shí)踐出真知(一定要?jiǎng)邮肿觯┑睦砟?,以學(xué)習(xí)和交流為目的,這里準(zhǔn)備逐一動(dòng)手嘗試系列實(shí)驗(yàn),不管成功(程序走通)與否,都會(huì)記錄下來—小小的進(jìn)步或是搞不掂的問題,希望能夠拋磚引玉。
【Arduino】168種傳感器模塊系列實(shí)驗(yàn)(資料代碼+仿真編程+圖形編程)
實(shí)驗(yàn)九十三:0.96寸I2C IIC通信128*64顯示器 OLED液晶屏模塊
知識(shí)點(diǎn):OLED(OrganicLight-Emitting Diode)
又稱為有機(jī)電激光顯示、有機(jī)發(fā)光半導(dǎo)體(OrganicElectroluminesence Display,OLED)。OLED屬于一種電流型的有機(jī)發(fā)光器件,是通過載流子的注入和復(fù)合而致發(fā)光的現(xiàn)象,發(fā)光強(qiáng)度與注入的電流成正比。OLED在電場(chǎng)的作用下,陽極產(chǎn)生的空穴和陰極產(chǎn)生的電子就會(huì)發(fā)生移動(dòng),分別向空穴傳輸層和電子傳輸層注入,遷移到發(fā)光層。當(dāng)二者在發(fā)光層相遇時(shí),產(chǎn)生能量激子,從而激發(fā)發(fā)光分子最終產(chǎn)生可見光。一般而言,OLED可按發(fā)光材料分為兩種:小分子OLED和高分子OLED(也可稱為PLED)。OLED是一種利用多層有機(jī)薄膜結(jié)構(gòu)產(chǎn)生電致發(fā)光的器件,它很容易制作,而且只需要低的驅(qū)動(dòng)電壓,這些主要的特征使得OLED在滿足平面顯示器的應(yīng)用上顯得非常突出。OLED顯示屏比LCD更輕薄、亮度高、功耗低、響應(yīng)快、清晰度高、柔性好、發(fā)光效率高,能滿足消費(fèi)者對(duì)顯示技術(shù)的新需求。全球越來越多的顯示器廠家紛紛投入研發(fā),大大的推動(dòng)了OLED的產(chǎn)業(yè)化進(jìn)程。
OLED特點(diǎn)
(1)功耗低——與LCD相比,OLED不需要背光源,而背光源在LCD中是比較耗能的一部分,所以O(shè)LED是比較節(jié)能的。例如,24in的AMOLED模塊功耗僅僅為440mw,而24in的多晶硅LCD模塊達(dá)到了605mw。
(2)響應(yīng)速度快——OLED技術(shù)與其他技術(shù)相比,其響應(yīng)速度快,響應(yīng)時(shí)間可以達(dá)到微秒級(jí)別。較高的響應(yīng)速度更好的實(shí)現(xiàn)了運(yùn)動(dòng)的圖像。根據(jù)有關(guān)的數(shù)據(jù)分析,其響應(yīng)速度達(dá)到了液晶顯示器響應(yīng)速度的1000倍左右。
(3)較寬的視角——與其他顯示相比,由于OLED是主動(dòng)發(fā)光的,所以在很大視角范圍內(nèi)畫面是不會(huì)顯示失真的。其上下,左右的視角寬度超過170度。
(4)能實(shí)現(xiàn)高分辨率顯示——大多高分辨率的OLED顯示采用的是有源矩陣也就是AMOLED,它的發(fā)光層可以是吸納26萬真彩色的高分辨率,并且隨著科學(xué)技術(shù)的發(fā)展,其分辨率在以后會(huì)得到更高的提升。
(5)寬溫度特性——與LCD相比,OLED可以在很大的溫度范圍內(nèi)進(jìn)行工作,根據(jù)有關(guān)的技術(shù)分析,溫度在-40攝氏度到80攝氏度都是可以正常運(yùn)行的。這樣就可以降低地域限制,在極寒地帶也可以正常使用。
(6)OLED能夠?qū)崿F(xiàn)軟屏——OLED可以在塑料、樹脂等不同的柔性襯底材料上進(jìn)行生產(chǎn),將有機(jī)層蒸鍍或涂布在塑料基襯上,就可以實(shí)現(xiàn)軟屏。
(7)OLED成品的質(zhì)量比較輕——與其他產(chǎn)品相比,OLED的質(zhì)量比較小,厚度與LCD相比是比較小的,其抗震系數(shù)較高,能夠適應(yīng)較大的加速度,振動(dòng)等比較惡劣的環(huán)境。
OLED結(jié)構(gòu)
由基板、陰極、陽極、空穴注入層(HIL)、電子注入層(EIL)、空穴傳輸層(HTL)、電子傳輸層(ETL)、電子阻擋層(EBL)、空穴阻擋層(HBL)、發(fā)光層(EML)等部分構(gòu)成。其中,基板是整個(gè)器件的基礎(chǔ),所有功能層都需要蒸鍍到器件的基板上;通常采用玻璃作為器件的基板,但是如果需要制作可彎曲的柔性O(shè)LED器件,則需要使用其它材料如塑料等作為器件的基板。陽極與器件外加驅(qū)動(dòng)電壓的正極相連,陽極中的空穴會(huì)在外加驅(qū)動(dòng)電壓的驅(qū)動(dòng)下向器件中的發(fā)光層移動(dòng),陽極需要在器件工作時(shí)具有一定的透光性,使得器件內(nèi)部發(fā)出的光能夠被外界觀察到;陽極最常使用的材料是ITO。空穴注入層能夠?qū)ζ骷年枠O進(jìn)行修飾,并可以使來自陽極的空穴順利的注入到空穴傳輸層;空穴傳輸層負(fù)責(zé)將空穴運(yùn)輸?shù)桨l(fā)光層;電子阻擋層會(huì)把來自陰極的電子阻擋在器件的發(fā)光層界面處,增大器件發(fā)光層界面處電子的濃度;發(fā)光層為器件電子和空穴再結(jié)合形成激子然后激子退激發(fā)光的地方;空穴阻擋層會(huì)將來自陽極的空穴阻擋在器件發(fā)光層的界面處,進(jìn)而提高器件發(fā)光層界面處電子和空穴再結(jié)合的概率,增大器件的發(fā)光效率;電子傳輸層負(fù)責(zé)將來自陰極的電子傳輸?shù)狡骷陌l(fā)光層中;電子注入層起對(duì)陰極修飾及將電子傳輸?shù)诫娮觽鬏攲拥淖饔?;陰極中的電子會(huì)在器件外加驅(qū)動(dòng)電壓的驅(qū)動(dòng)下向器件的發(fā)光層移動(dòng),然后在發(fā)光層與來自陽極的空穴進(jìn)行再結(jié)合。
發(fā)光原理
OLED器件的發(fā)光過程可分為:電子和空穴的注入、電子和空穴的傳輸、電子和空穴的再結(jié)合、激子的退激發(fā)光。具體為:
(1)電子和空穴的注入。處于陰極中的電子和陽極中的空穴在外加驅(qū)動(dòng)電壓的驅(qū)動(dòng)下會(huì)向器件的發(fā)光層移動(dòng),在向器件發(fā)光層移動(dòng)的過程中,若器件包含有電子注入層和空穴注入層,則電子和空穴首先需要克服陰極與電子注入層及陽極與空穴注入層之間的能級(jí)勢(shì)壘,然后經(jīng)由電子注入層和空穴注入層向器件的電子傳輸層和空穴傳輸層移動(dòng);電子注入層和空穴注入層可增大器件的效率和壽命。關(guān)于OLED器件電子注入的機(jī)制還在不斷的研究當(dāng)中,目前最常被使用的機(jī)制是穿隧效應(yīng)和界面偶極機(jī)制。
(2)電子和空穴的傳輸。在外加驅(qū)動(dòng)電壓的驅(qū)動(dòng)下,來自陰極的電子和陽極的空穴會(huì)分別移動(dòng)到器件的電子傳輸層和空穴傳輸層,電子傳輸層和空穴傳輸層會(huì)分別將電子和空穴移動(dòng)到器件發(fā)光層的界面處;與此同時(shí),電子傳輸層和空穴傳輸層分別會(huì)將來自陽極的空穴和來自陰極的電子阻擋在器件發(fā)光層的界面處,使得器件發(fā)光層界面處的電子和空穴得以累積。
(3)電子和空穴的再結(jié)合。當(dāng)器件發(fā)光層界面處的電子和空穴達(dá)到一定數(shù)目時(shí),電子和空穴會(huì)進(jìn)行再結(jié)合并在發(fā)光層產(chǎn)生激子。
(4)激子的退激發(fā)光。在發(fā)光層處產(chǎn)生的激子會(huì)使得器件發(fā)光層中的有機(jī)分子被活化,進(jìn)而使得有機(jī)分子最外層的電子從基態(tài)躍遷到激發(fā)態(tài),由于處于激發(fā)態(tài)的電子極其不穩(wěn)定,其會(huì)向基態(tài)躍遷,在躍遷的過程中會(huì)有能量以光的形式被釋放出來,進(jìn)而實(shí)現(xiàn)了器件的發(fā)光。
0.96寸OLED模塊
電壓:3V~5V DC
工作溫度:-30℃~70℃
駕駛義務(wù):1/64職責(zé)
高分辨率:128 * 64
面板尺寸:26.70 * 19.26 * 1.85mm / 1.03 * 0.76 * 0.07英寸(約)
有效面積:21.74 * 11.2mm /0.86*0.44英寸(約)
驅(qū)動(dòng)IC:SSD1306
128 * 64 LED顯示模塊,支持多種控制芯片。
完全兼容51系列,MSP430系列,STM32 / 2,CSR IC等
超低功耗:全屏點(diǎn)亮0.08W
超高亮度和對(duì)比度可調(diào)
帶嵌入式驅(qū)動(dòng)/控制器
接口類型為IIC
Arduino實(shí)驗(yàn)接線示意圖
【Arduino】168種傳感器模塊系列實(shí)驗(yàn)(資料代碼+仿真編程+圖形編程)
實(shí)驗(yàn)九十三: 0.96寸I2C IIC通信128*64顯示器 OLED液晶屏模塊
安裝驅(qū)動(dòng)庫:工具—管理庫—搜索“U8glib”-下載-安裝
實(shí)驗(yàn)接線:A4—SDA, A5—SCL
項(xiàng)目三:將U8Glib標(biāo)志放在顯示屏上(Put the U8GLIB logo on the display.)
顯示“Copyright ? 2019, eagler8@126.com”
Arduino實(shí)驗(yàn)開源代碼
/*
【Arduino】108種傳感器模塊系列實(shí)驗(yàn)(資料+代碼+圖形+仿真)
實(shí)驗(yàn)九十七: 0.96寸I2C IIC通信128*64顯示器 OLED液晶屏模塊
安裝驅(qū)動(dòng)庫:工具—管理庫—搜索“U8glib”-下載-安裝
實(shí)驗(yàn)接線:A4---SDA, A5---SCL
項(xiàng)目三:將U8Glib標(biāo)志放在顯示屏上(Put the U8GLIB logo on the display.)
顯示“Copyright (c) 2019, eagler8@126.com”
*/
#include "U8glib.h"
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE | U8G_I2C_OPT_DEV_0);
void drawColorBox(void)
{
u8g_uint_t w, h;
u8g_uint_t r, g, b;
w = u8g.getWidth() / 32;
h = u8g.getHeight() / 8;
for ( b = 0; b < 4; b++ )
for ( g = 0; g < 8; g++ )
for ( r = 0; r < 8; r++ )
{
u8g.setColorIndex((r << 5) | (g << 2) | b );
u8g.drawBox(g * w + b * w * 8, r * h, w, h);
}
}
void drawLogo(uint8_t d)
{
#ifdef MINI_LOGO
u8g.setFont(u8g_font_gdr17r);
u8g.drawStr(0 + d, 22 + d, "U");
u8g.setFont(u8g_font_gdr20n);
u8g.drawStr90(17 + d, 8 + d, "8");
u8g.setFont(u8g_font_gdr17r);
u8g.drawStr(39 + d, 22 + d, "g");
u8g.drawHLine(2 + d, 25 + d, 34);
u8g.drawVLine(32 + d, 22 + d, 12);
#else
u8g.setFont(u8g_font_gdr25r);
u8g.drawStr(0 + d, 30 + d, "U");
u8g.setFont(u8g_font_gdr30n);
u8g.drawStr90(23 + d, 10 + d, "8");
u8g.setFont(u8g_font_gdr25r);
u8g.drawStr(53 + d, 30 + d, "g");
u8g.drawHLine(2 + d, 35 + d, 47);
u8g.drawVLine(45 + d, 32 + d, 12);
#endif
}
void drawURL(void)
{
#ifndef MINI_LOGO
u8g.setFont(u8g_font_4x6);
if ( u8g.getHeight() < 59 )
{
u8g.drawStr(53, 9, "Copyright (c) 2019,");
u8g.drawStr(77, 18, "eagler8@126.com");
}
else
{
u8g.drawStr(1, 54, " Copyright (c) 2019, eagler8@126.com");
}
#endif
}
void draw(void) {
if ( u8g.getMode() == U8G_MODE_R3G3B2 ) {
drawColorBox();
}
u8g.setColorIndex(1);
if ( U8G_MODE_GET_BITS_PER_PIXEL(u8g.getMode()) > 1 ) {
drawLogo(2);
u8g.setColorIndex(2);
drawLogo(1);
u8g.setColorIndex(3);
}
drawLogo(0);
drawURL();
}
void setup(void) {
}
void loop(void) {
u8g.firstPage();
do {
draw();
u8g.setColorIndex(1);
} while ( u8g.nextPage() );
delay(200);
}
Arduino實(shí)驗(yàn)場(chǎng)景圖
實(shí)驗(yàn)開源圖形編程(Mind+、編玩邊學(xué))
實(shí)驗(yàn)開源仿真編程(Linkboy V5.33)
Arduino實(shí)驗(yàn)場(chǎng)景圖 視頻
https://v.youku.com/v_show/id_XNDMyNjEyMTU0NA==.html?spm=a2hzp.8244740.0.0
有關(guān)OLED的兩個(gè)非常重要的知識(shí)點(diǎn):
其一 像素點(diǎn)點(diǎn)陣
點(diǎn)陣圖也叫柵格圖像,像素圖,簡單的說,就是最小單位由像素構(gòu)成的圖,縮放會(huì)失真。構(gòu)成位圖的最小單位是像素,位圖就是由像素陣列的排列來實(shí)現(xiàn)其顯示效果的,每個(gè)像素有自己的顏色信息,在對(duì)位圖圖像進(jìn)行編輯操作的時(shí)候,可操作的對(duì)象是每個(gè)像素,我們可以改變圖像的色相、飽和度、明度,從而改變圖像的顯示效果。舉個(gè)例子來說,位圖圖像就好比在巨大的沙盤上畫好的畫,當(dāng)你從遠(yuǎn)處看的時(shí)候,畫面細(xì)膩多彩,但是當(dāng)你靠的非常近的時(shí)候,你就能看到組成畫面的每粒沙子以及每個(gè)沙粒單純的不可變化顏色。
OLED其實(shí)就是一個(gè)M x n 的像素點(diǎn)陣,想顯示什么就得把具體位置的像素點(diǎn)亮起來。對(duì)于每一個(gè)像素點(diǎn),有可能是1點(diǎn)亮,也有可能是0點(diǎn)亮。
其二 坐標(biāo)系
坐標(biāo)系,是理科常用輔助方法。常見有直線坐標(biāo)系,平面直角坐標(biāo)系。為了說明質(zhì)點(diǎn)的位置、運(yùn)動(dòng)的快慢、方向等,必須選取其坐標(biāo)系。在參照系中,為確定空間一點(diǎn)的位置,按規(guī)定方法選取的有次序的一組數(shù)據(jù),這就叫做“坐標(biāo)”。在某一問題中規(guī)定坐標(biāo)的方法,就是該問題所用的坐標(biāo)系。坐標(biāo)系的種類很多,常用的坐標(biāo)系有:笛卡爾直角坐標(biāo)系、平面極坐標(biāo)系、柱面坐標(biāo)系(或稱柱坐標(biāo)系)和球面坐標(biāo)系(或稱球坐標(biāo)系)等。中學(xué)物理學(xué)中常用的坐標(biāo)系,為直角坐標(biāo)系,或稱為正交坐標(biāo)系。從廣義上講:事物的一切抽象概念都是參照于其所屬的坐標(biāo)系存在的,同一個(gè)事物在不同的作標(biāo)系中就會(huì)有不同抽象概念來表示,坐標(biāo)系表達(dá)的事物有聯(lián)系的抽象概念的數(shù)量【既坐標(biāo)軸的數(shù)量】就是該事物所處空間的維度。兩件能相互改變的事物必須在同坐標(biāo)系中。
在OLED坐標(biāo)系中,左上角是原點(diǎn),向右是X軸,向下是Y軸。文章來源:http://www.zghlxwxcb.cn/news/detail-608458.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-608458.html
到了這里,關(guān)于【雕爺學(xué)編程】Arduino動(dòng)手做(93)--- 0.96寸OLED液晶屏模塊2的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!