ESP32 MicroPython LCD显示实验⑤

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秒循环显示两张图片。
在这里插入图片描述
在这里插入图片描述
相关代码及固件:
https://download.csdn.net/download/lu330274924/88549191

智能小车购买链接
技术支持抖音:易驱达Easy Drive Coming
淘宝官方商城:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-18887194911.15.135014bdaKI6mV&id=715385110550

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

物联网程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值