随着墨水屏开始降低成本后,它也进入了不少消费级产品市场,例如墨水屏的学习机和MP3/MP4之类的个人电子用品已经大行其道了。这类产品中一般都有字典词典,电子书阅读器等功能,下面就来做一个电子书阅读器reader的实验尝试。
可以到京东或者淘宝上看一看常见的电子书阅读器成熟产品例如飞利浦的UI界面,可以看到有日历/时钟,电池电量,然后主菜单等略显简约的界面元素,我们不需要实现这么多元素,简单关注下学习菜单就好,进入学习菜单的子菜单就是包含电子书和字典词典的列表显示,翻页阅读等功能,其实这就是电子书阅读器的主要操作。
实际产品的型号,UI界面和参数如下所示。
当然除了飞利浦,市面上还有其他品牌的UI可以参考借鉴,如下图所示。
这里我根据PICO开发板搭配的pimoroni墨水屏上三颗按键等HMI外设,还是选择参考飞利浦阅读器这个简约界面,然后自己设定一个电子书阅读器的功能需求,例如支持utf8/Unicode编码格式,支持TXT文件格式,支持中文字体等,有了这几个大概的需求目标后,就可以开始考虑具体代码的实现。
这里作为测试demo的开发,需求是定义为十分简单,产品级开发可以展开设计,支持多种编码格式和文件格式,多国语言支持等等。
另外,这里提前剧透一下有可能的扩展设计,如果后面的扩展帖子里可以扩展PICO为PICOW核心板的话就有了WiFi联网能力,还可以实现通过网络传输电子书籍ebook文件等功能,方便用户在使用时通过PC台式机或者笔记本电脑轻松获取和更换电子书数据,这个功能也是蛮重要的。虽然我们只是拥有开发板上的2MB空间flashROM,没有SD卡槽扩展TF卡,但是真正的产品是可以设计更多存储空间例如16/32GB的。
当然这里还有个问题需要解决,因为墨水屏ink和PICO核心板之间连接方式的关系,墨水屏ink已经是加工成和焊接的插槽融为一体的模式,之后扩展可能是并不方便的。如果硬件操作不方便,我大概率会放弃这个尝试。
接下来,这个过程帖子中我们来简单做点256级灰度图片啥的数据在ink墨水屏上显示,如下图所示。
因为ink墨水屏自己支持灰度为16,所以效果不是特别好。
这个电路图片的分辨率刚好也是296*128,显示就好多了。然后,显示一下人物图片。
也可以简单的在几个灰度等级中切换显示图片,形成一个简单的动画效果。因为ink墨水屏刷新物理特性的缘故,速率比较慢。视频文件还是做成压缩文件,放在这里。