0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MCU+墨水屏,经典应用又添新意!LuatOS带你轻松DIY

合宙LuatOS 2022-06-29 09:43 次阅读

MCU+墨水屏,经典应用又添新意!

社群小伙伴心心念念的墨水屏应用来了,适用合宙LuatOS全系列MCU核心板。此外,又一波超值福利——合宙LuatOS墨水屏扩展板即将惊喜来袭。敬请关注公众号近期最新动态!!!


1

合宙LuatOS全系列MCU核心板
驱动墨水屏的正确方式


我们常说的电子墨水屏是使用电子墨水的屏幕——通电后可以更改屏幕显示内容,断电后完全不费电的情况下,继续保持显示内容。

合宙LuatOS将让墨水屏应用更为简便,固件自带eink库,加上即将推出的墨水屏扩展板,快捷实现你的应用创意

基本参数
• 分辨率:200x200;
• ⿊⽩双⾊显⽰;
• ⽀持快刷;
• 直插接⼝,完全兼容现有的合宙LuatOS全系列MCU核⼼板。

硬件连接:

可以直接插到合宙MCU核心板上,和LCD屏同一个位置。

a5bb8eaa-f635-11ec-a2f4-dac502259ad0.png

如何驱动:

使⽤LuatOS固件中的eink库,可以⽅便快捷地驱动屏幕。下⾯的代码以Air101为例,其他模块请根据需要, 更改初始化代码中的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

项目应用示例
墨水屏天气预报日历


a5e3409e-f635-11ec-a2f4-dac502259ad0.png

这样个性有趣的墨水屏天气预报日历,你也可以轻松DIY

示例使用的开发板:

• 墨水屏屏幕板

• 合宙ESP32-C3核心板

注意事项:
由于ESP32-C3的GPIO11默认不作为GPIO使用,并且墨水屏的BUSY引脚位置就在GPIO11,所以需要对开发板的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 = "",""

--地区id,请前往https://api.luatos.org/luatos-calendar/v1/check-city/查询自己所在位置的id

local location = ""

--天气接口信息,需要自己申请,具体参数请参考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就代表连上局域网了

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)

-- 用户代码已结束-------------------------------------

-- 结尾总是这一句

sys.run()

-- sys.run()之后后面不要加任何语句!!!!!

墨水屏天气预报日历


烧录进开发板,就可以直接看到结果了,天气信息每小时会刷新一次:

a658d548-f635-11ec-a2f4-dac502259ad0.png

加上自己3D打印的外壳,直接变成最靓的桌面摆件!

a5e3409e-f635-11ec-a2f4-dac502259ad0.png

发挥你的创意,尽情DIY吧 ~

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17135

    浏览量

    351017
  • 电子墨水屏
    +关注

    关注

    4

    文章

    58

    浏览量

    19765
