一起玩儿物联网人工智能小车(ESP32)——61 基于TFT_eSPI库的1.3寸SPI彩色显示屏的使用(ST7789)(三)

这篇具有很好参考价值的文章主要介绍了一起玩儿物联网人工智能小车(ESP32)——61 基于TFT_eSPI库的1.3寸SPI彩色显示屏的使用(ST7789)(三)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

摘要:本文介绍TFT_eSPI中文字库的制作方法

前面已经介绍了TFT_eSPI库的基本使用方法,如果你可以将英文显示到液晶屏幕上了,那么就可以尝试本文的制作中文字库,并显示中文到液晶屏幕了,否则还是要先完成上一篇文章的学习。

接下来就开始制作中文字库。TFT_eSPI自带了一个制作字库的基于processing软件的示例工程文件。该文件位于TFT_eSPI安装目录中的\Tools\Create_Smooth_Font\Create_font目录下面,名称为Create_font.pde。

这个pde需要使用processing软件打开,其官方网站为;https://processing.org/这是一个免费软件,点击“Download”之后,按操作系统选择相应的版本下载就可以了。如下图所示:

tft_espi 字库,基于ESP32的物联网人工智能小车,单片机,嵌入式硬件,ESP32,物联网

Windows版本的Processing不需要进行安装,下载解压缩之后,直接运行“processing.exe”文件就可以了。启动后的processing软件如下图所示:

tft_espi 字库,基于ESP32的物联网人工智能小车,单片机,嵌入式硬件,ESP32,物联网

然后单击“文件”菜单中的“打开”功能,然后选择TFT_eSPI中的Create_font.pde文件。之后找到如下这一段代码,我的文件是在文件的120行。如下图所示:

tft_espi 字库,基于ESP32的物联网人工智能小车,单片机,嵌入式硬件,ESP32,物联网

在这里需要指定生成字库文件所使用的字体文件。在这里有两种方法指定所使用的字体文件。第一种方法是,如果使用的是系统字体文件,那么按快捷键Ctrl+K之后,会打开刚才选择项目文件Create_font.pde的目录,然后在FontFiles文件夹中会有一个名称为“systemFontList.txt”的文件,文件中内容的样子如下所示:

tft_espi 字库,基于ESP32的物联网人工智能小车,单片机,嵌入式硬件,ESP32,物联网

这里列举了系统中所有的字体,每个字体名字前面有一个数字需要,找到你想使用的字体,并记住对应的序号。然后将其配置在processing项目中,给fontNumber变量赋值成该序号值就可以了。

另一种设置字体文件的办法是将字体文件拷贝到与Create_font.pde文件同级的data目录下,然后将文件名赋值给fontName,文件扩展名赋值给fontType变量就可以了。在这里要注意的就是这个文件名是区分大小写的,一定要按照原始文件的大小写来进行配置,否则会找不到字体文件。

接下来是给fontSize和displayFontSize变量赋值,分别是使用的字体大小和显示字体的大小,两者可不同,processing软件会进行相应的转换。

接下来还要配置需要转换哪些文字。因为中文文字非常多,我们也不会所有的文字都用到,因此,在单片机领域,通常只处理我们需要的文字。这样可以大大的节省存储空间。在processing中,采用Unicode编码来设置要转换的字符。在Unicode字符集中,有一些常用的字符比如拉丁字母、希腊字母等,这些字符不是很多,又比较常用可以将其包含进来,具体是通过unicodeBlocks变量来进行配置的。如下图所示:

tft_espi 字库,基于ESP32的物联网人工智能小车,单片机,嵌入式硬件,ESP32,物联网

如果要使用这些字符,就需要把相应行前面的注释符号“//”去掉就可以了。之后生成的字库里面,就有这些字符了。

