我的订单购物车(0)会员中心 联系客服 帮助中心供应商合作 嘉立创产业服务群
领券中心备货找料立推专区爆款推荐PLUS会员BOM配单品牌库PCB/SMT工业品面板定制

小伙手搓墨水屏阅读器!网友:爱了!

2025-04-23 10:33:59阅读量:599

做了一个墨水屏阅读器

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

墨水屏阅读器

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

01
功能&亮点
墨水屏阅读器功能&亮点

演示一下!

墨水屏阅读器主页

墨水屏阅读器功能

 

墨水屏阅读器亮点

 

02

硬件设计

 

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

拓扑结构

拓扑结构

 

原理图

原理图

 

PCB图

PCB图

 

01 
硬件参数
  • 主控:STM32F103VGT6

  • 存储:W25Q128JVSIQ

  • 屏幕:大连佳显GDEQ0426T82

  • 串口:CH340X

  • 体感:SHT30-DIS

  • 时钟:RX8025T-UC

  • 电池:1000mAh/3.7V(中顺芯255464)

  • 尺寸:114x72x7.4mm

  • 功耗:约6.08mWh

 

02 
设计说明

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

  • SWD串口

  • ISP串口

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

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

 

 

03
代码下载

阅读器的核心原理:

  • 通过[FatFs文件管理系统]的API接口读取SD卡内容

  • 调用外设,获取时间、温湿度等信息

  • 对数据进行处理后,显示在墨水屏上以实现阅读功能

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

01 
串口下载

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

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

打开FlyMcu软件

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

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

RTS高电平进Bootloader


点击开始编程

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

下载

 

02 
如何更换系统字体?

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

双击安装

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

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

安装字体

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

设置格式

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

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

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

正确文本示例


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

保存字体路径

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

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

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

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

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

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

完成界面

完成界面

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

 

03 
代码烧录顺序

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

那怎么手动校准呢?

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

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
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"); }

 

04
成本说明

复刻成本大约250+

复刻成本

 

 

05
开源网址

本项目已开源!

 

——想复刻想给作者点赞复制开源网址 前往原文。

开源网址:https://oshwhub.com/hmgs271828/book_reader