【得捷电子Follow me第2期】任务1:控制屏幕显示中文
[复制链接]
1、实验板有问题
实验板刚拿到手还挺开心的,开箱检查什么的都挺正常的如下图。
图1、开箱
但是上电出现异常,屏幕只有背光,没有显示。如下图的样子。
图2、没有显示
我本以为是固件没刷好或者测试完弄丢了,就从官网找各种恢复出厂设置的文件往里面刷。文件都能刷进去,USB口显示也都正常,就是不显示。基本判定这个屏幕有问题。然后就开始联系得捷调换货,然而得到的回复却是要等到10月份以后才有货,具体时间还不定,建议退货。
本以为无缘此次活动了,偶然的一次用手指压屏幕下边,竟然显示文字了,看来屏幕没有坏,极大可能是没焊接好。我小心的掀起屏幕,把FPC焊盘挨个从新焊接一遍,如下图。
图3、焊接屏幕FPC
然后再上电,果然正常显示了,之前刷的程序都能正常工作,如下图。
图4、屏幕能显示
没成想,焊接一下就修好了,真是了柳暗花明又一村,可以进行板卡任务了。
2、显示中文
CircuitPython本身只是能显示英文字符,不带汉字库。要想显示汉字,需要使用自定义库。通过学习CircuitPython相关文档,可以使用Bitmap字库调用自定义的汉字库来实现中文显示。
对应库为:adafruit_bitmap_font
由于PCF格式的字库运行比较快,我这直接复制了群里大佬共享的现成的字库。
CircuitPython编程序,基本上就是把各个用到的库调用明白就行了,比较简单。下面代码实现了切换字库显示两种字体,同时背光由暗转亮逐渐变化。
代码
import board
import digitalio
import time
from adafruit_display_text import label
from adafruit_bitmap_font import bitmap_font
display = board.DISPLAY
board.DISPLAY.brightness = 0.5
board.DISPLAY.rotation = 0
str_disp = "恭喜发财!"
font = bitmap_font.load_font("opposans_m_12.pcf")
color = 0xE60000
text_area = label.Label(font, text=str_disp, color=color)
text_area.x = 93
text_area.y = 62
display.show(text_area)
font_cs = 0
while True:
# Fade up the backlight
for i in range(100):
board.DISPLAY.brightness = 0.01 * i
time.sleep(0.01)
if(font_cs == 0):
font_cs = 1
font = bitmap_font.load_font("sanjiruosixingkai_m_16.pcf")
else:
font_cs = 0
font = bitmap_font.load_font("opposans_m_12.pcf")
text_area = label.Label(font, text=str_disp, color=color)
text_area.x = 88
text_area.y = 62
display.show(text_area)
运行后效果如下视频。
005
|