【雕爷学编程】MicroPython动手做(05)——零基础学MaixPy之LCD液晶屏2


配套 2.4寸LCD屏 ST7789驱动器芯片(24P 320X240)

ST7789驱动器芯片2.4寸LCD屏(24P 320X240)

主要参数

模块名称:液晶显示模块

型号:KD024C-4

同类型型号:

兼容型号:

显示模式:TFT

显示色彩:65/262K

分辨率: 240320
点距:0.153 (H) x 0.153 (V)
视角:12:00
控制IC:ST7789V
显示类型:全透型,常白
外形尺寸:42.7260.262.6mm
可视面积:38.32
50.56 mm

点阵区面积:36.72*48.96mm

亮度:300cd/m2

对比度:500

接口类型: 8/9/16/18位8080并口

16/18位RGB接口

3/4线SPI接口

引脚数:24

引脚距离:0.5mm

连接类型: FPC插接型

工作电压:3.3V

背光灯颜色及类型: 白色LED背光

背光电路:4 LED 并联, 共阳

If=80mA, Vf =3.2V

使用寿命:100000h

工作温度:-20----70°C

储存温度:-30----80°C

质量体系认证:ISO9001:2008

产品认证:RoHS

#MicroPython动手做(05)------零基础学MaixPy之LCD液晶屏

#测试程序之一:显示英文

python 复制代码
#MicroPython动手做(05)------零基础学MaixPy之LCD液晶屏
#测试程序之一:显示英文

import lcd

lcd.init()
lcd.draw_string(100, 100, "hello MicroPython!", lcd.RED, lcd.BLACK)

lcd 屏幕显示驱动

lcd.display(image, roi=Auto)

在液晶屏上显示一张 image(GRAYSCALE或RGB565)。

roi 是一个感兴趣区域的矩形元组(x, y, w, h)。若未指定,即为图像矩形

若 roi 宽度小于lcd宽度,则用垂直的黑色边框使 roi 居于屏幕中心(即用黑色填充未占用区域)。

若 roi 宽度大于lcd宽度,则 roi 居于屏幕中心,且不匹配像素不会显示(即液晶屏以窗口形态显示 roi 的中心)。

若 roi 高度小于lcd高度,则用垂直的黑色边框使 roi 居于屏幕中心(即用黑色填充未占用区域)。

若 roi 高度大于lcd高度,则 roi 居于屏幕中心,且不匹配像素不会显示(即液晶屏以窗口形态显示 roi 的中心)。

roi 是键值参数,必须在函数调用中通过写入 roi= 来显式地调用。

#MicroPython动手做(05)------零基础学MaixPy之LCD液晶屏

#测试程序之二:LCD屏显示"hello maixpy"

python 复制代码
#MicroPython动手做(05)------零基础学MaixPy之LCD液晶屏
#测试程序之二:LCD屏显示"hello maixpy"


import lcd, time
import image

bg = (236,36,36)
lcd.init(freq=15000000)
lcd.direction(lcd.YX_RLDU)
lcd.clear(lcd.RED)
time.sleep(1)
lcd.draw_string(120, 120, "hello maixpy", lcd.WHITE, lcd.RED)
time.sleep(2)


img = image.Image()
img.draw_string(60, 100, "hello maixpy", scale=2)
img.draw_rectangle((120,120,30,30))
lcd.display(img)

串口输出 >>> {"w":320, "h":240, "type"="rgb565", "size":153600}

{"w":320, "h":240, "type"="rgb565", "size":153600}

MicroPython v0.5.0-31-gd3e71c0 on 2020-03-13; Sipeed_M1 with kendryte-k210


lcd 屏幕显示驱动函数

  1. lcd.init(type=1, freq=15000000, color=lcd.BLACK)
    初始化 LCD 屏幕显示

参数

type: LCD 的类型(保留给未来使用):

0: None

1: lcd shield(默认值)

type 是键值参数,必须在函数调用中通过写入 type= 来显式地调用

freq: LCD (实际上指 SPI 的通讯速率) 的频率

