ESP32 MicroPython LCD显示实验⑤
- 1、实验目的
- 2、实验平台
- 3、实验内容
- 4、参考代码
- 5、实验结果
1、实验目的
LCD显示屏显示中英文字符、显示图片
2、实验平台
智能小车(配备显示屏)
3、实验内容
小车配有2.0寸的TFT彩屏,内置有中文GBK字库,可以显示中英文、符号、图片(jpg或者bmp格式)以及自定义的几何图形。
本次实验在LCD显示屏上显示文字字符后,循环3秒显示两张图片。
构造函数:
lcd=lcd.LCD20(dir)
创建lcd控制对象,返回lcd对象 dir:配置显示屏显示方向
1 - 竖屏240 * 320
2 - 横屏320 *240,在1的基础上顺时针旋转90度
3 - 竖屏240 * 320,在2的基础上顺时针旋转90度
4 - 横屏320 *240,在3的基础上顺时针旋转90度
lcd.dPoint(x,y,color)
在屏幕上画点
x:横坐标
y:纵坐标
color:点的颜色,RGB颜色数据,如绿色lcd.dPoint(0,0,(0,255,0) )
lcd.dLine(x0,y0,x1,y1,color)
在屏幕上画一条线段
x0:起始横坐标
y0:起始纵坐标
x1:结束横坐标
y1:结束纵坐标
color:线段的颜色,如绿色(0,255,0)
lcd.dRect(x,y,width,height,color,border,fillcolor)
在屏幕上画矩形
x:起始横坐标
y:起始纵坐标
width:宽度
height:高度
color:矩形的颜色
border:矩形边框填充宽度
fillcolor:矩形边框填充颜色
lcd.dCircle(x,y,radius,color,border,fillcolor)
在屏幕上画一个圆
x:起始横坐标
y:起始纵坐标
radius:圆的半径
color:圆的颜色
border:圆边框填充宽度
fillcolor:圆边框填充颜色
lcd.write_buf(buf,x,y,width,height)
在屏幕指定位置填充缓存数据
buf:要填充的缓存数据
x:起始横坐标
y:起始纵坐标
width:宽度
height:高度
lcd.dText(text,x,y,color,backcolor,size)
在屏幕显示文本
text:要显示的文本
x:起始横坐标
y:起始纵坐标
color:字体的颜色
backcolor:字体的背景颜色
size:字体大小,1-小号字体,2-中号字体,3-大号字体
lcd.dPicture(x,y,file)
在屏幕显示图片
x:起始横坐标
y:起始纵坐标
file:图片的路径(保存在内部路径)
实验需要显示图片,所以我们需要把图片资源上传到小车内部文件系统。连接小车到Thonny软件后,在文件窗口找到小车的资料包切换到“智能小车mpy例程\基础实验\05-LCD显示屏”目录下,可以看到有一个pic目录,里面已经保存有两张jpg图片,我们需要把这个文件夹上传到MicroPython设备里面。右键文件夹”pic”选择 ”上传到/”稍等片刻即可看到MicroPython设备下面已经保存有pic目录,到此pic图片资源已经保存好。
4、参考代码
参考代码路径:“智能小车mpy例程\基础实验\05-LCD显示屏”下的main.py 和pic文件夹
'''
LCD显示屏实验
实验目的:使用基本显示功能
'''
from machine import Pin,Timer #导入Pin引脚和Time定时器模块
from lcd import LCD20 #导入2.0寸LCD模块
import time
#颜色值定义,(R,G,B) 0~255代表颜色值
red = (255,0,0) #红色
green = (0,255,0) #绿色
blue = (0,0,255) #蓝色
white = (255,255,255) #白色
back = (0,0,0) #黑色
#构建显示屏对象,并返回对象句柄ld
ld=LCD20(dir=1) #创建LCD对象 dir 显示方向为竖屏,1、3竖屏,2、4横盘
ld.fill(back) # 整屏填充指定颜色
#绘制圆
#ld.dCircle(x=50,y=50,radius=10,color=green,border=2,fillcolor=back)
ld.dCircle(120,90,80,color=green,border=2)
#绘制矩形
#dRect(x,y,width,height,color,border,fillcolor)
ld.dRect(39,9,161,160,blue,border=3)
#绘点
ld.dPoint(120,90,white)
#绘制线段
ld.dLine(20,5,200,200,red)
'''
显示字体 支持显示中英文,目前只支持3中大小字体 16x16,24x24,32x32
ld.dText(text,x,y,color,backcolor,size)
字体大小选择 size:1-表示16x16,2-表示24x24,3-表示32x32
'''
ld.dText("hello 123 易驱达科技",10,190,color=white,size=1)
ld.dText("hello 123 易驱达科技",10,210,color=green,size=2)
ld.dText("Ab1 易驱达科技",10,240,color=red,size=3)
time.sleep(3) #延时等待
'''
显示图片
'''
while True: #循环显示
#显示图片1.jpeg 存放在flash中pic文件夹目录下
ld.dPicture(0,0,"/pic/1.jpeg")
time.sleep(3)
ld.dPicture(0,0,"/pic/2.jpeg")
time.sleep(3)
5、实验结果
编写好代码后,运行软件可观察到显示屏显示画点、画线、画矩形、和画圆。显示中文字符、英文字符后,开始每隔3秒循环显示两张图片。
智能小车购买链接
技术支持抖音:易驱达Easy Drive Coming
淘宝官方商城:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-18887194911.15.135014bdaKI6mV&id=715385110550