開(kāi)了網(wǎng)站建設(shè)公司 如何接業(yè)務(wù)蘇州seo怎么做
文章目錄
- 前言
- 介紹及庫(kù)下載
- 基礎(chǔ)使用
- 引腳的連接
- 使用函數(shù)
- 總結(jié)
前言
本節(jié)課主要講的是OLED的基礎(chǔ)使用。使用的oled為0.96寸,128*64。
大家的其他型號(hào)也是可以用的。
提示:以下是本篇文章正文內(nèi)容,下面案例可供參考
介紹及庫(kù)下載
oled的簡(jiǎn)介:
OLED英文全名Organic Light-Emitting Diode,又可稱(chēng)為「有機(jī)發(fā)光二極體」或是「有機(jī)電雷射顯示」。
OLED有著色彩鮮艷、功耗低的優(yōu)點(diǎn),它的顯示技術(shù)具有自發(fā)光的特性,透過(guò)非常薄的有機(jī)材料涂層和玻璃基板,當(dāng)有電流通過(guò)時(shí),這些有機(jī)材料就會(huì)發(fā)光,不僅顯示屏幕可視角度大,因?yàn)樯倭薒ED背光,耗電能夠降低。還有一個(gè)很大的特性,在熒幕應(yīng)用設(shè)計(jì)上,它可以彎曲,因此能夠用來(lái)設(shè)計(jì)的范圍更廣,如曲面屏幕、屏幕下指紋辨識(shí)等。
OLED英文全名Organic Light-Emitting Diode,又可稱(chēng)為「有機(jī)發(fā)光二極體」或是「有機(jī)電雷射顯示」。
OLED有著色彩鮮艷、功耗低的優(yōu)點(diǎn),它的顯示技術(shù)具有自發(fā)光的特性,透過(guò)非常薄的有機(jī)材料涂層和玻璃基板,當(dāng)有電流通過(guò)時(shí),這些有機(jī)材料就會(huì)發(fā)光,不僅顯示屏幕可視角度大,因?yàn)樯倭薒ED背光,耗電能夠降低。還有一個(gè)很大的特性,在熒幕應(yīng)用設(shè)計(jì)上,它可以彎曲,因此能夠用來(lái)設(shè)計(jì)的范圍更廣,如曲面屏幕、屏幕下指紋辨識(shí)等。
閃屏:
因OLED的調(diào)光方式,導(dǎo)致可能出現(xiàn)閃屏的現(xiàn)象,閃屏指的是屏幕以低頻率閃爍,雖然視覺(jué)上看不出閃爍,看久了可能會(huì)產(chǎn)生視覺(jué)疲勞的現(xiàn)象,但這部分因人而異,有些人感覺(jué)不出來(lái)。
esp oled下載鏈接
提取碼:0000
下載完后,進(jìn)入arduino—>項(xiàng)目—>包含庫(kù)----->添加zip庫(kù),把上面的放入,不需要解壓。
基礎(chǔ)使用
引腳的連接
我們可以看到OLED有4個(gè),1個(gè)GND,1個(gè)VCC,還有最重要的SDA和SCL,SDA和SCL就是用來(lái)傳輸數(shù)據(jù)的,在這里,我的SDA和SCL為19,18pin腳
使用函數(shù)
使用oled需要包含如下頭文件:
#include <Wire.h>
#include "SSD1306Wire.h"
oled對(duì)象的定義:
//OLED引腳定義
#define SDA 19
#define SCL 18
SSD1306Wire display(0x3c, SDA, SCL);
初始化oled:
display.init();
垂直翻轉(zhuǎn)屏幕(把屏幕顯示倒轉(zhuǎn)180°):
display.flipScreenVertically();
設(shè)置字體大小:
display.setFont(ArialMT_Plain_24);//最后的數(shù)字是字體的大小
顯示字符串:
display.drawString(x, y, "Hello World");
在每次繪制完后都要調(diào)用顯示函數(shù):
display.display();
然后就會(huì)顯示到屏幕上了。
顯示hello world在屏幕上:
display.init();//初始化UIdisplay.flipScreenVertically();//垂直翻轉(zhuǎn)屏幕設(shè)置display.setFont(ArialMT_Plain_24);//設(shè)置字體大小display.drawString(0, 0, "Hello World");//顯示display.display();//將緩存數(shù)據(jù)寫(xiě)入到顯示器
設(shè)置字符串對(duì)齊:
display.setTextAlignment(TEXT_ALIGN_LEFT);
對(duì)齊方式:
TEXT_ALIGN_LEFT:左對(duì)齊
TEXT_ALIGN_RIGHT:右對(duì)齊
TEXT_ALIGN_CENTER:中間對(duì)齊
填滿整個(gè)width:
display.drawStringMaxWidth(0, 0, width,"Lorem ipsum\n dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore." );
運(yùn)行后,就會(huì)發(fā)現(xiàn),整個(gè)屏幕都是字。
繪圖相關(guān)函數(shù):
畫(huà)點(diǎn):
display.setPixel(x, y);
畫(huà)矩形:
display.drawRect(x,y, width, height);
畫(huà)填充矩形
display.fillRect(x,y, width, height);
畫(huà)水平線和垂直線:
display.drawHorizontalLine(x, y, width);display.drawVerticalLine(x, y, width);
畫(huà)圓形:
display.drawCircle(x, y, r);
畫(huà)進(jìn)度條:
display.drawProgressBar(x1, y1, x2, y2, progress進(jìn)度);
畫(huà)xbm圖片:
display.drawXbm(x, y, width, height, 圖片變量數(shù)組);
總結(jié)
總的來(lái)說(shuō),ESP32 OLED是一個(gè)功能強(qiáng)大的開(kāi)發(fā)板,結(jié)合OLED屏幕和Adafruit SSD1306庫(kù),可以輕松顯示信息。連接OLED屏幕和編寫(xiě)代碼的過(guò)程可能需要一些技術(shù)技能,但是一旦環(huán)境搭建完畢并了解了相關(guān)函數(shù),使用ESP32 OLED就變得非常簡(jiǎn)單。
請(qǐng)大家關(guān)注我,以后還會(huì)繼續(xù)更新esp32的教程。