網頁

Blynk雲端平台的LCD工具-顯示DHT11溫濕度


在Blynk的LCD工具中,它的功能就像是LCD1602模組一樣,能夠用於顯示數值、文字或是一些資訊。



Blynk中LCD工具分為SIMPLE與ADVANCED兩種不同的模式。在SIMPLE模式中它將上下兩行分開來進行顯示,我們可以把它想像成同時包含兩組的Labeled Value工具。同時它也有加入前後綴字以及調整小數點位數的功能,支援Analog與Virtual兩個腳位的輸入。


以下我使用官方的DHT11範例程式碼,並且透過NodeMCU將溫濕度的資訊,上傳到Blynk APP中的LCD工具中。在設定上我加入了前後綴字,並使用PUSH模式,我之所以使用PUSH模式是為了下一個工具SuperChart做準備,我要將溫溼度的資料上傳到Blynk的伺服器資料庫中,方便在下一個工具中進行資料庫數據的讀取。


在APP端的排版可以利用Blynk的專案分享功能(Clone),用APP內的QC code掃一下就可以複製我的專案了。(這個模式下只會複製我的排版與開發版的選擇,AUTH TOKEN還是屬於你自己的,不會互相干涉)


在接線上官方的範例是使用pin2,參考NodeMCU的腳位圖即可對應到板子上的D4腳位,同時在VCC與訊號腳間接上一顆4.7k的電阻



燒錄完成之後按下運行,順利的話就會看到顯示在上面的溫度跟濕度了。只是比較要抱怨的是DHT11的精度真的不是很好就是。


接著還有另外一個模式是LCD Advanced Mode,官方也有提供相關的程式碼

這個模式的使用方式就跟Arduino的LCD模組程式一模一樣,自訂字串的位置在輸入即可。X位置有0~15;Y則為0、1。(Where x is a symbol position (0-15), y is a line id (0 or 1),)


這個模式可以用於顯示一些文字資訊,或是自行進行資訊的排列。我手癢試了試中文的顯示,我把程式碼改成下面這樣:

lcd.print(3, 0, "Mars DIY"); // use: (position X: 0-15, position Y: 0-1, "Message you want to print")
lcd.print(4, 1, "中文也可以");

測試的結果在Windows 7 下面的Arduino IDE 1.8.5是編譯的過去的,只是中文有點被切到的樣子,但是不建議這樣做就是。


透過上面DHT11的PUSH傳送,我等待多累積一些資料再Blynk的資料庫中再來使用Super chart的功能,進行長期圖表的可視化與輸出。