設(shè)計一個電子紙顯示器
電子紙顯示器可以在照明或自然光下清晰顯示圖像/文字,無需背光,功耗更低
電子紙顯示器(也稱為電子紙顯示器或電子墨水顯示器)是一種模仿紙張上普通墨水外觀的屏幕。它通常用于電子閱讀器、智能手表和數(shù)字標(biāo)牌等設(shè)備。
電子紙顯示器以節(jié)能而聞名,因為它們只在圖像或文本變化時才消耗電力,而且與傳統(tǒng)的背光屏幕不同,它們可以在明亮的陽光下輕松閱讀。這一次,我將描述并做一個簡短的測試,特別是對這個ELECROW CrowPanel ESP32 4.2“電子紙HMI顯示器,由SPI接口驅(qū)動。
首先,讓我介紹一下這個設(shè)備的基本特性。實際上,這是一個內(nèi)置ESP32-S3芯片作為主控的電子紙顯示器,通過SPI接口保證了強(qiáng)大的性能和快速穩(wěn)定的數(shù)據(jù)傳輸。該顯示器具有400 × 300像素的高分辨率,支持白色和黑色兩種顏色。如果取下背板,可以看到設(shè)備配有多個接口和按鈕設(shè)計,包括TF卡插槽、BAT接口、UART0接口、20引腳GPIO接口、返回按鈕、home按鈕和旋轉(zhuǎn)開關(guān)開關(guān),方便用戶開發(fā)和操作。
白色亞克力外殼不僅美觀,還能保護(hù)屏幕。開機(jī)后,顯示屏上立即出現(xiàn)一個演示程序,演示設(shè)備的功能。然后出現(xiàn)主屏幕,我們可以使用側(cè)邊按鈕選擇提供的三個選項。
首先是顯示文本,然后是一個示例圖像,以及一個燈控制軟件場景。如果在任何時候我們關(guān)閉電源,當(dāng)前顯示的圖像仍然在屏幕上。這實際上是這類顯示器的主要特點。它只在刷新時耗電。
首先,讓我簡要解釋一下使用Arduino IDE安裝一些代碼的過程,這實際上是最簡單的方法。此顯示的演示代碼可以在Elecrow網(wǎng)站以及GitHub上找到。作為一個例子,我現(xiàn)在將為一個從Openweathermaps網(wǎng)站獲取數(shù)據(jù)的Wi-Fi氣象站安裝代碼。為此,我們首先需要在Arduino IDE上安裝ESP32支持,這在我之前的幾個視頻中有描述。進(jìn)入“Tools”,選擇“ESP32S3 Dev Module”。接下來,在板子上的菜單中,我們需要做一些設(shè)置。
現(xiàn)在我們可以開始安裝了。我們打開帶有草圖的文件夾并激活。進(jìn)氣閥打開文件。這將打開整個代碼結(jié)構(gòu),我們只需要輸入WiFi網(wǎng)絡(luò)數(shù)據(jù)和openvedarmap API密鑰和國家代碼。然后我們選擇合適的COM端口并按下上傳。在很短的時間內(nèi),上傳將完成,氣象站將出現(xiàn)在屏幕上。您還可以在Elekrow的YouTube頻道上找到更多示例,但它們都包含包含在代碼本身中的完整支持,并且不使用外部庫。
GxEPD2是最著名的電子墨水顯示庫,但不幸的是,它不完全支持這種類型的顯示。在makerguides頁面上描述了一個小調(diào)整,我們可以讓GxEPD2庫庫在CrowPanel 4.2英寸電子紙上工作,所有的功勞都?xì)w他們。
現(xiàn)在我已經(jīng)有了一個高級的庫,我萌生了創(chuàng)建一個實用且非常有用的項目的想法。它是一種信息顯示器,可以在無數(shù)的地方和情況下使用,具有通用的用途。
顯示器本身在視覺上類似于白板,用于編寫各種臨時消息和信息。因此,這種設(shè)備的良好功能的基本要求是找到一種簡單的方式來輸入和刪除消息??紤]到顯示模塊包含一個ESP32微控制器,順便說一下,它具有WiFi和藍(lán)牙支持,我設(shè)法在本地WiFi網(wǎng)絡(luò)中創(chuàng)建一個帶有WebServer的Arduino代碼,創(chuàng)建一個易于管理的web界面,通過該界面控制Info-Display。因此,我們可以通過本地網(wǎng)絡(luò)中的任何一臺電腦或智能手機(jī)寫入或刪除信息。
至于安裝代碼,過程是標(biāo)準(zhǔn)的,唯一的要求是安裝GxEPD2庫,它是提供的。一旦代碼安裝完成,我們需要打開串行監(jiān)視器并重置設(shè)備,這將在串行監(jiān)視器上為我們提供其本地IP地址。我們以后會用到這個地址。
讓我們看看這個設(shè)備在真實環(huán)境下是如何工作的。開啟后,屏幕上出現(xiàn)帶有設(shè)備名稱的文本,然后以白板樣式出現(xiàn)空白屏幕。此時,電路板已連接到Wi-Fi網(wǎng)絡(luò),并準(zhǔn)備在其上打印文本。正如我前面提到的,我們通過web界面輸入文本,我們通過在任何web瀏覽器中從串行監(jiān)視器輸入給定的IP地址來訪問該界面。我們將收到的地址輸入到瀏覽器中,屏幕上就會出現(xiàn)一個清晰的界面,通過這個界面,我們可以在顯示器上輸入文本。
需要顯示的文本分為8個字段。在每一行中,我們可以選擇提供的三種字體大小中的一種,旁邊是一個用于刪除該行內(nèi)容的按鈕。下面是一個字段,我們可以直觀地看到寫在黑板上的文字將是什么樣子。底部是一個綠色的更新按鈕,通過它我們可以通過Wi-Fi網(wǎng)絡(luò)將內(nèi)容傳輸?shù)诫娐钒迳稀T谄聊豁敳康膬蓚€按鈕上,我們可以選擇黑色背景上的白色文本,或者白色背景上的黑色文本。
通過字、字母、數(shù)字的組合,我們還可以形成一個框架,各種圖形和相似的內(nèi)容。在下文中,我將介紹幾個如何填寫黑板的例子。
最后是一個簡短的結(jié)論。電子紙顯示器可以在照明或自然光下清晰顯示圖像/文本,無需背光,功耗更低,部分刷新壽命更長。能見度幾乎是180度。本項目中展示的設(shè)備使用了一個內(nèi)置ESP32S微控制器的電子紙顯示模塊和一個封閉在合適外殼內(nèi)的附加組件,幾乎不需要硬件干預(yù),所以我們只需要安裝草圖,就可以得到一個功能齊全的最終產(chǎn)品。
本文編譯自hackster.io