【得捷电子Follow me第2期】任务1:控制屏幕显示中文
[复制链接]
本帖最后由 ltand 于 2023-11-14 23:59 编辑
【得捷电子Follow me第2期】任务1:控制屏幕显示中文
本次任务控制板子自带的屏幕显示的中文,所以需要加载字体文件,我这里还加载背景图和使用显示光敏感应器
下边读取光敏感应器的值和海内存知己,天涯若比邻的文字效果图
使用这个感应器
连线方式
1.导入必要库adafruit_display_text ,adafruit_bitmap_font
2.放入背景图和压缩的处理后字体文件,使用软件https://ecomfe.github.io/fontmin/#source, 然后用ubuntu的otf2bdf工具处理成字体点阵,https://adafruit.github.io/web-bdftopcf/这里还能再转pcf格式提高性能
3.然后代码里填写图片和字体文件路径
4.设置好文字和读取到的光敏值显示的x,y轴
import board
import displayio
import adafruit_imageload
from adafruit_display_text import label
from adafruit_bitmap_font import bitmap_font
import time
import analogio
def run():
display = board.DISPLAY
group = displayio.Group()
# 加载图片
image, palette = adafruit_imageload.load("/image/bg.png")
palette.make_transparent(0)
grid = displayio.TileGrid(image, pixel_shader=palette)
group.append(grid)
# 显示当前图像组
display.show(group)
# 加载字体并定义字体颜色
font = bitmap_font.load_font("/font/SIMLI_16.pcf")
# 白色
color = 0xFFFFFF
# 初始化文本标签
text_label = label.Label(font, text="海内存知己,天涯若比邻", color=color)
text_label.x = 0
text_label.y = 60
group.append(text_label)
# 初始化光敏传感器
abc = analogio.AnalogIn(board.A0)
abc_label = label.Label(font, text=f"abc: {abc.value}", color=color)
abc_label.x = 20
abc_label.y = 100
group.append(abc_label)
# 显示修改后的图像组
display.show(group)
while True:
# 等待一段时间,避免刷新过快导致占用过多资源
time.sleep(1)
|