【项目名称】胸卡式儿童红花榜 【项目简介】 小朋友有很强的自尊心和荣誉感,也有自己的个性和主意。我将幼儿园的红花榜移植到家里,原先是一张0号绘图纸,每月一张,每日对KPI(所谓几个关键指标,吃饭、学习、锻炼等等)进行小红花评比,表现不好会有一个小黑脸,若干个小红花可以兑现披萨、电影票之类的激励。小黑脸和小红花可以对冲等等。用了一两年了,效果还是明显,对孩子建立生活学习规律,有一定帮助。
【硬件准备】 本项目我们主要用到了两片esp8266,分别的作用是: 第一部分通信单元:blinker_8266(wemosd1 mini (8266)),负责与手机通过blinker通信,并且将控制指令数据发往显示控制部分。 而且通信单元还承担了想显示单元供电的责任,显示单元在数据更新结束后,就不再需要供电。虽然这样拼插比较麻烦,但也是一种尝试吧。 第二部分显示单元:epaper_8266+三色墨水屏(2.13寸),负责获取从blinker_8266发来的数据,驱动三色电子墨水屏显示。基本原理如图:
当然,你得有一部手机,支持安卓5.0以上。我用了一部旧手机,刷上了CM13,重新发挥余热啦。 为什么这么麻烦,要用两片8266呢?我刚开始和各位看官的想法是一致的,用一篇esp32实现从手机端获取数据以及电子墨水屏的显示功能,可惜,两个库有冲突难以解决,至少是我没有很好解决,很尴尬的是,解决两者的冲突实际上耗用了这个项目大部分时间。因此我想到了分离式的硬件方案。
胸卡是主显示单元,使用一片8266+三色墨水屏(2.13寸),平时不耗电,一旦数据更新,就可以像一个胸卡一样戴着,非常酷。我有一片墨水屏,大约3年了,未上电,上面的内容依然清晰。这也是墨水屏的优势之一吧。
blinker_8266就是一个通信单元,样子像一个半圆形的巧克力,引出来了三根针,vcc、gnd以及tx,一方面负责给胸卡单元供电,一方面以ttl方式送过去一对数据传输接点。两个单元只有在刷新数据时短时插接在一起,胸卡单元不设单独的供电部分,所以体积和重量都有所减少。
【软件准备】 Blinker 库:用于实现手机与通信单元之间的联系。 Dfrobot epaper显示库:用于驱动三色屏显示。 Arduino json库:用于解析通信单元发往显示单元的json格式数据。
(通信单元代码) 【关于外壳】
【手机端的工作】
【鸣谢】 感谢arduino.cn社区提供这样一个学习、交流和竞赛的平台。第二次参赛,作品都很简单,这次涉及了8266的json串口通信、bilnker库的使用以及三色屏的驱动。也是一次很好的知识整合。感谢dfrobot提供firebeettle 开发板以及漂亮的红白黑三色墨水屏。
感谢mostfun.cn提供3D打印和亚克力切割,由于刚开始学习建模,还走了弯路,学习海神师兄。
沧海抱拳。
|