0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

3天內不再提示

基于eInk Click電路板的墨水顯示屏驅動裝置

454398 ? 來源:一板網 ? 作者:阿哲 ? 2020-10-22 13:09 ? 次閱讀

在本文中,我們將使用LPC55S69開發(fā)板和墨水屏制作一個氣象站項目,并且在墨水顯示屏(E-INK)上顯示溫度、濕度和大氣壓,這樣我們就可以將其放在辦公室的窗臺上,

在項目中,我們選擇了MikroElekronika公司的eInk Click電路板(MIKROE-2659)作為該顯示屏的驅動。墨水屏有一個非常吸引人的功能,那就是斷電保持圖像。我打算關斷顯示屏電源,在每1分鐘采樣博世BME280環(huán)境傳感器的數據后,將NXP LPC55S69設置為低功耗模式。該項目基于NXP LPC55S69-EVK開發(fā)板,由于該開發(fā)板自帶有一個Mikroe連接器,因此可以將eInk Click電路板直接插入到EVK開發(fā)板中。墨水屏我們選擇的型號是OKdo E1電路板。

OKdo E1電路板和eInk Click電路板之間的連接非常簡單:它們之間采用的是SPI連接(eInk電路板沒有MISO信號返回)、BUSY信號和Data / Command D /?C信號。我使用了MCUXpresso SDK SPI驅動程序和兩個GPIO信號作為控制信號。此eInk顯示屏需要大約一秒鐘的時間才能將圖像從其顯示RAM傳輸到顯示面板,并且在此傳輸過程中將BUSY信號設置為高電平。在此期間,顯示IC將不接受任何新命令或數據。而且,與我使用的所有基于SPI的顯示屏器一樣,主機微控制器會設置或清零控制線“Data / Command D /?C”,并發(fā)出信號告知當前SPI字是命令字還是數據。

eInk Click電路板接口信號:SPI、BUSY、D /?C

使用MCUXpresso SDK SPI驅動程序函數SPI_MasterTransferBlocking()寫入eInk顯示屏。顯示屏包括72 x 172個像素,每個像素都能夠顯示4種灰度顏色之一:白色(0b11)、灰色2(0b10)、灰色1(0b01)或黑色(0b00)。因此,共有12384個像素,如果我們將4個像素的顏色存儲在一個字節(jié)中,則意味著每次屏幕刷新我們將傳輸3096字節(jié)的數據(加上該塊之前的5個字節(jié)的控制字(將RAM X地址計數設置回零、RAM Y地址計數回到171),并在數據傳輸后4字節(jié))。所有技術細節(jié)均在MikroElektronika發(fā)布的數據表epa20-ae.pdf 中。我在“橫向”模式下使用屏幕。左上角的像素是像素[0,171]。當我們過渡到屏幕右側時,列數遞減為0,而當我們向下過渡屏幕時,列數遞增為71,這意味著右下角的像素為[71,0]。

下面以氣象站頁面頂部中心的“云”符號為例。這是一個位圖文件,在將傳輸到顯示屏之前,它會寫入LPC55S69內部的屏幕緩沖區(qū)中。

歷史記錄界面由以下各個部分組成:

● 字體:從MCUXpresso SDK中的LittleVGL圖形庫中獲??;

● 符號(“電池充電”符號來自LittleVGL,而“溫度”和“云”符號是我創(chuàng)建的位圖);

● 最后,可以將顯示最近7天最高/最低溫度和大氣壓力趨勢的框和線直接直接繪制到屏幕上。

為了以正確的方向顯示位圖,必須進行一些操作。以下是實現步驟。

1)設計位圖

在開始嵌入式工作之前,我們需要在Microsoft Powerpoint中模擬一些界面。這樣我們將可以看到屏幕的顯示方式,并輕松地移動項目。 Powerpoint的另一個優(yōu)點是它具有圖標庫,因此我能夠為屏幕選擇“溫度”和“天氣”圖標。

2)導出溫度和天氣符號,并調整大小

Powerpoint支持以多種格式導出幻燈片 – 我使用位圖格式,然后裁剪輸出,以便僅顯示天氣符號。有許多工具可用于調整位圖的大小并將其縮小為4色灰度(我使用了GIMP)。前面我提到我們將在一個字節(jié)中存儲4個垂直像素,因此我將符號的大小調整為20像素寬和16像素高。

