前言
LCD液晶显示屏是非常常见的一个外接显示设备,我们看到的手持设备、小型电器,很多都用到LCD,部分配合触摸屏应用,能实现非常多的功能。 除此之外,LCD还是CanMV K230机器视觉应用中显示的重要工具。
实验目的
通过MicorPython编程了解LCD的使用方法。
实验讲解
我们先来看看实验所使用LCD的参数介绍:
产品参数
产品参数 | |
---|---|
分辨率 | 800 x 480(Pixel) |
接口 | MIPI 2lane |
显示驱动IC | ST7701S |
触摸面板 | FT53xx(电容触摸) |
工作温度 | -20℃ ~ 70℃ |
在官网在线教程中我们学习了摄像头sensor模块应用,通过摄像头实时采集到的是图片image, 没错,本节实验就是建立在非常重要的image模块上面。CanMV已经将图片处理(包含画图)封装成各类模块,我们只需要熟悉其在K230上显示图片得构造函数和使用方法即可,具体如下:
image对象
构造函数
img=image.Image(path[, copy_to_fb=False])
copy_to_fb
: 加载大图片。True
: 可以加载大图片。False
: 不可以加载大图片。
例:img = image.Image(“01Studio.bmp”, copy_to_fb=True) #表示加载根目录下的01Studio.bmp图片。
to_rgb888()
转换图像格式为RGB888,返回一个新图像对象。 除原生支持格式外,额外添加RGB888
格式支持,其它格式不支持。
例:img =img1.to_rgb888()
CanMV K230官方文档
更多用法请阅读:
熟悉了image对象的构造函数之后,我们尝试将图片显示出在LCD具体编程思路如下:
导入sensor,lcd相关模块
1.初始化和配置模块
2.读取图片
3.转换图像格式为RGB888
4.显示图片
参考代码
'''
实验名称:画图
实验平台:01Studio CanMV K230
说明:画各种图形和写字符, 通过IDE和LCD显示。
'''
import time, os, sys
from media.sensor import * #导入sensor模块,使用摄像头相关接口
from media.display import * #导入display模块,使用display相关接口
from media.media import * #导入media模块,使用meida相关接口
try:
Display.init(Display.ST7701,to_ide=True) #通过01Studio 3.5寸mipi显示屏显示图像
MediaManager.init() #初始化media资源管理器
img =image.Image("sdcard/01Studio/supper.jpg").to_rgb888()
while True:
Display.show_image(img)
###################
# IDE中断释放资源代码
###################
except KeyboardInterrupt as e:
print("user stop: ", e)
except BaseException as e:
print(f"Exception {e}")
finally:
Display.deinit()
os.exitpoint(os.EXITPOINT_ENABLE_SLEEP)
time.sleep_ms(100)
MediaManager.deinit()
实验结果
在CanMV IDE中打开LCD显示图片例程:main.py,点击运行。可以看到在在LCD中显示了图片
源码和图片素材如下:
K230_LCD显示图片.zip (378.4 KB)