请选择 进入手机版 | 继续访问电脑版
查看: 4215|回复: 6

[原创] [LPC55S69]在电子墨水屏EINK上显示一颗圣诞树

[复制链接]
  • TA的每日心情
    擦汗
    2016-12-2 08:40
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    97

    主题

    835

    帖子

    7

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    3939
    最后登录
    2024-3-28
    发表于 2018-12-27 18:48:26 | 显示全部楼层 |阅读模式
    本帖最后由 mgn 于 2019-1-15 14:55 编辑

    LPC55S69 EINK电子墨水屏应用系列 一  https://www.nxpic.org.cn/module/forum/thread-615865-1-2.html
    LPC55S69 EINK电子墨水屏应用系列 二  https://www.nxpic.org.cn/module/forum/thread-615971-1-1.html

    [介绍]                                                                                                  
    电子墨水屏(EINK)的成本随着时间的推移成本越来越低,应用场景也越来越多。小编最近折腾了一段时间电子墨水屏和MCU低功耗结合的应用,通过两篇微信小文章分享给大家。这一篇就讲解下如何快速搭建一个墨水屏显示的方案。
    这几天大家都在过圣诞,那就通过在墨水屏上显示圣诞老人和一颗圣诞树来一步步的讲解搭建过程,同时也祝各位MCUer圣诞快乐!
    这篇小文章的开发板是基于LPCXpresso55S69的,EINK小屏幕我们找了一个1.54寸的墨水屏,当然其他任何兼容Arduino接口的LPC开发板均可。
    在您拥有一块LPCXpresso55S69开发板的同时,还需要购买一块EINK模组。目前市面上1.54寸的EINK模组要么是淘宝的,要么就从微雪家购买。小编的模组虽然是从淘宝购买的但是比较推荐微雪家的,虽然贵,但是好看些。
    1.54inch-e-Paper-Module-intro.jpg

    [硬件]                                                                                                  
    EINK屏幕是使用SPI为数据传输接口的,但是我们购买的模块并没有按照Arduino的线序设定,所以这里我们为了方便的结合开发板开发不得已使用了GPIO模拟SPI的方法。如下图示意,这里特别关照一点,买来的模块接口不是2.54mm间距的,所以要稍微动下烙铁在模块上焊接一个2.54的排针以引出接口信号。
    接口示意图.jpg
    准备好墨水屏的模块后直接接到LPCXpresso55S69开发板的P17接口即可。小编把代码放到了github上,有兴趣且有条件的MCUer可以从http://github.com/Magicoe/LPC5500_DEMOS拿到源代码,工程名字是lpc5500_eink1n54
    开发环境用的KEIL,当你下载到开发板上后,我们这个例程就会显示一个圣诞树出来。
    最终效果.png

    [软件]                                                                                                  
    当您下载了源码后,整个工程相对来讲是非常简洁的。核心文件是epd1in54.c和它的.h,关于EINK屏幕驱动的API都集成在这里。显示一些数据到EINK屏幕上的软件步骤也非常简单,代码里咱们分成了四步。
    第一步:初始化相关的引脚和IO口的状态,稍微特殊点的就是BUSY信号了要配置为输入态,由于我们模拟的SPI所以其他的功能引脚均配置成输出状态。
    第二步:初始化EINK屏幕,调用的函数是eink_init,这里g_EINKBuffer是屏幕显示数据的缓冲区。
    第三步:初始化EINK显示缓冲区并把要显示的数据写入到缓冲区。
    第四步,调用eink_frame_seteink_frame_display两个函数来吧显示缓冲区中的图像显示到EINK屏幕上。
    这里我们显示圣诞树的图像数据放在了imagedata.h
    source_code.jpg

    [彩蛋]                                                                                                  
    这里MCUer可能要问了,我怎么才能把一副图像转成imagedata.h中的数据呢?且看彩蛋部分答疑解惑。彩蛋部分我们以显示圣诞老人的头像为例。
    工欲善其事必先利其器,咱们得先下一个转换图片成为数据数组的工具。这里咱们用的的是image2lcd。可以从http://www.wbj3000.com/ 获取(放弃这一步吧,软件作者应该不再维护这个网站了),当然微雪的官网也可以下载,这里提供一个软件下载链接: http://www.waveshare.net/w/upload/3/36/Image2Lcd.7z
    去搜索引擎上找一张圣诞老人的头像并截图,保存成jpeg。这里要注意是,咱们这次的屏幕是200X200的分辨率,所以截图的分辨率也最好是200X200以上的并且是倍数关系。
    google_allbuy.jpg

    接下来咱们用image2lcd打开我们截图的内容,在设置方面大家要注意下下图红框中的提示。一个是分辨率要设置成200X200,还有一个是要勾选颜色翻转
    image2lcd_import_pic.jpg
    最后点击保存,将生成的image数组内容替换掉imagedata.h里的即可。
    生成图像数据的步骤.jpg

    最后编译工程,下载并且运行。就可以在墨水屏上看到ALLBUY版的圣诞老人的头像了。
    allbuyoneink.png

    圣诞老人.jpg
    回复

    使用道具 举报

  • TA的每日心情

    2016-10-20 11:32
  • 签到天数: 1 天

    [LV.1]初来乍到

    12

    主题

    108

    帖子

    0

    高级会员

    Rank: 4

    积分
    545
    最后登录
    2022-3-1
    发表于 2018-12-28 08:56:32 | 显示全部楼层
    真是厉害了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    648

    主题

    6301

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    19555
    最后登录
    2024-3-29
    发表于 2018-12-28 18:19:28 | 显示全部楼层
    感谢楼主的分享!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    6 天前
  • 签到天数: 1334 天

    [LV.10]以坛为家III

    88

    主题

    4290

    帖子

    12

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    9022
    最后登录
    2024-3-29
    发表于 2019-1-2 13:22:02 | 显示全部楼层
    这个东西还是挺靠谱的, 我也想抽时间弄一个电子工牌,用于记录上班打卡时间与下班时间。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-12-2 08:40
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    97

    主题

    835

    帖子

    7

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    3939
    最后登录
    2024-3-28
     楼主| 发表于 2019-1-2 20:18:10 | 显示全部楼层
    jobszheng5 发表于 2019-1-2 13:22
    这个东西还是挺靠谱的, 我也想抽时间弄一个电子工牌,用于记录上班打卡时间与下班时间。 ...

    考虑下LPC8N04,无源电子工牌
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    6 天前
  • 签到天数: 1334 天

    [LV.10]以坛为家III

    88

    主题

    4290

    帖子

    12

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    9022
    最后登录
    2024-3-29
    发表于 2019-1-3 10:13:18 | 显示全部楼层
    你的意思是,将显示式牌信息,座位信息,打卡信息等都以e-ink显示出来,巨低的功耗。使用识别卡来签到。
    这个方案还是挺省电啊
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    5

    帖子

    0

    新手上路

    Rank: 1

    积分
    7
    最后登录
    2019-1-24
    发表于 2019-1-24 13:04:17 | 显示全部楼层
    好厉害。。
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-3-29 22:25 , Processed in 0.135799 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表