这个好!小伙手搓墨水屏阅读器,网友:小米电纸书平替版?爱了!

360影视 2025-02-24 17:57 1

摘要:主页:时间显示,温湿度显示电子书架:支持256本txt文本,仅支持GB2312编码章节&导航:支持查看章节目录,搜章节,一键跳转章节,保留最新搜索记录,最大支持搜索5000章阅读设置:支持调节字体,字体大小,字间距,行间距,内置6款字体(可自行更换/增加字体)

做了一个墨水屏阅读器

持续使用,续航长达1个月

它有什么功能&亮点软硬件怎么设计制作成本是多少下文一一为你解答~

主页:时间显示,温湿度显示电子书架:支持256本txt文本,仅支持GB2312编码章节&导航:支持查看章节目录,搜章节,一键跳转章节,保留最新搜索记录,最大支持搜索5000章阅读设置:支持调节字体,字体大小,字间距,行间距,内置6款字体(可自行更换/增加字体)续航达1个月以上:低电压、定时无操作自动关机其他:开关机提示声、过渡灯效,按键灯效

演示一下!

以上图片均进行了倍速处理

整个系统由——供能电路、下载电路、主控及外设电路三部分组成。

拓扑结构

原理图

PCB图

(1)硬件参数

主控:STM32F103VGT6存储:W25Q128JVSIQ屏幕:大连佳显GDEQ0426T82串口:CH340X体感:SHT30-DIS时钟:RX8025T-UC电池:1000mAh/3.7V(中顺芯255464)尺寸:114x72x7.4mm功耗:约6.08mWh

(2)设计说明

本系统提供两种程序下载方式:

SWD串口ISP串口

这里主要讲一下ISP自动下载电路的设计。

这部分电路参考了野火mini开发板,并以此为基础,更换芯片为CH340X。供电为外部供电,以减少功耗。同时增加了一个上拉电阻R79,拉高S8550电压,防止MCU出现工作异常(别问我怎么知道的,说多了都是泪~)

阅读器的核心原理:

通过[FatFs文件管理系统]的API接口读取SD卡内容调用外设,获取时间、温湿度等信息对数据进行处理后,显示在墨水屏上以实现阅读功能

本章将分享——串口下载、更换字体、代码烧录步骤。

(1)串口下载

首先打开阅读器程序编译生成hex文件

使用数据线将阅读器与电脑相连

③打开FlyMcu软件

④选择生成的hex文件+对应的串口COM

最下列选择DTR低电平复位,RTS高电平进Bootloader如下图所示:


开始编程

⑦长按阅读器电源键不放,等待右下角提示进度100%后再松开电源键!!!注意点击下载后一定等待下载完成后才可松开电源键,否则会下载失败!如图:

(2)如何更换系统字体?

网上相应的字体.ttf格式文件

双击安装

打开GTFontLab软件(自行去高通官网下载)

④右侧字体栏下拉找到刚刚安装好的字体

选择编码格式为GB2312_80,排置方式-字节横置,字节方式-高位在前。勾选bin文件,使用水平偏移,垂直偏移微调字节居中,黑白阈值调节饱满度,字号16、点阵宽度16、点阵高度16。如图所示:

生成字库注意名称不要带中文,全英文名称也不必过长,否则会导致字库写入失败,别问我怎么知道的!!!

⑥再重复上述步骤更改字号、点阵宽度、点阵高度分别为24、32,生成24x24和32x32大小字体文件。

一种字体需要3个文件以支持阅读器字体大小设置功能,一套字体的正确示例文本如下:


将需要替换的字体生成后存放在SD卡下的srcdata内,具体路径如下:

然后替换一种已有的字体,并且使用已有字体的文件名,

以上操作都完成后,将SD卡插入阅读器

将“刷外部FLASH字库”工程的程序编译下载

⑩手动按下阅读器复位按键进行系统复位

USB口连接电脑,打开串口软件

根据串口输出信息提示操作即可,字体写入完成后界面如下:

写入完成后,再重新烧录阅读器程序,字体就更换完成啦~(注意:更换字体会导致阅读器系统设置、文本阅读进度等数据丢失,介意的谨慎更换!!!)

(3)代码烧录顺序

焊接完成后需要先手动校准年月日,然后写入字库,最后再写入系统主程序才可以正常使用。

那怎么手动校准呢?

首先打开“手动校时”工程,根据实际时间修改下列参数,注意星期部分对应的数值!

if(KEY_NoDithering_Scan(KEY_100_PORT,KEY_100_PIN)==Click) // 下翻页按键被按下{ printf("\r\n下翻页键被按下!\r\n");// 星期日 星期一 星期二 星期三 星期四 星期五 星期六// 0x01 0x02 0x04 0x08 0x10 0x20 0x40 Set_Time.year = 25; // 年Set_Time.month = 0x01; // 月Set_Time.day = 0x07; // 日Set_Time.week = 0x04; // 星期Set_Time.hour = 17; // 时Set_Time.minute = 30; // 分Set_Time.second = 00; // 秒 RX8025T_Set_Time(&Set_Time); // 设置时间 printf("时间设置完毕\r\n"); }

复刻成本大约250+

对于DIY来说,这个成本貌似不算很高?你还有更好的想法吗?

如果是你的话?你会选择购买一个,还是DIY一个,体验其中的原理和乐趣呢?

开源资料参考:https://oshwhub.com/hmgs271828/book_reader

来源:嘉立创EDA

相关推荐