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