0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

基于FPGA的OLED動態(tài)顯示(溫濕度實時數(shù)據(jù))

HME京微齊力 ? 來源:HME京微齊力 ? 作者:HME京微齊力 ? 2023-06-19 10:18 ? 次閱讀

實驗結(jié)果

9644d0f6-0c2f-11ee-962d-dac502259ad0.png

視頻中,可以看到,當(dāng)手指捏住傳感器后,OLED屏上的溫濕度數(shù)據(jù)發(fā)生變化。

基于FPGA的OLED動態(tài)顯示(溫濕度實時數(shù)據(jù))

Part一

硬件解析

1. 國產(chǎn)FPGA:HME-P1P060

58K邏輯單元,36K LUT-6,4個PLL,32個全局時鐘,144個DSP,基本上已經(jīng)滿足了學(xué)生等級開發(fā),感興趣的,可以去米聯(lián)客店鋪看看。

96764c30-0c2f-11ee-962d-dac502259ad0.png

2. 0.96寸OLED

96e4f6b2-0c2f-11ee-962d-dac502259ad0.png

關(guān)于OLED的顯示,這里不做介紹,詳見二級菜單文章:京微齊力:基于HMEP060的OLED字符顯示(及FUXI工程建立演示)

3. DTH11溫濕度模塊(比較枯燥,請耐心看完原理)

96f4150c-0c2f-11ee-962d-dac502259ad0.png

DHT11數(shù)字溫濕度傳感器是一款含有已校準數(shù)字信號輸出的溫濕度復(fù)合傳感器。

97638ed2-0c2f-11ee-962d-dac502259ad0.png

上圖為DHT11的內(nèi)部原理圖,可以看出感濕元件、感溫元件和OTP內(nèi)存直接連接在內(nèi)部一個八位MCU上,該MCU通過計算得出測量數(shù)值。

DATA用于FPGA與DHT11之間的通訊和同步,采用單總線數(shù)據(jù)格式,一次通訊時間4ms左右,數(shù)據(jù)分為整數(shù)部分和小數(shù)部分,數(shù)據(jù)格式如下:一次完整的數(shù)據(jù)傳輸為40bit,高位在前。

數(shù)據(jù)格式:

9778b9ba-0c2f-11ee-962d-dac502259ad0.png

數(shù)據(jù)傳送正確時校驗和數(shù)據(jù)等于“8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bit溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)”所得結(jié)果的末8位。校驗和=數(shù)據(jù)之和,通過這個可以判斷接收到的數(shù)據(jù)是否正確。

下面說一下,數(shù)據(jù)傳輸時序:

97944f04-0c2f-11ee-962d-dac502259ad0.png

主機(此處指FPGA)首先發(fā)送一次開始信號,即:拉低數(shù)據(jù)線,保持t1(至少18ms)時間;然后拉高數(shù)據(jù)線保持t2(20~40us)時間,隨后開始讀取DHT11的響應(yīng);如果操作正確的話,DHT11會拉低數(shù)據(jù)線,保持t3(80us)時間,作為響應(yīng)信號;接下來DHT11會拉高數(shù)據(jù)線,保持t4(80us)時間,隨后開始輸出有效數(shù)據(jù)。

DHT11共輸出40bit有效數(shù)據(jù),每1bit數(shù)據(jù)都是以50us低電平開始,高電平的持續(xù)時間作為判斷數(shù)據(jù)位的條件。當(dāng)數(shù)據(jù)位為0時,高電平的持續(xù)時間為26~28us;當(dāng)數(shù)據(jù)位為1時,高電平的持續(xù)時間為70us。

DHT11數(shù)據(jù)位“0”時序圖和數(shù)據(jù)位“1”時序圖如圖:

979e6db8-0c2f-11ee-962d-dac502259ad0.png

需要注意的是,DHT11的溫度和濕度轉(zhuǎn)換較慢,如果讀取速度過快會導(dǎo)致DHT11無法響應(yīng)的情況。

Part二

程序設(shè)計

1. DTH11數(shù)據(jù)采集(狀態(tài)機)

DHT11驅(qū)動模塊使用三段式狀態(tài)機來讀取DHT11的溫度和濕度值,從下圖可以比較直觀的看到每個狀態(tài)實現(xiàn)的功能以及跳轉(zhuǎn)到下一個狀態(tài)的條件。