顯示20×16像素的圖像(很?。?,因此我在上圖中進行了拉伸。它的大小約為1 KB,20×16像素和2位灰度色(白色、兩個灰度和黑色)。

3)格式轉換

位圖存儲為行數組,每行寬20像素,共有16行。但是,當我們寫入屏幕時,必須將數據寫入列中。一種解決方案是將位圖繞其對角線軸翻轉:左上角的像素保持在同一位置,右上角的像素變?yōu)樽笙陆堑南袼兀来祟愅粕???紤]將圖像順時針旋轉90度,然后圍繞垂直軸鏡像是最簡單的方法,如下所示:

如果您仔細查看“之前”和“之后”圖片,您會發(fā)現,當我們將第一張_row_從旋轉的位圖寫入eInk屏幕上的一列時,我們將顯示16像素的白色列。下一行將生成另一列16個白色像素,位圖的第三行將云的邊緣寫入eInk屏幕上的一列。當我們從位圖的行中讀取并在屏幕上寫入列時,最終將按預期顯示天氣符號。

4)轉換為字符數組

網絡上有許多位圖到數組的轉換器。比如:https://lvgl.io/tools/imageconverter。最終,我們得到一個看起來像這樣的數組:

天氣符號數組

我們可以讀取數組的前兩行(第26和27行),并觀察到它們是4個字節(jié)的0xFF。將白色編碼為0b11,我們可以看到有兩行16像素的白色。云邊緣的第一個像素被編碼為0b10(0xF8中的“ 8”,第28行)為淺灰色(GREY2)。

5)在屏幕上顯示

我編寫了一個小測試程序以在eInk屏幕上顯示天氣符號。就像從數組weather_symbol_cloudy_grey2 []中讀取每一行并將其寫入LPC55S69內部的屏幕緩沖區(qū)一樣簡單。屏幕緩沖區(qū)只是一個3096字節(jié)的字節(jié)數組,從左上方的像素開始,一直向下到屏幕的左下方像素,然后返回第二列,依此類推。當我們將天氣符號復制到屏幕緩沖區(qū)時,每次都需要添加行偏移量(18個字節(jié))。由于每一列中有72個像素,因此等于18個字節(jié)。復制例程就是這樣:

位圖復制例程

墨水屏上顯示的天氣符號

將eInk CLick電路板連接到OKdo E1墨水屏電路板非常簡單。接口非常簡單,可以使用MCUXpresso SDK SPI驅動程序和Pins Config工具來設置SPI和GPIO引腳。 MikroElektronika在其文檔中提供了足夠的信息以使用顯示屏,請注意查找表(LUT)和寫入顯示控制器內部RAM的必要命令。然后,反復嘗試才能獲得正確的位圖寫入順序。使用lpcxpresso55s69 SDK的LitteVGL字體支持來編寫各種字體和符號,我非常喜歡開發(fā)該氣象站項目。
編輯:hfy

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

    關注

    8

    文章

    1369

    瀏覽量

    114880
  • 顯示控制器
    +關注

    關注

    0

    文章

    23

    瀏覽量

    15488
  • 環(huán)境傳感器

    關注

    2

    文章

    73

    瀏覽量

    18535
  • 電墨水屏
    +關注

    關注

    0

    文章

    9

    瀏覽量

    4132