收藏 人收藏

    评论

    相关推荐

    AM2X MCU+系列芯片安全启动方案

    电子发烧友网站提供《AM2X MCU+系列芯片安全启动方案.pdf》资料免费下载
    发表于 09-27 11:39 1次下载
    AM2X <b class='flag-5'>MCU+</b>系列芯片安全启动方案

    开源DIY!基于树莓派+墨水 DIY METAR 显示器

    妨碍飞行爱好者们 DIY 一件摆放在自己的书桌上。 ​ 项目特性 1、墨水有三种显示方式:间歇性的循环更新显示、随机显示和自动间隔显示。以天气变化为例,把天气变化设置为 VFR,每小时更新一次即可。因为
    发表于 08-26 11:04

    恩智浦MCXC系列高性价比MCU正式发布并全面量产

    MCX大家族再璀璨新成员: MCXC系列高性价比MCU正式发布并全面量产,经典再升级!
    的头像 发表于 08-01 09:27 4.8w次阅读
    恩智浦MCXC系列高性价比<b class='flag-5'>MCU</b>正式发布并全面量产

    rk3566驱动8位墨水

    各位大佬 想用rk3566驱动8位墨水 是不是只能用EBC_SDDO0~7 现在有个3566开发板引出了EBC_SDDO8~15是不是必须要改电路 谢谢
    发表于 07-28 14:00

    四维图新旗下杰发科技推出AC7801L MCU+芯片

    在2024年慕尼黑上海电子展这一全球瞩目的科技盛会上,四维图新旗下的杰发科技凭借其深厚的行业积淀与前瞻性的威廉希尔官方网站 创新,正式推出了其首款集大成之作——AC7801L MCU+芯片。这一里程碑式的发布
    的头像 发表于 07-10 09:38 758次阅读

    EL133UF1元太Eink 13.3寸墨水Spectra 6全彩色电子纸E6六色SPI #全彩墨水

    墨水
    steve8868
    发布于 :2024年07月05日 16:49:17

    RFID墨水标签针对工业智能识别领域的无纸化应用

    墨水采用反射式显示威廉希尔官方网站 ,其功耗极低,即使在长时间显示静态图像的情况下,也能保持较低的能耗。这使得墨水在需要长时间运行的工业设备上具有显著的优势,如工业仪表、控制面板等。
    的头像 发表于 06-06 15:02 336次阅读

    万象,场景无限: 蓝牙墨水标签多功能多场景应用带您领略未来

    蓝牙墨水标签作为一种创新的显示设备,通过提供API接口,助力各行各业共创智慧新生态。开放API是为了促进生态系统的共创和共赢,让更多的开发者和合作伙伴能够参与到蓝牙墨水标签的应用和
    的头像 发表于 05-27 11:11 437次阅读
    一<b class='flag-5'>屏</b>万象,场景无限: 蓝牙<b class='flag-5'>墨水</b><b class='flag-5'>屏</b>标签多功能多场景应用带您领略未来

    手搓了一个ESP32墨水阅读器,蛮简单的

    工程名称:3.7寸墨水阅读器时钟温湿度TXT/Epub前言帅小伙手搓ESP32墨水阅读器!可轻松续航100天!01阅读器功能/亮点?1.
    的头像 发表于 05-27 08:04 331次阅读
    手搓了一个ESP32<b class='flag-5'>墨水</b><b class='flag-5'>屏</b>阅读器,蛮简单的

    rfid电子纸墨水引领基板工艺MSAP贴膜阶段迈向无纸化高端制造

    晨控智能推出的可视化墨水标签同时支持多种工作频率,可供用户多种方式编辑墨水显示内容,可视化标签不仅支持墨水
    的头像 发表于 05-23 14:14 402次阅读

    宇瞻进军电子墨水市场,与虹彩光电达成合作

    据官方资料,虹彩光电主要专注胆甾相(胆固醇)液晶电子墨水(电子纸)威廉希尔官方网站 ,其独特之处在于具备“全反射”和“双稳态”两大节能护眼功能。
    的头像 发表于 04-24 09:33 546次阅读

    一文带你了解红墨水实验!

    一、什么是红墨水实验? 将焊点置于红色墨水或染料中, 让红墨水或染料渗入焊点的裂纹之中,干燥后将焊点强行分离, 焊点一般会从薄弱的环节(裂纹处)开裂。 因此,红墨水实验可以通过检查开裂
    的头像 发表于 02-26 11:24 2184次阅读
    一文<b class='flag-5'>带你</b>了解红<b class='flag-5'>墨水</b>实验!

    DIY LED显示提供额外功能和PWM

    这种设计思路(图1 )展示了如何轻松地“老骨头上新肉”,以及如何在之前发布的简易LED显示上添加一些新功能。
    发表于 01-29 15:23 366次阅读
    <b class='flag-5'>DIY</b> LED显示<b class='flag-5'>屏</b>提供额外功能和PWM

    diy机对位方法有哪些

    DIY机是一种用于夹压印刷过程中的设备,可用于制作T恤、帽子、袋子等物品的印刷。对位是压机使用过程中非常关键的一步,它决定了印刷图案的准确度和完整性。下面将详细介绍DIY
    的头像 发表于 01-05 15:32 944次阅读

    无源RFID电子纸墨水标签在工业流转箱中的应用案例

    无源RFID电子纸墨水标签是一种结合了RFID威廉希尔官方网站 和电子纸墨水威廉希尔官方网站 的标签。这种标签具有低功耗、可重复使用、环境友好等特点。我们将这种标签贴在工业流转箱上,通过RFID读写器对标签进
    的头像 发表于 12-25 14:00 618次阅读