再次強調(diào),這里需要注意:由于DHT11溫度和濕度轉(zhuǎn)換較慢,如果讀取速度過快會導(dǎo)致DHT11無法響應(yīng)的情況,所以我們在每次讀操作結(jié)束后延時兩秒(這樣魯棒性會比較高,也可以不要這步)。

97e0253c-0c2f-11ee-962d-dac502259ad0.png

在時序圖中,提到了18ms、26-28us、20-40us、50us、70us、80us等等,但是經(jīng)過分析后,并不需要定義這么多個計時周期數(shù),只需要定義兩個即可。為什么只定義這兩個就可以了呢?

在時序圖中,需要FPGA判斷時間的,有兩個位置,一個是FPGA拉低18ms以上,另外一個是判斷數(shù)據(jù)表示是數(shù)據(jù)0還是數(shù)據(jù)1。第一個很清楚就是18ms。數(shù)據(jù)0表示的數(shù)據(jù)位26-28us,為了保險起見,這里設(shè)置為35us,如果高電平的持續(xù)時間低于35us,那么就表示數(shù)據(jù)0。

981f08ce-0c2f-11ee-962d-dac502259ad0.png

982d3520-0c2f-11ee-962d-dac502259ad0.png

988146ec-0c2f-11ee-962d-dac502259ad0.png

98973aba-0c2f-11ee-962d-dac502259ad0.png

98bdfd80-0c2f-11ee-962d-dac502259ad0.png

98c7907a-0c2f-11ee-962d-dac502259ad0.png

2. 字符顯示

OLED的顯示(包括字符提取等),這里不做介紹,我在另一篇文章有介紹過,感興趣的可以看看:京微齊力:基于HMEP060的OLED字符顯示(及FUXI工程建立演示)

98f7f47c-0c2f-11ee-962d-dac502259ad0.png

3. 字符輸出

代碼有注釋,可以看注釋

9b0aff0c-0c2f-11ee-962d-dac502259ad0.png

35 本例中,OLED顯示一共分為如下5個狀態(tài)。在初始化完成后,屏幕顯示的是雜亂無章的數(shù)據(jù),所以在初始化完成后,要進行一次刷新,將OLED中的數(shù)據(jù)全部寫0。然后進行顯示固定不變的支符,例如像溫度濕度這樣的字符。然后進入空閑態(tài),直到DHT11采集到數(shù)據(jù)后,就進入到數(shù)據(jù)顯示狀態(tài),數(shù)據(jù)顯示完成后,又回到空閑態(tài)。這是整個的一個流程。

9b32bf92-0c2f-11ee-962d-dac502259ad0.png

9b3ead02-0c2f-11ee-962d-dac502259ad0.png

9b64f2dc-0c2f-11ee-962d-dac502259ad0.png

9b7a6e0a-0c2f-11ee-962d-dac502259ad0.png

9ba72e7c-0c2f-11ee-962d-dac502259ad0.png

9bb674c2-0c2f-11ee-962d-dac502259ad0.png

Part三

弧形抓取

在工程中,例化了debugware IP核,對溫濕度傳感器的波形進行抓取,可以看到如下:

9c03108e-0c2f-11ee-962d-dac502259ad0.png

前文有說過,傳感器的數(shù)據(jù)位總共有40位,考慮到后續(xù)可能抓取別的波形,所以此處debugware的數(shù)據(jù)位寬我設(shè)置到了45位,預(yù)留了5位。

這里抓到的波形是:2E 0019 034A
對應(yīng)的二進制即:

0010_1110_0000_0000_0001_1001_0000_0011_0100_1010

根據(jù)上文數(shù)據(jù)公式:8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bit溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)+8bit校驗和數(shù)據(jù)

所以此刻的,濕度:

46.00(10_1110_0000_0000)

溫度:

25.03(0001_1001_0000_0011)

9c47ab68-0c2f-11ee-962d-dac502259ad0.png

