本内容来源于什么值得买APP,观点仅代表作者本人作者:BigBubbleGum 逛闲鱼的时候发现了这样一种墨水屏电子价签,大家在盒马、7Fresh、小米之家等互联网线下店里面应该见到过,用电子价签替代传统的纸质价签,可以统一管理显示价签内容,并给消费者营造出一种科技感、高端感。 常见的价签尺寸有2。13寸、2。9寸和4。2寸,海鲜市场上价格分别为几块钱、十几块钱和二三十块钱。电子价签个人是没法直接更改其显示内容的,需要有专门的基站才能改写。电子价签的内部就是单片机驱动板电子墨水屏,于是我研究了下如何让这块墨水屏显示自定义图案。 内容比较多,我将分为上下两篇,本文将介绍下电子墨水屏的工作原理、价签拆解、各种硬件驱动方案。下一篇将介绍墨水屏驱动板故障排除、通讯协议和驱动程序相关的内容。 我也是从零开始接触的电子墨水屏,各种QQ群潜水、论坛找资料,学习途中遇到了不少坑,相信这将是你能找到最详细的电子价签DIY攻略。一、电子墨水屏简介 电子墨水屏也叫电子纸,常见的电子纸采用微胶囊电泳显示技术(EPD)。其基本原理是悬浮在液体中的带电纳米粒子受到电场作用而产生迁移。电子墨水涂布在一层塑料薄膜上,再贴覆上薄膜晶体管(TFT)电路,经由驱动IC控制,形成像素图形。 电子墨水由数百万个微胶囊所构成,微胶囊的大小约等同于人类头发的直径。每个微胶囊里含有电泳粒子带负电荷的白色以及带正电荷的黑色粒子,悬浮于透明液体中。 利用正负相吸的原理,当电场接通时,该区块对应的黑或白粒子会移动至微胶囊的顶端,使用者在该区块上,就能看见白色或黑色。 常见的电子纸是黑白色的,电子价签还有一种三色电子墨水屏,系统运作原理与双色系统类似,施加不同的电压,使不同颜色的粒子移动至上层,看见不同的颜色。 电子墨水屏易于阅读:电子纸显示屏是靠反射环境光来显示图案的,它具有纸张印刷般的效果; 轻薄灵活:因为结构上比较简单外,加上电子纸本身是基于柔软的塑料薄膜的材料,造就了它天生柔韧、可弯曲的特点,可以根据需要任意裁切成各种形状。 省电节能:当显示静态图像的时候,电子纸可以完全不耗电,就是即使断开所有电源,电子纸显示器依然能够保留最后一幅画面。 比如下面这款应用了电子纸技术的智能卡,就具备了显示余额的功能。 还有这种NFC无源智能吊牌,可以通过手机NFC刷新显示内容,可以用作电子狗牌、电子行李牌,放在店里展示收款二维码,放在车上显示挪车电话啥的。 二、价签拆解 言归正传,首先来拆解这块2。13寸的电子价签,2。9寸和4。2寸方法一样。 价签背面是电池仓,可以用拆机撬棒撬开,里面是两枚CR2450锂电池并联。(不拆电池仓不影响下面的步骤) 2。13寸价签的型号为StellarM;2。9寸型号为StellarL;4。2寸型号为StellarXL。 价签正面的塑料面板是胶水固定,无法无损拆解。 用刀片以四周边缘为突破口,刀片插入部分后就能轻松撬开整个面板。 过程一定要注意安全,千万小心别割到手指,血与泪的教训! 取下盖板,就能掀开墨水屏,主板是卡在塑料外壳中的,轻轻一撬就能取下。 2。9寸4。2寸墨水屏与主板是插座连接,可以轻松取下; 2。13寸墨水屏跟主板是粘在一起的,首先刮除表面白色软胶,用180度热风枪(吹风机应该也可以的)边吹边撕,别用力,就能取下屏幕。 2。9寸4。2寸屏幕是24P的,2。13寸屏幕是34P,都是2015年产的。 最后看一下主板,左侧为墨水屏驱动电路,中间是一颗德州仪器的单片机MSP4302553,顶上有一颗兆易SOP8存储器芯片25VQ21BT,右侧是2。4G射频收发芯片A7106,负责与基站通讯。 三、墨水屏驱动基础1。墨水屏驱动原理 墨水屏内置驱动器IC,采用COG封装,IC厚度300um,根据FPC(柔性电路板)宽度的不同,分为24P和34P。墨水屏正面朝向自己,排线朝左边,从上往下分别是引脚124。24P墨水屏比较常见,一些驱动板的排座也是24P的。 2。13寸电子墨水屏的排线宽度是34P的,实际引脚数量是26个,裁剪时需要将上下两个没有连接的引脚一并减掉,就变成24P了。 电子价签里面墨水屏丝印HINKE0213A04,跟大连佳显公司(GoodDisplay)的GDEH0213B73屏幕型号一样,可以在他们的网站上查询到详细的信息,或者去资料更齐全的微雪(Waveshare)家查看更多内容。电子墨水屏通用驱动电路如下。(24P引脚定义和驱动电路原理详解放在下一篇) 单片机的话推荐使用ESP8266模块,比较常用的是12E和12F。网络上有丰富的例程,使用Arduino的开发环境,简单易上手。 ESP8266模块加上串口通讯电路和电源电路就是NodeMCU开发板,直接用杜邦线连接墨水屏驱动板就行。 墨水屏与单片机采用SPI协议通讯(原理见下一篇),墨水屏的914号引脚与单片机连接,加上3V3和GND,需要使用8p的排线将墨水屏驱动板和NodeMCU开发板连接。 其中引脚10和引脚12、13、14这四个墨水屏引脚ESP8266的连接一般是固定的,不同人写的程序里面BUSY和DC引脚与ESP8266的连接会有不同,在烧录程序的时候需要注意在源程序里面修改相关定义。 微雪家的墨水屏产品功能引脚定义如下表。 2。24P、34P、上接、下接 刚接触墨水屏时,被上接还是下接搞得比较迷糊,这里对这些概念做一个详细的解释。 24P和34P是指墨水屏FPC排线的宽度,比如2。9寸和4。2寸以及微雪自家的墨水屏是24P的,排线引脚数量也是24P;而2。13的价签墨水屏排线宽度是34P的,排线引脚数量是26个,修剪掉两旁空白部分和上下两个引脚就是24P了。24P和34P墨水屏引脚定义是一样的,驱动电路通用。 对应插排线的座子叫做FPC母座,因为FPC排线只有一面有引脚,如果FPC座子的上面跟排线接触就是FPC上接,FPC座与排线的接触面在下面的话就是FPC下接。 通常上接的FPC座子是抽拉式的,下接的座子是翻盖式的,24P还有上下面都有触点的FPC座。 一般DIY的话屏幕跟主板平放在桌面上,排线朝上与FPC座子相连,用抽拉上接的座子。 2。9寸价签里的屏幕是翻折到PCB顶部,用的是24P翻盖下接母座。 24P的墨水屏的排线比较厚,跟FPC母座连接较紧。2。13寸电子价签里的34P墨水屏是粘贴在PCB上的,排线很薄,在FPC座子里压不紧,可以用胶带增加厚度。 四、墨水屏驱动方案1。破解通讯协议,直接驱动 真正的大佬可以不用管上面的驱动电路,自己DIY一个基站,连价签外壳都不用拆,直接给墨水屏传图。 比如CSDN博主myfish3使用一块伊拉克成色的STM32开发板和A7105射频芯片在廉价的电木洞洞板上搭建了一个简单电路,在PC机运行上位机,使用串口和STM32通信,STM32使用A7105和价签的A7106通信,MSP430从A7106获取并执行命令。 技术大牛往往就是这么朴实无华。 2。下载器直接写入程序 如果你懂MSP430单片机开发的话,可以用430launchpad直接往电子价签主板上的单片机烧录程序,这个相对来说会简单一点,网上也有很多的例程。 3。原生墨水屏驱动电路板 对于普通的DIYer,使用墨水屏驱动板ESP8266更加简单易学。 第一种方案可以利用电子价签PCB板上的原有驱动电路,首先将msp430和A7106拆下,防止干扰,节约电能。 虽然板子上留有测试点,但是与墨水屏没有关系,不能直接利用。 经过测试,驱动电路的914号通讯引脚如下图所示,分别接在了430单片机的左上部分6个引脚,BS引脚要接地,方框里面有一个MOS管,原用于控制墨水屏的电源通断,拆除后把红点处的两个引脚相连即可。 用细导线将焊盘引出,与ESP8266开发板相连。 3V3和GND可以从背面的电池正负极上引线,这样无需拆下电子墨水屏,也不用单独购买驱动板,利用价签原来的驱动电路,直接就能刷入程序改写显示画面。 4。墨水屏驱动板 上面的飞线操作过于繁琐,建议买一个墨水屏驱动板,也就几块钱,用排线跟ESP8266相连也更加稳定。 5。ESP8266墨水屏驱动开发板 微雪有款墨水屏开发板,将ESP8266和墨水屏驱动电路集成到一起,省去了排线的连接,开发更方便。 但是这种成品开发板的墨水屏跟8266的引脚是固定的,比如微雪开发板的引脚定义如下,网上一些墨水屏应用程序只提供固件,没有源代码,如果引脚定义跟微雪不一样的话就不能使用了。 而且微雪开发板的FPC座是24P的,34P的2。13寸墨水屏使用时需要裁减排线,开发板的价格也比较贵,要六七十元。 五、DIY墨水屏驱动板 于是我自己画了一个ESP8266墨水屏驱动板,毕竟嘉立创的羊毛不薅白不薅,成本只要十几块钱,墨水屏引脚与8266的连接根据自己需求修改(图中是微雪定义),此外还有以下优点:采用TypeC接口;24p34pFPC座均可使用体积小巧,仅跟2。13寸墨水屏一样大;贴片元件采用0805封装,串口通讯芯片采用CH340C,TypeC和FPC焊盘加长,所有元件均在正面,方便手工焊接; 电路中有两个地方可供选择,一是BS接地(0)为默认的4线SPI,接3V3(1)为3线SPI;二是RESE电阻通过拨动开关选择,1。542。132。9寸墨水屏选择3R,2。74。2以及三色墨水屏选择0。47R。 PCB已打样验证能用,电路里面用到的电阻电容电感、三极管MOS管都可以从价签PCB上获取。16P的TypeC和0。5mm间距的FPC插座引脚密集,对于新手来说可能有些难焊,建议大量使用助焊剂。 PCB四周留有螺丝孔,可以加上锂电池。3D打印个外壳,做一个墨水屏时钟。 PCB留有8个墨水屏通讯排针接口,可以只焊接墨水屏驱动电路部分,当做独立的驱动板使用。 原理图和PCB都是基于立创EDA设计,已开源,可以自行打样。 国产的立创EDA和嘉立创免费打印真是太好用了,让我来继续安利一下。 PCB打样全免费!手把手教你在嘉立创0元下单创作立场声明:种草免费PCB打印网站嘉立创我最早接触电子电路设计是刚上大学那会,加入了一个叫做电信科协的学校社团学习51单片机,部长手把手教我们焊接最小系统板,后来焊接技术有了长进,陆续将数码管、点阵、按键、各种传感器全都焊接了上去,把一块15x10cm的洞洞板焊的满满当当。几年下来单片机编程BigBubbleGum赞15评论7收藏71查看详情六、上传自定义图片 ESP8266墨水屏驱动的硬件部分搞定后,就可以往里面上传程序,显示自定义图案,这里以2。13电子价签墨水屏为例,使用的是上面我自己做的ESP8266墨水屏驱动板。 软件部分使用的是ArduinoIDE环境,下载和安装可以看我之前的教程。1。微雪本地例程 在微雪官网下载示例程序。 进入example文件夹中,把esp8266waveshareepd文件夹整个复制到LOCALAPPDATAArduino15packagesesp8266hardwareesp82662。7。1libraries,其中2。7。1需要根据安装的ESP8266支持包版本进行相应更改。 打开IDE,选择正确的开发板和端口号。 打开文件示例NodeMCU1。0waveshareePaper,找到2。13屏幕驱动程序。 如果你是按照微雪的引脚定义设计的驱动板的话,直接编译下载,墨水屏就能显示图案了。 如果你是其他的引脚定义,需要修改下DEVConfig。h里的引脚定义。 新手估计很难一次性成功点亮墨水屏,我也翻车了好多次。下一篇中将介绍下硬件电路常见问题以及故障排除思路。 2。自定义图片上传程序 微雪的示例程序作为出厂测试用的,我精简了下,只保留了自定义图片上传功能。2。13寸墨水屏的分辨率为250x122,先用PS或者画图软件制作一张250x122像素的。bmp格式的图像。打开取模软件,扫描模式设置为垂直扫描,宽度和高度设置为250x122,取消勾选包含图像头数据,勾选颜色反转,设置为上下颠倒,点击保存为。c文件。 图传程序由很多文件组成,引脚定义在epdif。h文件里修改。 将取模软件生产的。c文件里面{}里面的内容复制到图传程序imagedata。cpp文件里gImage数组的大括号里。 编译下载,此时屏幕就能显示这张图片了。 墨水屏断电后能保持最后显示的画面,可以当做电子相册或者挪车电话牌。 拆解电子价签,获得墨水屏并成功点亮,相信没有比这更全面的新手教程了。 ESP8266电子墨水屏驱动电路原理图与PCB、取模软件与示例程序,已发布到立创开源广场。 下一篇将进一步介绍电子墨水屏驱动电路原理、DIY注意事项、故障排除,SPI通讯,驱动程序讲解等内容,敬请期待。 作者声明本文无利益相关,欢迎值友理性交流,和谐讨论