中文字符由于数量太多,且不连续。因此,通常是需要逐个来指定的。在指定这些中文字符前,需要先找到这些中文字符所对应的Unicode编码。在这里可以使用在线转换工具,比如:http://www.jsons.cn/unicode/首先在上面的文本框中输入要转换的中文文字——你好!欢迎来到一起玩儿科技!。然后单击“中文 转换 Unicode”按钮,就生成这些文字的Unicode编码了,如下图所示:

tft_espi 字库,基于ESP32的物联网人工智能小车,单片机,嵌入式硬件,ESP32,物联网

在这里需要提醒的是,重复的文字不需要转换多次,例如这句话中有两个“!”,那么在转换的时候,可以去掉一个。另外就是文字的顺序是随意的,不一定按照将来输出的顺序。也就是把你将来要显示的中文语句,剔除掉重复文字之后进行转化就可以了。

转换后的字符串用\u代表是Unicode编码,但在编程中,是用0x代表十六进制数,因此对于转换后的字符串还需要再做一个替换操作,也就是将所有的“\u”替换成“,0x”,然后再去掉第一个逗号,就变成C语言的代码了,替换后的结果如下所示:

0x4f60,0x597d,0xff01,0x6b22,0x8fce,0x6765,0x5230,0x4e00,0x8d77,0x73a9,0x513f,0x79d1,0x6280,0xff01

接着,把这行代码拷贝到processing中,赋值给specificUnicodes数组,形式如下所示:

tft_espi 字库,基于ESP32的物联网人工智能小车,单片机,嵌入式硬件,ESP32,物联网

接下来单击工具栏上的运行按钮。就开始编译、生成TFT_eSPI所需要的字库文件了。如果之前的修改没有任何问题,那么运行之后,将会弹出一个对话框,该对话框显示字库中都包含哪些字符。如下所示:

tft_espi 字库,基于ESP32的物联网人工智能小车,单片机,嵌入式硬件,ESP32,物联网

同时,在你的FontFiles文件夹中也生成了包含字体信息的头文件,文件的命名为:“字体名称+字号.h”,这时,就可以把这个文件拷贝到Arduino IDE的工程文件“.ino”文件所作的目录来进行使用了。或者也可以使用Arduino IDE的“项目”菜单中的“添加文件”功能,将这个头文件引入到Arduino IDE的项目中。

最后,在使用这个中文字体库的时候,需要先用#include引入该头文件。然后在显示之前使用loadFont()方法来加载字体,显示之后再使用unloadFont()将字体从内存中剔除,以节省内存空间。这个可以参照本部分第一篇文章中的代码。

好了,这就是制作中文字库并在TFT_eSPI项目中使用的完整过程。文章来源地址https://www.toymoban.com/news/detail-832067.html