收藏 0人收藏

    評論

    相關推薦

    #物聯網 LED顯示屏

    LED顯示屏
    斯塔克物聯科技
    發(fā)布于 :2024年11月01日 14:24:14

    液晶顯示屏與led顯示屏的區(qū)別

    在現代電子設備中,顯示屏是人機交互的重要界面。隨著科技的發(fā)展,顯示屏技術也在不斷進步,其中液晶顯示屏(LCD)和LED顯示屏是兩種主流的顯示
    的頭像 發(fā)表于 10-12 10:39 ?1644次閱讀

    LED顯示屏驅動電源:恒流與恒壓,誰更勝一籌?

    LED顯示屏,作為現代電子顯示技術的重要代表,已經在我們的生活中無處不在。無論是商場的廣告牌、體育場的計分,還是家庭中的智能電視,LED顯示屏都以其鮮艷的色彩、高清晰度和長壽命贏得了
    的頭像 發(fā)表于 09-24 01:50 ?476次閱讀
    LED<b class='flag-5'>顯示屏</b><b class='flag-5'>驅動</b>電源:恒流與恒壓,誰更勝一籌?

    LED顯示屏各大組成部件及安裝要點

    、電源、控制卡、連線 單元背面、單元板正面、開關電源和LED條控制卡。下面我們分別來看看各個組成部分及其安裝要點: 1. 單元 單元是LED的
    的頭像 發(fā)表于 07-29 09:33 ?696次閱讀

    rk3566驅動8位墨水

    各位大佬 想用rk3566驅動8位墨水 是不是只能用EBC_SDDO0~7 現在有個3566開發(fā)引出了EBC_SDDO8~15是不是必須要改電路
    發(fā)表于 07-28 14:00

    詳解LED顯示屏的基本結構和控制方式

    體結構 LED顯示屏體是顯示信息的核心部分,主要由顯示點陣、行列驅動
    的頭像 發(fā)表于 07-19 08:49 ?1319次閱讀

    大咖解析:LED顯示屏各大組成部件及安裝要點

    、電源、控制卡、連線 單元背面、單元板正面、開關電源和LED條控制卡。下面我們分別來看看各個組成部分及其安裝要點: 1. 單元 單元是LED的
    的頭像 發(fā)表于 07-19 08:38 ?1158次閱讀

    全彩LED顯示屏/天幕哪家好?#LED顯示屏 #天幕# 多媒體宣傳展示

    LED顯示屏
    jf_50082260
    發(fā)布于 :2024年06月13日 07:24:59

    京東方獲柔性電路板、顯示面板及顯示裝置專利

    此項專利核心在于探討并實現一款獨特的柔性電路板、顯示面板以及相應的顯示設備。該柔性電路板由基材層構成,主體區(qū)和綁定區(qū)相互連接。值得注意的是,在綁定區(qū)的兩端,基材層的兩側分別設有金手指結
    的頭像 發(fā)表于 04-07 10:19 ?554次閱讀
    京東方獲柔性<b class='flag-5'>電路板</b>、<b class='flag-5'>顯示</b>面板及<b class='flag-5'>顯示裝置</b>專利

    LED顯示屏設計方案

    1、LED顯示屏基礎知識2、LED顯示屏設計要素3、LED顯示屏驅動方案4、LED顯示屏控制系統5、LED
    發(fā)表于 04-03 17:21 ?13次下載

    LED電子顯示屏的相關報告

    LED電子顯示屏是一種利用LED發(fā)光二極管作為顯示元件,通過控制LED的亮滅來顯示文字、圖像、視頻等信息的顯示屏幕。根據不同的應用場合和顯示
    發(fā)表于 04-03 17:18 ?0次下載

    什么是全彩LED顯示屏 LED顯示屏的工作原理

    LED顯示屏是LED電子顯示屏系統的核心部分,由LED燈珠、電路板、電源和控制芯片等組成。LED燈珠通常采用SMD LED(Surface Mounted Device LED)或者DIP LED(Dual In-line Pa
    發(fā)表于 03-14 09:26 ?2541次閱讀

    LED顯示屏模組邏輯驅動芯片:SM245的功能和應用

    芯片通過內部的邏輯電路和控制信號,將需要顯示的內容轉換成LED燈珠的驅動信號,控制LED的亮滅和顏色變化。邏輯驅動芯片的性能直接影響著LED顯示屏
    的頭像 發(fā)表于 02-25 10:37 ?1157次閱讀
    LED<b class='flag-5'>顯示屏</b>模組邏輯<b class='flag-5'>驅動</b>芯片:SM245的功能和應用

    LED顯示屏是什么材質 led顯示屏參數設置

    LED顯示屏是一種基于LED(Light Emitting Diode)技術的顯示裝置,用于在各種場合中展示文字、圖像、視頻等內容。它由多個LED像素點組成,可以通過控制每個像素點的亮度和顏色來顯示
    的頭像 發(fā)表于 02-03 14:33 ?4220次閱讀

    Led顯示屏控制系統怎么使用 led顯示屏控制器怎么設置

    Led顯示屏控制系統是一種用于控制LED顯示屏的硬件設備,通過它可以實現對LED顯示屏的亮度、顏色、顯示內容等參數的設置和控制。在使用LED顯示屏
    的頭像 發(fā)表于 02-03 14:03 ?8545次閱讀

    電子發(fā)燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品