色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何為ESP32項目選擇彩色顯示

454398 ? 來源:wv ? 2019-09-25 10:27 ? 次閱讀

步驟1:為什么添加顯示器?

如何為ESP32項目選擇彩色顯示

您可以完美運行各種物聯網項目,無需任何顯示。但是,某些IoT項目不僅可以單向饋送數據(從IoT到服務器),還可以從服務器或Internet收集實時信息以進行顯示。

我以前的教學方法,ESP32 Photo Clock是例如,它從Internet下載當前的分鐘照片,將JPEG照片解碼并顯示。

服務器或Internet中有各種實時信息,例如除了室溫,服務器CPU使用率,天氣預報,新聞,股票價格,提醒下載文件已完成之外,您的YouTube頻道視圖:》

步驟2:確定,然后為什么要進行彩色顯示?

許多Arduino項目都使用單色顯示,原因之一是MCU的資源有限。每個RGB顏色通道的寬度為320像素,高度為240像素,顏色為8位,意味著每個全屏圖片為230 KB。但是普通的Arduino(ATmega328)僅具有32 KB的閃存,從SD卡讀取數據并將其繪制到彩色顯示屏上非常耗時(超過一秒鐘)。

ESP32改變了游戲規則。它具有更快的處理能力(16 MHz與240 MHz雙核),更多的RAM(2 KB對超過200 KB)和更多的閃存(32 KB對4 MB),因此能夠利用更多的色彩和更高的分辨率用于顯示的圖像。同時,它能夠執行一些RAM占用很大的過程,例如JPEG解碼,這對于顯示Internet收集的信息是非常重要的功能。

步驟3:串行外圍接口

彩色顯示器具有多種類型的接口:串行外圍設備接口(SPI),6位,8位,16位,18位以及NeoPixel!

SPI主導了業余電子市場,這很可能是因為連接所需的電線更少。我的抽屜中的大多數顯示器也只有SPI引腳,因此此說明主要針對SPI顯示器。

注意:

NeoPixel矩陣是一種非常特殊的彩色顯示器。如果您對NeoPixel矩陣顯示感興趣,請參考以下使用它的說明:

https://www.instructables.com/id/Display-Colorful -。..

HTTPS://www.instructables.com/id/ATtiny13A-NeoPixe 。..

https://www.instructables.com/id/IoT-LED-Matrix/

HTTPS://www.instructables.com/id/IoT-LED-Cheering -。..

https://www.instructables.com/id/IoT-LED-Sign/

步驟4:硬件和軟件

為ESP32選擇彩色顯示屏時,要考慮兩個部分。

硬件

針對業余電子產品,有各種彩色顯示屏:LCD,IPS LCD,具有不同分辨率和不同驅動芯片OLED。 LCD可以具有更高的圖像密度,但是OLED可以具有更好的可視角度,IPS LCD可以同時具有兩者。 OLED對于每個點亮的像素都具有更高的功率效率,但可能存在老化問題。彩色OLED的工作電壓為14 V,這意味著您需要專用的升壓電路,但是如果您僅使用分線板就不會有問題。 LCD在大多數情況下都可以直接在3.3 V電壓下工作,并且工作電壓與ESP32相同,因此您可以考慮不使用分線板制作更纖薄的產品

軟件

軟件支持另一方面也會影響您的選擇。您可以使用Arduino IDE開發ESP32程序,也可以直接使用ESP-IDF。但是,由于ESP-IDF沒有太多的顯示庫并且沒有太多的顯示硬件受支持,所以我將只關注Arduino顯示庫。

對于初學者來說,我認為購買adafruit(或類似供應商)硬件并且使用其Arduino庫可以提供良好的無縫體驗(盡管我沒有預算嘗試所有操作)。 TFT_eSPI庫具有更好的性能,但配置需要在庫文件夾中進行更改。 Ucglib和UTFT-ESP運行有點慢,但它支持許多硬件,并且是一個流行的庫,您可以找到許多Arduino項目使用它。