color: LCD 初始化的颜色, 可以是 16 位的 RGB565 颜色值,比如 0xFFFF; 或者 RGB888 元组, 比如 (236, 36, 36), 默认 lcd.BLACK

  1. lcd.clear()
    将液晶屏清空为黑色或者指定的颜色。

参数

color: LCD 初始化的颜色, 可以是 16 位的 RGB565 颜色值,比如 0xFFFF; 或者 RGB888 元组, 比如 (236, 36, 36)

  1. lcd.freq(freq)
    设置或者获取 LCD (SPI) 的频率

Paremeters

freq: LCD (SPI) 的频率

Return

LCD 的频率

  1. lcd.direction(dir)
    在 v0.3.1 之后已经被舍弃, 请使用lcd.rotation 和 lcd.invert代替, 如非必要请勿使用, 接口仍会被保留用于调试使用

设置屏幕方向, 以及是否镜像等

参数

dir: 正常情况下推荐 lcd.YX_LRUD 和 lcd.YX_RLDU, 另外还有其它值,交换 XY 或者 LR 或者 DU即可

#MicroPython动手做(05)------零基础学MaixPy之LCD液晶屏

#实验程序之三:LCD液晶显示器彩条测试

python 复制代码
#MicroPython动手做(05)------零基础学MaixPy之LCD液晶屏
#实验程序之三:LCD液晶显示器彩条测试

import lcd,image, time

lcd.init(type=1, freq=15000000)
# lcd.init(type=2, freq=20000000)
# lcd.init(type=1, width=320, height=240, invert=True, freq=20000000)

img = image.Image(size=(240,240))

img.draw_rectangle(0,0,30, 240, fill=True, color=(0xff, 0xff, 0xff))
img.draw_rectangle(30,0,30, 240, fill=True, color=(250, 232, 25))
img.draw_rectangle(60,0,30, 240, fill=True, color=(106, 198, 218))
img.draw_rectangle(90,0,30, 240, fill=True, color=(98, 177, 31))
img.draw_rectangle(120,0,30, 240, fill=True, color=(180, 82, 155))
img.draw_rectangle(150,0,30, 240, fill=True, color=(231, 47, 29))
img.draw_rectangle(180,0,30, 240, fill=True, color=(32, 77, 158))
img.draw_rectangle(210,0,30, 240, fill=True, color=(27, 28, 32))

lcd.display(img)

count = 500
while count > 0:
    t = time.ticks_ms()
    lcd.display(img)
    print(time.ticks_ms() - t)
    count -= 1
相关推荐
计算机毕业编程指导师3 小时前
【计算机毕设选题】基于Hadoop+Spark的化妆品销售数据分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·计算机·spark·课程设计·化妆品
泡海椒3 小时前
JQuick-Excel 导入反向映射实战:让中文表头稳定落到业务字段
开发语言·python·excel
泡茶喝茶写代码3 小时前
A股量化数据工程:从 REST 接口到策略信号(第 7 篇):盈利能力因子:毛利率、净利率与 ROE
java·python·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
朝朝辞暮i3 小时前
VLA 系统学习第 2 课:Behavior Cloning——机器人究竟怎么从示范中学动作?
人工智能·python·vla
黑妹天下第一乖3 小时前
第 11 讲:阿加犀 AidLux 多组件综合实战——端侧“智能摄像头解说“全链路
人工智能·嵌入式硬件·语言模型·自然语言处理·iot
znx9393 小时前
手动交易 VS 量化交易:孰优孰劣?深度对比
人工智能·python·机器学习·期魔方
py有趣3 小时前
硬件SPI和软件模拟SPI在配置方面的一点区别
c语言·stm32·单片机
for_ever_love__3 小时前
概率与统计——分布、期望与贝叶斯,语言模型的建模基础
python·机器学习·大模型·概率论
ss2734 小时前
AI全栈实战 | 3.5-01 Python 全栈前端最小集:不会 React 也能做出能看的后台,关键就一条线
前端·python·react.js
AUTO_150756759654 小时前
【KT70022】昆腾微 单片音频编解码器
单片机·音频