審核編輯:湯梓紅

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

    關(guān)注

    2542

    文章

    50279

    瀏覽量

    750187
  • dsp
    dsp
    +關(guān)注

    關(guān)注

    552

    文章

    7920

    瀏覽量

    347641
  • FPGA
    +關(guān)注

    關(guān)注

    1624

    文章

    21568

    瀏覽量

    600562
  • OLED
    +關(guān)注

    關(guān)注

    119

    文章

    6160

    瀏覽量

    223519
  • 動態(tài)顯示
    +關(guān)注

    關(guān)注

    0

    文章

    40

    瀏覽量

    11641

原文標(biāo)題:京微齊力:基于P1P060的OLED動態(tài)顯示(溫濕度實時數(shù)據(jù))

文章出處:【微信號:HME-FPGA,微信公眾號:HME京微齊力】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    溫濕度監(jiān)測解決方案

    。對于維護環(huán)境穩(wěn)定、保障生產(chǎn)安全、提升生活質(zhì)量具有重要意義。 溫濕度監(jiān)測解決方案,融入物聯(lián)網(wǎng)、無線通訊等技術(shù),通過溫濕度傳感器、智能采集器等感知設(shè)備,實時采集環(huán)境中的溫度和濕度數(shù)據(jù)。將
    的頭像 發(fā)表于 09-04 17:16 ?239次閱讀

    冷庫環(huán)境溫濕度監(jiān)控系統(tǒng)

    預(yù)防因溫濕度波動導(dǎo)致的貨物損失,確保產(chǎn)品從生產(chǎn)到消費終端的全鏈條品質(zhì)穩(wěn)定。 冷庫環(huán)境溫濕度監(jiān)控系統(tǒng),集數(shù)據(jù)采集、傳輸、處理、顯示、報警于一體的智能化管理解決方案。通過
    的頭像 發(fā)表于 08-21 16:07 ?225次閱讀

    Arduino Nano 和 NodeMCU ESP8266 讀取 DHT11 環(huán)境溫濕度數(shù)據(jù)OLED顯示

    Arduino Nano 和 NodeMCU ESP8266 讀取 DHT11 環(huán)境溫濕度數(shù)據(jù)OLED顯示
    的頭像 發(fā)表于 08-13 18:04 ?773次閱讀
    Arduino Nano 和 NodeMCU ESP8266 讀取 DHT11 環(huán)境<b class='flag-5'>溫濕度數(shù)據(jù)</b>及 <b class='flag-5'>OLED</b><b class='flag-5'>顯示</b>

    溫濕度監(jiān)測系統(tǒng)應(yīng)用

    在現(xiàn)代化工業(yè)生產(chǎn)、倉儲管理、農(nóng)業(yè)種植以及智能家居等領(lǐng)域,溫濕度監(jiān)測已成為不可或缺的一環(huán)。溫濕度作為環(huán)境控制的關(guān)鍵因素,直接影響著產(chǎn)品質(zhì)量、存儲安全、作物生長效率以及居住舒適度。因此,一套高效、精準
    的頭像 發(fā)表于 07-26 16:15 ?306次閱讀

    藥品倉庫溫濕度監(jiān)控系統(tǒng)

    和有效使用具有重要意義。 藥品倉庫溫濕度監(jiān)控系統(tǒng),結(jié)合物聯(lián)網(wǎng)、無線通訊等技術(shù),主要由傳感器、數(shù)據(jù)采集器、傳輸設(shè)備、管理云平臺等組成。針對藥品倉庫的溫濕度進行實時監(jiān)控,及時發(fā)現(xiàn)并調(diào)整不利
    的頭像 發(fā)表于 07-26 10:12 ?270次閱讀

    庫房溫濕度自動監(jiān)測系統(tǒng)

    對庫房內(nèi)溫濕度實時、自動監(jiān)測。在線實時采集庫房內(nèi)的溫濕度數(shù)據(jù),無線傳輸并匯總到管理平臺上,進行存儲、分析、報警等操作,隨時查看庫房內(nèi)的溫濕度
    的頭像 發(fā)表于 07-09 18:00 ?585次閱讀

    糧倉溫濕度監(jiān)測解決方案

    溫濕度是影響糧食儲存品質(zhì)的重要因素。過高的溫度會加速糧食的呼吸作用,導(dǎo)致水分散失和品質(zhì)下降。因此,糧倉的溫濕度管理,成為了確保糧食儲存安全和質(zhì)量穩(wěn)定的關(guān)鍵因素。方便及時發(fā)現(xiàn)糧倉的發(fā)熱點,及時減少糧食
    的頭像 發(fā)表于 07-04 16:37 ?269次閱讀

    想要準確地測量環(huán)境溫濕度?溫濕度傳感器是關(guān)鍵!

    ? 溫濕度是生產(chǎn)生活中最重要的環(huán)境指標(biāo)之一,不僅人需要在適宜的溫濕度條件下保持良好的精神狀態(tài)和敏捷的思維,食品、藥品、各種儀器設(shè)備等都對環(huán)境溫濕度有特殊的要求。基于對環(huán)境溫濕度的要求,
    的頭像 發(fā)表于 07-04 08:48 ?417次閱讀

    無線溫濕度監(jiān)控系統(tǒng)

    解決方案,在需要監(jiān)控的區(qū)域部署傳感器節(jié)點,實時感知環(huán)境溫濕度數(shù)據(jù),利用無線傳感器網(wǎng)絡(luò),對環(huán)境溫濕度實時采集和傳輸,上傳至監(jiān)控中心或云平臺,用戶進行遠程查看和管理。一旦
    的頭像 發(fā)表于 05-30 16:43 ?660次閱讀

    應(yīng)用案例 | 如何實時監(jiān)測和管理冷鏈倉庫溫濕度?

    宏集溫濕度監(jiān)測解決方案幫助客戶實時監(jiān)測冷鏈倉庫的溫濕度,保障貨物的品質(zhì)和安全,降低貨損并提高效率。
    的頭像 發(fā)表于 05-23 14:13 ?396次閱讀
    應(yīng)用案例 | 如何<b class='flag-5'>實時</b>監(jiān)測和管理冷鏈倉庫<b class='flag-5'>溫濕度</b>?

    基于51單片機的SHT11溫濕度監(jiān)測系統(tǒng),LCD1602顯示,上下限按鍵設(shè)置

    LCD1602顯示模塊實時顯示溫濕度數(shù)據(jù),同時可以通過按鍵模塊對溫濕度報警上、下限值進行設(shè)定。 當(dāng)SHT11讀取的
    發(fā)表于 03-26 17:44

    溫濕度傳感器有哪些應(yīng)用場景?

    溫濕度傳感器在眾多領(lǐng)域,特別是在實時記錄溫濕度變化的工作中最為廣泛。溫濕度傳感器可以根據(jù)所記錄的內(nèi)容,對其進行科學(xué)有效的管理、分析和歸納。下面我們就
    的頭像 發(fā)表于 02-19 16:28 ?1103次閱讀
    <b class='flag-5'>溫濕度</b>傳感器有哪些應(yīng)用場景?

    溫濕度傳感器工作原理 溫濕度傳感器的接線方法

    溫濕度傳感器是一種用于測量環(huán)境溫度和相對濕度的裝置。它通常用于工業(yè)、農(nóng)業(yè)、氣象、室內(nèi)空調(diào)等領(lǐng)域。本文將詳細介紹溫濕度傳感器的工作原理和接線方法。 一、溫濕度傳感器的工作原理
    的頭像 發(fā)表于 02-14 18:00 ?8356次閱讀

    溫濕度監(jiān)測系統(tǒng)解決方案應(yīng)用場景

    。 溫濕度監(jiān)測系統(tǒng)解決方案,將溫濕度參數(shù)進行測量并按照預(yù)定的時間間隔,將其儲存在記錄儀內(nèi)部或通過GPRS/4G、WIFI上傳管理云平臺,可將數(shù)據(jù)導(dǎo)出,對其分析???b class='flag-5'>顯示
    的頭像 發(fā)表于 01-24 16:21 ?439次閱讀

    Arduino篇—自制溫濕度測量儀

    DHT11數(shù)字溫濕度傳感器:DHT11數(shù)字溫濕度傳感器是一款含有已校準數(shù)字信號輸出的溫濕度復(fù)合傳感器
    的頭像 發(fā)表于 11-02 10:16 ?1694次閱讀
    Arduino篇—自制<b class='flag-5'>溫濕度</b>測量儀