讓我們從抽屜中的彩色顯示屏開始進行比較。

步驟5:LCD ST7735

ST7735是非常受歡迎的LCD分辨率為128x128和128x160的驅動程序模型。這可能是由于其受歡迎程度引起的,有許多制造商生產兼容產品,但它們并不完全兼容。初始代碼有一些變化,顏色順序可以是RGB或BGR,y坐標范圍也有一些像素變化。一些庫通過紅色,綠色或黑色標簽對其進行區分,但標簽顏色并不總是正確的。最壞的情況是一一嘗試使用標簽選項,直到看到好的結果為止。上面的第三張圖片是使用錯誤標簽選項的示例,您可以在頂部找到3個像素的高度噪聲條。

步驟6:LCD ST7735奇數大小

ST7735在128x160的分辨率范圍內還具有其他奇數大小的彩色顯示,例如上面的圖片是0.96英寸128x64彩色顯示器。

步驟7:IPS LCD ST7735

由于可穿戴設備的普及,今年我可以在市場上找到更多的小尺寸IPS LCD。上圖是使用ST7735驅動芯片的0.96英寸80x160 IPS彩色LCD。如您在第三張圖片中所見,您可以將其視為代碼中的128x160彩色顯示器,但實際上僅顯示中間部分。第四張圖片是沒有分線板的顯示器,它很薄,很小,非常適合可穿戴項目!

注意:

所有IPS LCD都有一個共同的特征,即顯示的顏色被倒置,大多數庫都可以通過打開invert選項簡單地對其進行修復。

步驟8:OLED SSD1331

我認為這是市場上可以找到的最低分辨率彩色顯示器,它是0.96英寸96x64彩色OLED。

OLED有很大的優勢是,像素只有在點亮時才會消耗功率;另一方面,即使在顯示黑屏的情況下,LCD背光也會始終消耗全部功率,因此OLED可以幫助為電池供電的項目節省一些電量。/p》

我嘗試在以前的教學指南中使用它:

https://www.instructables.com/id/Arduino-MINTIA-Ga 。..

步驟9:OLED SSD1351

這是1.5英寸128 x 128色OLED,外形非常適合智能手表般的佩戴能干的項目。選擇此項的最大障礙應該是價格約為普通LCD的4倍。

步驟10:OLED SEPS525

這是我在業余電子市場上可以找到的最高分辨率的彩色OLED,它是1.69“ 160x128彩色OLED。由于大尺寸的分線板,我不知道

第11步:LCD ILI9225

它是2.2英寸176x220彩色液晶顯示器。使用該芯片和分辨率的項目相對較少。這可能是由于其芯片家族兄弟ILI9341(尺寸大了0.2英寸,但分辨率接近兩倍)的成功所致。

步驟12:LCD ILI9341

我認為ILI9341是業余電子市場上最受歡迎的LCD驅動器芯片,大多數情況下分辨率為240x320,屏幕尺寸從2.0開始“至3.2”。一些突破性板還內置觸摸屏功能。

您可以在GitHub上找到許多使用此功能的項目。如果您打算購買第一塊LCD,那么ILI9341突破性板是一個不錯的選擇選擇。

在市場上找到沒有分線板的純LCD也很容易。

以下是我正在使用ILI9341的一些項目:

https://www.instructables.com/id/Connect-LCD-to-Ra.。.

https://www.instructables.com/id/ESP8266-WiFi-Anal.。.

的https://www.instructables.com/id/Breadboard-RetroP 。..

HTTPS://www.instructables.com/id/Portable-WiFi-Ana 。..

https://www.instructables.com/id/ESP32-Photo-Clock.。.

HTTPS://www.instructables.com/id/Battery-Powered-E 。..

HTTPS://www.instructables.com/id/Kids-Photo-Album -。..

步驟13:IPS LCD ILI9341

這是IPS版本使用ILI9341驅動器芯片的2.4英寸LCD。

顯示效果很好,但是供應商沒有提供分線板選項,因此您需要自己接線。