到了这里,关于一起玩儿物联网人工智能小车(ESP32)——61 基于TFT_eSPI库的1.3寸SPI彩色显示屏的使用(ST7789)(三)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一起玩儿物联网人工智能小车(ESP32)——69 使用INMP441模块采集声音

    摘要:本文介绍如何使用INMP441模块采集声音 前边介绍了第一个基于I2S通信协议的MAX98357A模块,利用该模块可以播放各种声音文件。今天来介绍如何使用INMP441模块实现声音的采集功能,也就是如何将声音转变成数字信号。 INMP441是一款高性能,低功耗,数字输出的全向MEMS(微

    2024年03月15日
    浏览(57)
  • 一起玩儿物联网人工智能小车(ESP32)——63 SD和TF卡模块的使用

    摘要:本文介绍SD和TF卡模块的使用方法 前面介绍了非易失性存储的使用方法,由于空间和本身只支持键值对的限制,非易失性存储只适用于少量数据的记录。而不适用于各种声音、图片、大量数据等情况的使用。这时候就需要有文件系统或者更大容量存储空间的支持。SD卡(

    2024年02月22日
    浏览(44)
  • 一起玩儿物联网人工智能小车(ESP32)——71 姿态传感器MPU6050的使用方法

    摘要:本文介绍姿态传感器MPU6050的使用方法 姿态传感器是一种用于测量物体姿态的传感器,它可以检测物体的加速度和角速度,并计算出物体的方向和角度。前边介绍的RPI-1031只能定性的得到物体的倾斜情况,而姿态传感器则可以定量的得到物体倾斜的方向和角度。 MPU6050是

    2024年04月28日
    浏览(33)
  • 一起玩儿物联网人工智能小车(ESP32)——12. 组装L298N驱动马达和供电电路

    摘要:本文介绍L298N模块与TT马达以及电源模块的接线方法,并进行初始测试。 在前面完成了第一个ESP32程序。接下来要继续组装我们的智能物联网小车了。今天要完成的工作就是完成智能小车电机驱动和ESP32开发板的控制电路连接。在具体的动手之前,先要进行一些准备工作

    2024年02月02日
    浏览(33)
  • 一起玩儿物联网人工智能小车(ESP32)——59. 基于TFT_eSPI库的1.3寸SPI彩色显示屏的使用(ST7789)

    摘要:本文是TFT液晶屏的基本知识和TFT_eSPI库的简单介绍 在前边已经介绍过0.96寸OLED显示屏的使用方法,那是一个单色屏,显示效果很是一般,因此,本篇来介绍彩色TFT(Thin Film Transistor:薄膜晶体管)显示屏的使用方法。 TFT屏幕和OLED屏幕是两种不同的显示器件。TFT屏幕和

    2024年02月21日
    浏览(35)
  • 一起玩儿物联网人工智能小车(ESP32)——61 基于TFT_eSPI库的1.3寸SPI彩色显示屏的使用(ST7789)(三)

    摘要:本文介绍TFT_eSPI中文字库的制作方法 前面已经介绍了TFT_eSPI库的基本使用方法,如果你可以将英文显示到液晶屏幕上了,那么就可以尝试本文的制作中文字库,并显示中文到液晶屏幕了,否则还是要先完成上一篇文章的学习。 接下来就开始制作中文字库。TFT_eSPI自带了

    2024年02月21日
    浏览(39)
  • 一起玩儿物联网人工智能小车(ESP32)——41. 直流有刷电机驱动模块——L9110S、TB6612FNG和DRV8833简介

    摘要:本文介绍如何使用直流有刷电机驱动模块——L9110S、TB6612FNG和DRV8833 在前边很详细的介绍了直流有刷电机驱动模块L298N,该模块性能良好,输出功率大。但体积也是偏大,本篇文章介绍一下市场上另外几个常见的小型直流有刷电机驱动模块L9110S、TB6612FNG和DRV8833的使用方

    2024年02月21日
    浏览(34)
  • 一起玩儿物联网人工智能小车——04. TT马达的基本介绍

    马达和电机在英语中是两个词,但在我们汉语中感觉差别不大,大概是电机专指电能转与机械能的相互转换的装置,而马达可能包含其他形式的能量与机械能的转换装置。在本文中马达就是特指将电能转化为机械能的电动机。 日常使用的电动机在作用上通常可以分为两种,一

    2024年02月20日
    浏览(40)
  • 物联网毕设 -- 智能图像小车(ESP32+STM32+APP)

    目录 前言  小车拓展 一 连线图 1. 原理图 2. 流程图 3. 实物效果 4. 功能概括 (1)硬件端: (2)APP端: 演示视频 二 底层代码使用方式 1. 使用说明 2. 下载程序 三 APP使用方式 1.下载APP (1)操作方式: (2)使用说明 2. APP界面 🫡若需要,请咨询博主🫡 这个项目的硬件端是

    2024年02月15日
    浏览(35)
  • 走进人工智能| 智能物联网 AIoT的魅力交织

    前言: AI+IoT是指人工智能(AI)与物联网(IoT)的结合。智能物联网是一种技术体系,通过连接和集成物理设备、传感器和互联网,实现设备之间的智能交互和数据共享,为人们提供智能化、自动化和高效化的生活和工作体验。 智能物联网 (Internet of Things,IoT)是指 通过物

    2024年02月14日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包