712|0

143

帖子

4

TA的资源

一粒金砂(高级)

楼主
 

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

  本帖最后由 Tristan_C 于 2023-8-29 22:24 编辑

经过开发环境的硬件和软件的搭建,发现Circuit Python的开发还是非常方便的,有比较友好的开发语言,友好的开发工具,以及友好且非常好用的各种外设库。

Flow me第二期的第一个任务是控制屏幕显示中文,也就是完成屏幕的控制,并且能显示中文。

在开始进行任务之前,需要从下面链接下载对应版本的库

https://circuitpython.org/libraries

本次使用的是8.X版本的,因此下载该版本的Bundle即可。

在Bundle中查找,可以找到屏幕显示相关的3各demo,前后两个为最基础的功能demo,均可参考。

以display_text_simpletest.py为例,其代码内容为

 

# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries

# SPDX-License-Identifier: MIT

import board

import terminalio

from adafruit_display_text import bitmap_label

text = "Hello world"

text_area = bitmap_label.Label(terminalio.FONT, text=text)

text_area.x = 10

text_area.y = 10

board.DISPLAY.show(text_area)

while True:

    pass

将其拷贝到代码Mu Edit中,保存,显示屏可显示Hello World

进一步发现,如果要显示中文,需要合适的中文字库,参考网络资料以及前辈们的参考设计,发现如下字库可以使用:

链接已隐藏,如需查看请登录或者注册

将其下载,并拷贝wenquanyi_9pt.pcf到CIRCUITPY磁盘中

另外,还需要拷贝如下的两个库到lib文件中。

接下来就是更改代码,首先是添加两个库

然后进行变量的初始化,并启动显示

接下去在主循环中,每2秒更新显示内容

循环显示效果如下:

完整代码:


import board
import digitalio
import time
import displayio

from adafruit_display_text import label
from adafruit_bitmap_font  import bitmap_font

led = digitalio.DigitalInOut(board.LED)
led.direction = digitalio.Direction.OUTPUT

print("Hello CuicuitPython")


display = board.DISPLAY
board.DISPLAY.brightness = 0.5
board.DISPLAY.rotation = 0

str_disp_0 = "欢迎参加Flow Me\n这是第二期"
str_disp_1 = "这是任务1:\n控制屏幕显示中文"
str_disp_2 = "看到中文表示任务完成"
str_disp_3 = "重新开始显示……"


font = bitmap_font.load_font("lib\wenquanyi_9pt.pcf")
color = 0xFFFFFF
text_change = 0


text_group = displayio.Group()
text_area = label.Label(font, text=str_disp_0, color=color)
text_area.x = 2
text_area.y = 10

#启动屏幕显示
text_group.append(text_area)
display.show(text_group)

while True:
    if(led.value == True):
        led.value = False
    else:
        led.value = True

    time.sleep(2)

    text_change += 1

    if (text_change==1):
        text_area.text=str_disp_1
    elif (text_change==2):
        text_area.text=str_disp_2
    elif (text_change==3):
        text_area.text=str_disp_3
        text_change = 0

 

点赞 关注
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表