步驟14:IPS LCD ST7789

ST7789也是ESP32社區中的通用驅動芯片。原因之一是ESP32官方開發套件正在使用它。與ILI9341一樣,ST7789也可以驅動240x320分辨率。

我手頭沒有240x320 ST7789顯示屏,上面的圖片是1.3英寸240x240 IPS彩色LCD。

這也是第15步:IPS LCD與普通LCD一樣,它可以直接在3.3 V電壓下操作,因此非常適合制作纖薄的可穿戴設備。

HX8352C

這是一個3.0英寸240x400 IPS彩色LCD。這是我什至沒有看到的業余電子市場中唯一的寬屏LCD。

步驟16:LCD ILI9486

這是3.5英寸320x480彩色LCD。此分辨率是普通MCU的負擔,使用Ucglib需要一秒鐘以上的時間才能充滿全屏。

步驟17:軟件比較

有許多顯示庫可以支持各種硬件。我選擇了4個最受歡迎的Arduino庫進行比較:

Adafruit GFX家族

TFT_eSPI

UTFT-ESP

Ucglib

上圖是每個庫的硬件支持列表。

顯示速度是我們考慮選擇哪個庫的最重要的事情之一。為此,我選擇了TFT_eSPI PDQ測試,并做出了一些努力來重寫可以在4個庫中運行的PDQ測試。 。所有測試將使用相同的2.8“ ILI9341 LCD進行。

為簡化比較過程,所有顯示器均使用相同的連接模式n。

這是我的連接摘要:

ESP32 Display

Pin 5 -》 CS (Some display not breakout this pin, simply skip it)

Pin 16 -》 DC

Pin 17 -》 Reset

Pin 18 (VSPI CLK) -》 CLK

Pin 23 (VSPI MOSI) -》 MOSI (Some display call it Din)

您可以在Github上找到代碼:

https://github.com/moononournation/Arduino_graphic 。..

更新

正如我發現TFT_eSPI是此指令中最有潛力的ESP32顯示庫一樣,我付出了一些努力來添加對我所有顯示的支持。手。上圖中新添加的顯示支持用紅色標記為字母M,這是我的增強版本:

https://github.com/moononournation/TFT_eSPI

步驟18:Adafruit GFX系列

Adafruit在業余電子市場上出售各種顯示模塊,并且它們在軟件水平上也有很好的支持。他們的顯示庫全部建立在稱為Adafruit_GFX的父類上,因此我將其稱為Adafruit GFX系列。該庫通常支持大多數Arduino硬件(也包括ESP32)。

在Arduino庫管理器中,只需搜索“ adafruit display” ,即可看到所有家族成員。如果要安裝,請說ILI9341,只需選擇“ Adafruit ILI9341”,然后單擊“安裝”。記住還要安裝其依賴庫“ Adafruit GFX庫” 。

步驟19:TFT-eSPI

此庫方法簽名與Adafruit GFX非常相似,但它是為ESP8266或ESP32量身定制的。我認為源代碼針對ESP32進行了優化,因此PDQ結果比其他庫要快得多。

您可以通過搜索“ TFT-eSPI” 將其安裝在Arduino Library Manager中。然后單擊安裝。

注意:使用此庫最困難的部分是必須先配置此庫,然后才能使用它。配置文件位于庫文件夾中,它應該是您自己的文檔文件夾下的“ Arduino/libraries/TFT_eSPI/User_setup.h” 。它有很多注釋可幫助您完成此操作,請按照注釋逐步進行以完成配置。這是我的ILI9341的User_setup.h:

#define ILI9341_DRIVER

#define TFT_CS 5 // Chip select control pin D8

#define TFT_DC 16 // Data Command control pin

#define TFT_RST 17 // Reset pin (could connect to NodeMCU RST, see next line)

#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH

#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters

#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters

#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm

#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-。

#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-。

//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT

#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts

#define SMOOTH_FONT

