MCU+墨水屏,經(jīng)典應(yīng)用又添新意!
社群小伙伴心心念念的墨水屏應(yīng)用來了,適用合宙LuatOS全系列MCU核心板。此外,又一波超值福利——合宙LuatOS墨水屏擴(kuò)展板即將驚喜來襲。敬請關(guān)注公眾號近期最新動態(tài)!!!
1
合宙LuatOS全系列MCU核心板
驅(qū)動墨水屏的正確方式
我們常說的電子墨水屏是使用電子墨水的屏幕——通電后可以更改屏幕顯示內(nèi)容,斷電后完全不費電的情況下,繼續(xù)保持顯示內(nèi)容。
合宙LuatOS將讓墨水屏應(yīng)用更為簡便,固件自帶eink庫,加上即將推出的墨水屏擴(kuò)展板,快捷實現(xiàn)你的應(yīng)用創(chuàng)意!
基本參數(shù):
? 分辨率:200x200;
? ??雙?顯?;
? ?持快刷;
? 直插接?,完全兼容現(xiàn)有的合宙LuatOS全系列MCU核?板。
硬件連接:
可以直接插到合宙MCU核心板上,和LCD屏同一個位置。
如何驅(qū)動:
使?LuatOS固件中的eink庫,可以?便快捷地驅(qū)動屏幕。下?的代碼以Air101為例,其他模塊請根據(jù)需要, 更改初始化代碼中的SPI編號與其他引腳編號。
01 全刷模式
sys.taskInit(function()
eink.model(eink.MODEL_1in54)
eink.setup(0, 0,pin.PB00,pin.PB03,pin.PB01,pin.PB04)
eink.setWin(200, 200, 0)
--稍微等一會,免得墨水屏沒初始化完成
sys.wait(100)
log.info("e-paper 1.54", "Testing Go")
eink.clear()
--畫幾條線一個圓
eink.circle(50, 100, 40)
eink.line(100, 20, 105, 180)
eink.line(100, 100, 180, 20)
eink.line(100, 100, 180, 180)
eink.show()
log.info("e-paper 1.54", "Testing End")
end)
02快刷模式
快刷(局刷)模式,使用本模式刷新時極快,但大概率會有殘留:
sys.taskInit(function()
eink.model(eink.MODEL_1in54)
eink.setup(1, 0,pin.PB00,pin.PB03,pin.PB01,pin.PB04)
--初始化時配置局部刷新
eink.setWin(200, 200, 0)
--稍微等一會,免得墨水屏沒初始化完成
sys.wait(100)
log.info("e-paper 1.54", "Testing Go")
eink.clear()
--畫幾條線一個圓
eink.circle(50, 100, 40)
eink.line(100, 20, 105, 180)
eink.line(100, 100, 180, 20)
eink.line(100, 100, 180, 180)
eink.show(nil,nil,true)
--直接刷上去,不清屏
log.info("e-paper 1.54", "Testing End")
end)
2
項目應(yīng)用示例
墨水屏天氣預(yù)報日歷
這樣個性有趣的墨水屏天氣預(yù)報日歷,你也可以輕松DIY!
示例使用的開發(fā)板:
? 墨水屏屏幕板
? 合宙ESP32-C3核心板
注意事項:
由于ESP32-C3的GPIO11默認(rèn)不作為GPIO使用,并且墨水屏的BUSY引腳位置就在GPIO11,所以需要對開發(fā)板的GPIO11引腳提前解鎖處理。具體操作參見:
https://gitee.com/dreamcmi/LuatOS-ESP32/blob/master/doc/VDD_SPI_AS_GPIO.md
燒錄最新固件及下方腳本:
注:需要按注釋更改一下代碼開頭的變量值。
源碼倉庫:
? Air101/Air103/Air105系列參見:
https://gitee.com/openLuat/LuatOS/releases
? ESP32-C3系列參見:
https://gitee.com/dreamcmi/LuatOS-ESP32/releases
墨水屏示例腳本參考
上下滑動查看完整代碼:
PROJECT = "wifidemo"
VERSION = "1.0.0"
local sys = require "sys"
--需要自行填寫的東西
--wifi信息
local wifiName,wifiPassword = "",""
--地區(qū)id,請前往https://api.luatos.org/luatos-calendar/v1/check-city/查詢自己所在位置的id
local location = ""
--天氣接口信息,需要自己申請,具體參數(shù)請參考https://api.luatos.org/頁面上的描述
local appid,appsecret = "",""
local functionconnectWifi()
log.info("wlan", "wlan_init:", wlan.init())
wlan.setMode(wlan.STATION)
wlan.connect(wifiName,wifiPassword)
-- 等待連上路由,此時還沒獲取到ip
result, _ = sys.waitUntil("WLAN_STA_CONNECTED")
log.info("wlan", "WLAN_STA_CONNECTED", result)
-- 等到成功獲取ip就代表連上局域網(wǎng)了
result, data = sys.waitUntil("IP_READY")
log.info("wlan", "IP_READY", result, data)
end
local functionrequestHttp()
local rd = {}
local httpc = esphttp.init(esphttp.GET, "http://apicn.luatos.org:23328/luatos-calendar/v1?mac=111&battery=10&location="..location.."&appid="..appid.."&appsecret="..appsecret)
if httpc then
local ok, err = esphttp.perform(httpc, true)
if ok then
while 1 do
local result, c, ret, data = sys.waitUntil("ESPHTTP_EVT", 20000)
--log.info("httpc", result, c, ret)
if c == httpc then
if esphttp.is_done(httpc, ret) then
break
end
if ret == esphttp.EVENT_ON_DATA and esphttp.status_code(httpc) == 200 then
table.insert(rd,data)
end
end
end
else
log.warn("esphttp", "bad perform", err)
end
esphttp.cleanup(httpc)
if ok then
return table.concat(rd)
end
end
end
function refresh()
log.info("refresh","start!")
local data
for i=1,5 do
--重試最多五次
data = requestHttp()
if #data > 100then
break
end
log.info("load fail","retry!")
end
if #data < 100 then
log.info("load fail","exit!")
return
end
eink.model(eink.MODEL_1in54)
log.info("eink.setup",eink.setup(0, 2,11,10,6,7))
eink.setWin(200, 200, 2)
eink.clear(1)
log.info("eink", "end setup")
eink.drawXbm(0, 0, 200, 200, data)
-- 刷屏幕
eink.show()
eink.sleep()
log.info("refresh","done")
end
sys.taskInit(function()
--先連wifi
connectWifi()
while true do
refresh()
sys.wait(3600*1000)
--一小時刷新一次吧
end
end)
-- 用戶代碼已結(jié)束-------------------------------------
-- 結(jié)尾總是這一句
sys.run()
-- sys.run()之后后面不要加任何語句!!!!!
墨水屏天氣預(yù)報日歷
燒錄進(jìn)開發(fā)板,就可以直接看到結(jié)果了,天氣信息每小時會刷新一次:
加上自己3D打印的外殼,直接變成最靚的桌面擺件!
發(fā)揮你的創(chuàng)意,盡情DIY吧 ~
-
mcu
+關(guān)注
關(guān)注
146文章
17336瀏覽量
352688 -
電子墨水屏
+關(guān)注
關(guān)注
4文章
58瀏覽量
19851
發(fā)布評論請先 登錄
相關(guān)推薦
云里物里推出全新RS133電子墨水屏標(biāo)簽
開源DIY!基于樹莓派+墨水屏 DIY METAR 顯示器
MQTT應(yīng)用看這篇!合宙Air780EP_LuatOS_MQTT應(yīng)用指南
![MQTT應(yīng)用看這篇!合宙Air780EP_<b class='flag-5'>LuatOS</b>_MQTT應(yīng)用指南](https://file1.elecfans.com/web2/M00/FE/92/wKgaomad_iCAGM1mACObj6OhrXM912.png)
rk3566驅(qū)動8位墨水屏
四維圖新旗下杰發(fā)科技推出AC7801L MCU+芯片
![](https://file1.elecfans.com/web2/M00/F8/5F/wKgZomaHsTyAR0VrAATzk-cWTzM167.png)
RFID墨水屏標(biāo)簽針對工業(yè)智能識別領(lǐng)域的無紙化應(yīng)用
一屏萬象,場景無限: 藍(lán)牙墨水屏標(biāo)簽多功能多場景應(yīng)用帶您領(lǐng)略未來
![一<b class='flag-5'>屏</b>萬象,場景無限: 藍(lán)牙<b class='flag-5'>墨水</b><b class='flag-5'>屏</b>標(biāo)簽多功能多場景應(yīng)用帶您領(lǐng)略未來](https://file1.elecfans.com/web2/M00/E9/84/wKgZomZT-NiAO5T-AAMYK6aX0dM352.png)
rfid電子紙墨水屏引領(lǐng)基板工藝MSAP貼膜階段邁向無紙化高端制造
宇瞻進(jìn)軍電子墨水屏市場,與虹彩光電達(dá)成合作
可視化RFID電子紙/墨水屏標(biāo)簽在生產(chǎn)車間的無紙化應(yīng)用示例
一文帶你了解紅墨水實驗!
![一文<b class='flag-5'>帶你</b>了解紅<b class='flag-5'>墨水</b>實驗!](https://file1.elecfans.com//web2/M00/C0/FD/wKgZomXcBGKAPVA7AADLjfIl_k8010.jpg)
評論