合宙ESP32C3使用TFT_eSPI库操作ST7735s屏幕 (中)-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1812|回复: 2

合宙ESP32C3使用TFT_eSPI库操作ST7735s屏幕 (中)

[复制链接]
发表于 2022-5-20 16:08 | 显示全部楼层 |阅读模式
本帖最后由 topdog 于 2022-5-23 08:37 编辑

TFT_eSPI库里面含有自备字库的制作工具,数字、英文大小写和中文字体采用Unicode编码的方法。
一、首先要确定项目中自己常用的中文字和符号。
二、使用在线工具把中文字转化为Unicode 编码

Cc.gif

三、使用Notepad++处理Unicode编码

Notepad++打开已经转化好的Unicode编码表单,把 \u 全部替换成 ,0x ,在编辑栏中选择全选,在搜索栏中选择替换,在查找框中填入\u  在替换框填入,0x  然后按全部替换。

Cd.gif

四,使用Create_Smooth_Font把常用字转化成*.vlw文件

(1)Create_Smooth_Font工具在 \Arduino\libraries\TFT_eSPI\Tools\ 文件夹里面;
(2)下载字体文件(TrueType 字体文件 (.ttf))到 Create_Smooth_Font\Create_font\data  文件夹里面;
(3) 把字体文件 (.ttf)的名称改为英文;
(4)下载安装processing
(5)使用processing打开 \Create_Smooth_Font\Create_font 文件夹里面的 Create_font ;
(6)修改Create_font文件;
         1,第18行 String fontName = "***" , ***换成第(3)步骤的英文名称;
         2,第25、28行修改字体的大小,建议修改成24;
         3,第35至39行填入库自带的数字、英文大小写unicode编码块;
         4,第42至44行填入第三步骤转化好的unicode编码表单。   

tft中文.PNG



(7)点击运行之后,成功以后会有图文框跳出,字库里含有的数字,大小写英文字母和中文都会汇总显示出来。在 \Create_Smooth_Font\Create_font\FontFiles 文件夹里面会出现*.vlw文件;

esp32c3中文.PNG

(8)借助网站把*.vlw转换成十六进制代码。
      1,在File点选 选择文件 按钮,至PC机 \Create_Smooth_Font\Create_font\FontFiles 文件夹里面的*.vlw文件;
      2,点击 copy output to clipboard 按钮复制;

tft中文1.PNG

  3, 黏贴到*.ino文件的自定义字库的*.h标签中。

     A、设置标签
Ce.gif

B、黏贴上述第(8)2步骤到花括号里面,注意最后的字符末尾要,花括号后面;千万不要忘记,否则不编译。

Cf.gif

示例代码如下:

[pre]#include "FONTKAIT24.h"

#include <SPI.h>
#include <TFT_eSPI.h>

TFT_eSPI tft = TFT_eSPI();

void setup(void) {
  Serial.begin(250000);
  tft.begin();
  tft.setRotation(1);
}

void loop() {
  tft.fillScreen(TFT_BLACK);
  tft.loadFont(FONTKAITI24);
  tft.setTextColor(TFT_WHITE, TFT_BLACK);
  tft.setCursor(0, 0);
  tft.setTextColor(TFT_YELLOW, TFT_BLACK);
  tft.print("上海浦东天气: ");
  tft.println();
  tft.print("温度: ");
  tft.println(); //
  tft.print("湿度: ");
  tft.unloadFont();
  delay(5000);
}[/pre]


最终效果:


Cn.gif
 楼主| 发表于 2022-6-21 00:00 | 显示全部楼层
tmld570707 发表于 2022-6-20 08:27
好!!!!!!!!!!!!!!!!!!!!!!

谢谢关注,一起学习一起进步。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-9-20 07:52 , Processed in 0.074140 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表