#define SPI_FREQUENCY 40000000 // Maximum to use SPIFFS

步驟20:Ucglib

您可以通過搜索“ Ucglib” 然后單擊安裝在Arduino庫管理器中進行安裝。

步驟21:UTFT-ESP

UTFT-ESP基于Rinky-Dink Electronics UTFT庫,并添加了ESP8266和ESP32支持。

您可以通過在Github上下載它進行安裝:

https://github.com/gnulabis/UTFT-ESP

,然后將“ UTFT”文件夾復制到Arduino庫文件夾。/p》

參考號:http://www.rinkydinkelectronics.com/library.php?id 。..

步驟22:微調SPI頻率

ESP32 + ILI9341可以SPI速度40 MHz運行,它需要在庫文件夾中進行一些代碼更改。上面的圖片是微調的結果。以下是代碼更改摘要:

Adafruit_ILI9341

該庫已為ESP32板定義了SPI_DEFAULT_FREQ為40000000。您還可以在初始化時更改頻率:

tft.begin(80000000);

TFT_eSPI

User_Setup.h

// #define SPI_FREQUENCY 27000000

// Actually sets it to 26.67MHz = 80/3

#define SPI_FREQUENCY 40000000 // Maximum to use SPIFFS

Ucglib

的src/CLIB/ucg_dev_ic_ili9341.c

UTFT-ESP

硬件/ESP/HW_ESP.h

步驟23:比較舍入

硬件

ST7735和ILI9341是最受歡迎的顯示器,對于初學者來說,這2是更好的選擇。您可能會注意到LCD有一個很大的缺點,可視角度大,在可視角度之外失去了一些顏色,屏幕變得不可讀。如果您有足夠的預算,則OLED或IPS LCD的可視角度要好得多。

軟件

速度

TFT_eSPI的性能最好。

受歡迎程度

在大多數情況下,我們通過在網絡上搜索示例來研究如何使用代碼庫。我已經嘗試在Github中搜索四個庫關鍵字,Adafruit最受歡迎,而UTFT則排名第二。

難度

只有Adafruit GFX系列可以在用戶中完全配置代碼級別,其他3個庫需要在庫文件夾中進行一些配置。而且Adafruit的門戶網站也非常好,有很多詳細的帖子可以教您如何使用其產品。

Round Up

ILI9341對于初學者來說應該是最有價值的展示。 Adafruit GFX庫對于初學者來說應該是最容易使用的,并且由于TFT_eSPI具有非常相似的方法簽名,因此稍后切換到更快的庫非常容易。

步驟24:可選閱讀:連接LCD而無需插線板

OLED需要14 V的電壓才能點亮像素,因此不容易斷開分支板的耦合。另一方面,LCD(也包括IPS LCD)通常在3.3 V電壓下工作,與ESP32相同。在大多數情況下,LCD和ESP32之間僅需要LED控制電路,即晶體管和少量電阻

在決定不使用分線板之前,首先閱讀數據表非常重要。引腳布局,引腳間距大小,示例電路連接和最大額定值都可以在數據手冊中找到。最大電壓尤為重要,您應遵循額定值,否則將炸毀LCD。該芯片可以在3.3 V的電壓下工作,但LED可以在2.8-3.0 V的電壓下工作,因此它需要中間的一些電子器件,大多數數據手冊都帶有采樣電路。您可能會要求賣方將數據表的軟拷貝發送給您,或者只是通過型號將其發送給Google。

我的特別提示:我喜歡焊接引腳間距與LCD相同的FPC電纜幫助與MCU的連接。我在以下這些指導中使用了此技術:

https://www.instructables.com/id/Connect-LCD-to-Ra 。..

https://www .instructables.com/id/Portable-WiFi-Ana 。..

步驟25:可選閱讀:顏色深度

