一直以来一直想让不论是OLED还是墨水屏显示任意汉字,但都没能成功,主要原因是显示任意汉字就需要字库,但MCU容量有限,放不下全字符汉字库,加装汉字芯片或增加Falsh都需要硬件,还要接线挺麻烦的,最后在网友的帮助下找到一个较小的库,终于实现汉字显示,经测试虽不能说可显示任意汉字,但大多数汉字是没有问题的,MCU使用esp8266内存4M相对大一点,arduino代码也比较简单,供大家参考。
eps8288与2.13inch e-paper 接线,(BUSY-D0、RES-D1\DC-D2\CS-D8\CLK-D5\DIM-D7\GND-G\Vcc-3.3)

//#include <GxEPD2_3C.h> // 三色屏幕选择
#include <GxEPD2_BW.h> //黑白双色屏幕选择
#include <U8g2_for_Adafruit_GFX.h>//需要安装修改版U8g2_for_Adafruit_GFX-02库  和  U8g2_wqy_Arduino-0.0.1库
#include "GxEPD2_display_selection_new_style.h"
U8G2_FOR_ADAFRUIT_GFX u8g2Fonts;
GxEPD2_BW<GxEPD2_420, GxEPD2_420::HEIGHT> display(GxEPD2_420(/*CS=D8*/ SS, /*DC=D3*/ 4, /*RST=D4*/ 2, /*BUSY=D2*/ 5)); // 4.2黑白  GDEW042T2   400x300, UC8176 (IL0398)void setup()
{display.init(115200);display.setRotation(2);//设置屏幕旋转1和3是横向  0和2是纵向u8g2Fonts.begin(display);                        // 将u8g2过程连接到Adafruit GFX//u8g2Fonts.setFontMode(1);                        // 使用u8g2透明模式(这是默认设置)u8g2Fonts.setFontDirection(0);u8g2Fonts.setForegroundColor(GxEPD_BLACK); //GxEPD_RED  // 设置前景色u8g2Fonts.setBackgroundColor(GxEPD_WHITE); //GxEPD_WHITE  // 设置背景色display.fillScreen(GxEPD_WHITE); //全屏幕填白色u8g2Fonts.setFont(u8g2_font_wqy16_t_gb2312a); // select u8g2 font from here: https://github.com/olikraus/u8g2/wiki/fntlistall//Serial.println("setfont");//多余
}void loop() {int index1 = 0;char *str = "望庐山瀑布";char *str2 = "日照香炉生紫烟, 遥看瀑布挂前川。";char *str3 = "飞流直下三千尺, 疑是银河落九天。";int16_t tbw = u8g2Fonts.getUTF8Width(str);int16_t tbw2 = u8g2Fonts.getUTF8Width(str2);int16_t tbw3 = u8g2Fonts.getUTF8Width(str3);uint16_t x = ((display.width() - tbw) / 2);   //使句子居中uint16_t x2 = ((display.width() - tbw2) / 2);uint16_t x3 = ((display.width() - tbw3) / 2);display.setFullWindow();//设置全局刷新//      display.fillScreen(GxEPD_BLACK);display.nextPage();//设置全屏填充颜色,并刷新display.fillScreen(GxEPD_WHITE);//display.nextPage();  // Serial.println("first");//多余u8g2Fonts.drawUTF8(x, 20, str);u8g2Fonts.drawUTF8(x2, 40, str2);u8g2Fonts.drawUTF8(x3, 65, str3);u8g2Fonts.drawUTF8(x4, 90, str4);display.nextPage();do {display.setPartialWindow(0,100,396,100);//局刷区域,参数分别为:X起始,Y起始,X长度,Y高度display.firstPage();index1 ++;if(index1 % 2 == 0){u8g2Fonts.drawUTF8(20, 115, str2);//日照}else{u8g2Fonts.drawUTF8(20, 115, str3);//飞流u8g2Fonts.drawUTF8(20, 135, "    唐朝  李白");}display.nextPage();delay(500);   //显示停留的时间if(index1 == 9)//这里可以换成别的判断条件{index1=0;        break; //退出while语句}    }while(1);};

使用ESP8266让4.2inch e-paper墨水屏显示更多汉字相关推荐

  1. GT30L32S4W中文字库芯片+墨水屏显示调好程序分享

    这公司叫高通,但新版规格书不带地址运算,带地址运算规格书下载GT30L32S4W规格书,带地址运算 芯片管脚配置: 基础驱动及读取代码: /****************************** ...

  2. 使用ESP8266驱动微雪e-paer2.13墨水屏

    使用ESP8266驱动微雪e-paer墨水屏 前些时候使用Arduino nona小板子,成功驱动了微雪e-paer2.13墨水屏,但由于Arduino nona小板子内存小.主频低,虽然可以显示,但 ...

  3. 使用micropython(ESP8266、ESP32)驱动SES 2.66寸墨水屏显示中文

    由于需要做一些低功耗的东西,所以最近在尝试玩墨水屏.出于成本考虑(没钱的另一种委婉说法)从咸鱼淘到2块便宜的二手SES 2.66寸三色墨水屏,并使用micropython将其驱动起来,并用字库的方法显 ...

  4. 【硬件】墨水屏显示改造方案

    一直很喜欢墨水屏,它通过模拟纸质反射自然光的原理实现不伤眼的显示效果,但它的一大致命缺点是切换时慢. 这里和 那里 介绍了电子墨水的工作原理,可以看到正是因为这些粒子上下移动需要时间导致屏幕刷新率非常 ...

  5. 树莓派 java 驱动 微雪 墨水屏 epaper

    树莓派 java 驱动 微雪 墨水屏 epaper B站视频指导 驱动结果显示 官方驱动测试 接线 初步测试 java驱动(仅二值图片展示,非灰阶部分) 引脚初始化 初始化墨水屏 点阵排列 显示方法 ...

  6. 墨水屏可视化超高频电子标签技术优势与应用解决方案

    随着全球智能制造进度的推进以及物流智能化管理水平的升级,行业亟需一种既能实现RFID批量读取.又能替代纸质标签在循环作业.供应链管理以及实现动态条码标签显示的产品.在此种行业需求背景下,基于墨水屏显示 ...

  7. 树莓派:4.2寸墨水屏

    两个月前财务部有一兄弟知道我在玩树莓派,说想要做一个带天气预报的台历,并给了一个大神的链接.无奈大神的技术栈跟我不是一个方向,研究了一把最后也没彻底搞定,所以决定先按我的思路重新做一次.这次倒是几乎要 ...

  8. esp8266时钟_ESP8266(Non-OS SDK) 驱动 waveshare 2.9 寸墨水屏(二)- 程序移植、修改与测试

    开始移植 上一篇文章简单介绍了了墨水屏原理.例程代码以及移植工作的可行性.这一步的目的是把前面在 STM32 跑的程序,完整地搬到 esp8266 上,达到相同的运行显示效果,Let's get st ...

  9. 网红模块ESP8266与墨水屏e-Paper 的结合,实现网络刷新内容。

    话不多说先上图欣赏一下.由一个ESP8266搭建的驱动模块+一块黑白黄三色墨水屏. ESP8266拥有超低功耗的性能,可以说是移动设备和可穿戴电子产品的优先考虑的通讯模块之一. 和墨水屏的低功耗特性好 ...

最新文章

  1. oracle中asm磁盘不足,Oracle用户无法访问ASM磁盘组问题
  2. c# 水晶报表中处理TextObject
  3. 为什么我的elec352稍微有点崩
  4. Silverlight - Validation 客户端同步数据验证
  5. PyTorch更新了:支持Windows,新增零维张量
  6. TypeScript学习(五):数组的定义方式及常见数组操作方法使用
  7. 在Visual Studio 2008中安装mvc2.0(转)
  8. 信息差怎么赚钱?这个小众项目完全0门槛
  9. windows开启nfs_win7专业版怎么开启nfs_win7专业版启用nfs步骤
  10. 基于JAVA环巢湖区域旅游网站计算机毕业设计源码+数据库+lw文档+系统+部署
  11. 计算机科学与技术专业教学计划表
  12. 核芯显卡和集成显卡、独立显卡的区别是什么
  13. In-class Initialization
  14. cmake最新版下载和使用
  15. The way to Go 要点知识
  16. 粘性定位之 position:sticky
  17. 新电脑win10 改win7 要注意
  18. 网卡中的Ring buffer -- 解决 rx_resource_errors 丢包
  19. 数字经济发展势头强劲
  20. 道路模型--linear-parabolic model

热门文章

  1. 谷歌地球,一款强大而无法替代的虚拟地球软件
  2. docker学习——bind mounts
  3. 基于均值调整的自适应局部伽玛校正 Cython
  4. 第二章(第三部分) 出发之前
  5. web自动化笔记九:验证码的处理方式
  6. 一款产品经理值得拥有的团队协作神器—飞项
  7. 团队协作三、OnlyOffice 实现文件在线预览和编辑
  8. java 包 重名,Java-java 包重名的问题如何解决?
  9. C++实现二维快速傅里叶变换(FFT)
  10. 玩转Bootstrap(JS插件篇)