643|0

6

帖子

2

TA的资源

一粒金砂(中级)

楼主
 

【得捷电子Follow me第2期】任务一:显示中文 [复制链接]

 

任务一:控制屏幕显示中文

在这个任务中,我使用了board库、time库、digitalio库、adafruit_display_text库、adafruit_bitmap_font库。

import board
import time
import digitalio
from adafruit_display_text import label
from adafruit_bitmap_font import bitmap_font

board库主要是用来将字体显示在屏幕上;

time库主要是用来及时,与digitalio库配合实现led灯的闪烁效果;

adafruit_display_text库与adafruit_bitmap_font库是用来显示汉字使用的库。

 

首先设置一下要显示的字体与其颜色,也可以设置一下背景颜色。把要修改的参数写到程序开头的好处是方便修改。

# 设置显示的颜色
color = 0x0000ff
# 设置要显示的汉字
text = "一二三"
# 设置背景的颜色,非必须,如果不需要可以注释掉,则为透明
background_color = 0xffffff

颜色这里,是采用的RGB十六进制,其是一种用于表示红、绿、蓝(RGB)三种颜色的混合程度的编码方式。其中每两个字符代表一个颜色,00为最暗,ff为最亮。比如我设置的color=0x0000ff,表示红色、绿色最暗,蓝色最亮。也即纯蓝色。background_color = 0xffffff,红色、绿色、蓝色都最亮,也即白色,所以显示出来的效果就是蓝色的字,白色的底,如下图所示。

因为我使用的字库中的字符有限,就输出“一二三”吧

 

当然,程序还没有写完,还需要使得屏幕初始化,以及设置汉字的字体、颜色和位置

# 初始化屏幕
display = board.DISPLAY
# 设置汉字的字体、颜色、位置
type = bitmap_font.load_font("/font/sytq_16.pcf")
character = label.Label(type, text=text, color=color,scale=3, background_color=background_color)
character.x = 30
character.y = 50

注意了,需要自己将在esp32的根目录下面创建一个type文件夹,表示用来存放字体,把自己想要使用的字体存放进去,这样程序才可以正常运行。

在第五行中,type设置了字体的格式,text设置了要显示的汉字,color设置了汉字的颜色,background_color设置了背景色,也就是一开始在代码中写的内容,因为我设置的字体有点小,所以设置scale=3,也即字体放大3倍。

在第六、七行中,设置了汉字的位置,这个根据心情调到自己喜欢的位置即可。

 

然后通过下面一行代码就可以将自己想要显示的汉字显示出来啦!

# 显示汉字
display.show(character)

 

为了表示esp32正在运行,没有处于卡死的状态,我还设置了闪烁的led,首先要创建一个led对象,方便控制

# 创建LED对象
led = digitalio.DigitalInOut(board.LED)
led.direction = digitalio.Direction.OUTPUT

 

然后写一个死循环,让led不断闪烁!

# 死循环,控制led的闪烁
while True:
    led.value = True
    time.sleep(0.5)
    led.value = False
    time.sleep(0.5)

到此,显示汉字就做完了

点赞 关注
 
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表