如果您通讀彩色顯示器的數據表,可能會發現大多數彩色顯示器都可以支持18位色深(每個RGB通道為6位)。 18位色深可以提供比16位色深更好的圖像質量(紅色和藍色通道為5位,綠色通道為6位)。但是,只有Ucglib實際上以18位色深(262,144色)運行,其他3個庫都以16位色深(65,536色)運行。這是因為18位色深實際上要求每個像素傳輸3個字節(24位)的數據,這意味著傳輸和存儲在內存中所需的數據量要多50%。這是Ucglib運行速度較慢,但圖像質量更好的原因之一。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 顯示器
    +關注

    關注

    21

    文章

    5031

    瀏覽量

    140778
  • ESP32
    +關注

    關注

    18

    文章

    986

    瀏覽量

    17899
收藏 人收藏

    評論

    相關推薦

    基于ESP32和Wio Terminal的DeepSeeek移動終端項目

    今天小標給大家帶來的是印度Maker的DeepSeek移動終端項目,該項目使用ESP32開發板作為主控,結合Wio Terminal的屏幕進行DeepSeeek輸出顯示
    的頭像 發表于 02-28 16:51 ?291次閱讀
    基于<b class='flag-5'>ESP32</b>和Wio Terminal的DeepSeeek移動終端<b class='flag-5'>項目</b>

    esp32如何接入豆包

    要在 ESP32 上接入豆包工具,本質上是讓 ESP32 設備與豆包的 API 進行通信,以獲取相關服務
    的頭像 發表于 02-05 13:40 ?726次閱讀
    <b class='flag-5'>esp32</b>如何接入豆包

    ESP32 微控制器系列指南

    。 對于工程師或制造商來說,熟悉各種 ESP32 硬件平臺和軟件包可能是一艱巨的任務。本指南將提供與 ESP32 微控制器生態系統相關的技術規格、開
    的頭像 發表于 10-02 18:21 ?3877次閱讀
    <b class='flag-5'>ESP32</b> 微控制器系列指南

    esp32esp8266代碼共用嗎

    本文將介紹ESP32ESP8266兩款流行的微控制器在代碼共用性方面的可能性與差異性。 一、引言 隨著物聯網技術的飛速發展,越來越多的智能設備開始進入我們的生活。其中,ESP32ESP
    的頭像 發表于 08-19 18:23 ?1685次閱讀

    esp8266和esp32區別是什么

    以下是關于ESP8266和ESP32的主要區別: 處理器和架構 : ESP8266 :使用一個Tensilica L106 80MHz的處理器,屬于Xtensa架構。 ESP32 :使
    的頭像 發表于 08-19 18:16 ?6322次閱讀

    esp32用什么軟件編程

    ESP32是一款由樂鑫(Espressif)推出的低功耗、高性能的Wi-Fi和藍牙雙模微控制器,廣泛應用于物聯網、智能家居、智能穿戴等領域。要對ESP32進行編程,需要選擇合適的編程軟件和開發環境
    的頭像 發表于 08-19 17:24 ?4938次閱讀

    STM32項目分享:智能家居(機智云)系統

    STM32項目分享:智能家居(機智云)系統
    的頭像 發表于 07-28 08:10 ?2265次閱讀
    STM32<b class='flag-5'>項目</b>分享:智能家居(機智云)系統

    導入ESP32C3的項目時,報這個提示Select a Kit for xxxx,請問應該選擇什么?

    導入ESP32C3的項目時,報這個提示Select a Kit for xxxx,請問應該選擇什么? 使用的ESP-IDF 5.2.2版本的插件
    發表于 07-22 06:06

    ESP32-WROOM-32E、ESP32-WROOM-32D、ESP32-WROOM-32U 有什么區別?ESP32-WROOM-32 后綴字母代表的意思是?

    相信很多人心里都有這樣的疑問,今天就教大家怎么區分它們。 32D和32U是同一個芯片ESP32-D0WD的模組,主要區別的天線模式,分別是板載和IPEX外接天線。 32E是用的升級版的芯片
    的頭像 發表于 07-17 10:09 ?1.3w次閱讀
    <b class='flag-5'>ESP32</b>-WROOM-32E、<b class='flag-5'>ESP32</b>-WROOM-32D、<b class='flag-5'>ESP32</b>-WROOM-32U  有什么區別?<b class='flag-5'>ESP32</b>-WROOM-32 后綴字母代表的意思是?

    ESP32能取代STM32嗎?哪個更好?

    STM32,以及在何種情況下選擇哪個更好。對比一下ESP32和STM32兩種單片機ESP32ESP32是由樂鑫公司(EspressifSystems)推出的一款集
    的頭像 發表于 07-06 08:04 ?1.5w次閱讀
    <b class='flag-5'>ESP32</b>能取代STM32嗎?哪個更好?

    Ardunio IDE如何選擇ESP32板類型?

    ESP32 Ardunio”中有很多,我應該選擇哪一個呢? 猜測是不是應該是“ESP32 Wrover Module” 謝謝。
    發表于 06-24 09:06

    何為ESP32實現軟重啟?

    ;TESTTEST.ino': Exit with code=1 命令沒作用Arduino: Rebuild IntelliSense Configuration 如何為 ESP32 實現軟重啟?
    發表于 06-18 06:38

    BLE-Mesh的ESP32C3項目運行時報錯是什么原因導致的?

    將基于ESP32的BLE-Mesh工程移植到ESP32C3上,ESP32C3運行時報以下錯誤: [0;31mE (22190) BT_HCI: CC evt: op=0x2008, status
    發表于 06-12 06:46

    esp32c3項目采用wss_server例程,把wifi斷開的話esp32c3會重啟,為什么?

    esp32c3項目采用wss_server 例程,運行后連接WiFi正常,但是如果之后把wifi斷開的話,esp32c3會重啟,監視器顯示“assert failed: tlsf_fr
    發表于 06-06 07:29

    分享6個實用的ESP32-S3物聯網項目:從智能設備到安全創新

    開發人員友好特性和超低功耗,使其在可穿戴設備到智能家居等領域備受推崇。本篇文章分享了6個ESP32-S3 DIY項目,例如智能手表、植物生長監測系統和使用行空板和FireBeetle 2 ESP32S3構建
    的頭像 發表于 05-17 10:15 ?1232次閱讀
    主站蜘蛛池模板: 国内精品自产拍在线少密芽 | 99在线在线视频观看 | 乱码午夜-极品国产内射 | 偷拍 拍自 欧美色区 | 动听968 | 日韩中文亚洲欧美视频二 | 国产亚洲精品久久久999无毒 | 日日干日日操日日射 | 果冻传媒独家原创在线观看 | 99久久精品一区二区三区 | 最新无码国产在线视频 | 国产不卡无码高清视频 | 亚洲精品123区 | adc年龄确认大驾光临入口 | 1788vv视频 | 久久视频这有精品63在线国产 | 国产香蕉视频在线播放 | 欧美一区二区在线观看 | 亚洲精品无码AAAAAA片 | 午夜亚洲WWW湿好爽 午夜亚洲WWW湿好大 | 亚洲AV无码乱码国产麻豆穿越 | 妻中蜜在线播放 | 久久精品国产亚洲AV妓女不卡 | 国产精品99久久久精品无码 | 老师的蕾丝小内内湿透了 | AV无码久久无遮挡国产麻豆 | 色橹橹欧美在线观看视频高清 | 色噜噜狠狠色综合欧洲 | 2012中文字幕手机在线 | 久久精品一卡二卡三卡四卡视频版 | 国产免费人成在线视频视频 | 我的漂亮朋友在线观看全集免费 | 亚洲精品视频在线免费 | 好吊日视频在线 | 男女肉大捧进出全过程免费 | 欧美片第1页 综合 | 冰山高冷受被c到哭np双性 | 亚洲色综合中文字幕在线 | 久久人妻无码毛片A片麻豆 久久人妻熟女中文字幕AV蜜芽 | 午夜亚洲动漫精品AV网站 | 久草在线在线精品观看 |