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

时间:2021-09-08 23:30:43

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

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

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

1. 模块名称:液晶显示模块
2. 型号:KD024C-4
3. 同类型型号: 
4. 兼容型号:
5. 显示模式:TFT
6. 显示色彩:65/262K
7. 分辨率: 240*320
8. 点距:0.153 (H) x 0.153 (V)
9. 视角:12:00
10. 控制IC:ST7789V
11. 显示类型:全透型,常白
12. 外形尺寸:42.72*60.26*2.6mm
13. 可视面积:38.32*50.56 mm
14. 点阵区面积:36.72*48.96mm
15. 亮度:300cd/m2
16. 对比度:500
17. 接口类型: 8/9/16/18位8080并口
                   16/18位RGB接口
                    3/4线SPI接口
18. 引脚数:24
19. 引脚距离:0.5mm
20. 连接类型: FPC插接型
21. 工作电压:3.3V
22. 背光灯颜色及类型: 白色LED背光
23. 背光电路:4 LED 并联, 共阳
If=80mA, Vf =3.2V
24. 使用寿命:100000h
25. 工作温度:-20----70°C 
26. 储存温度:-30----80°C 
27. 质量体系认证:ISO9001:2008
28. 产品认证:RoHS

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

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

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

#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"

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)

  

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

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

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

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

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

Paremeters
freq: LCD (SPI) 的频率
Return
LCD 的频率

4. 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液晶显示器彩条测试

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

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

#MicroPython动手做(05)——零基础学MaixPy之LCD液晶屏
#实验程序之四:测试Microphone阵列算法 from Maix import MIC_ARRAY as mic
import lcd lcd.init()
mic.init() while True:
imga = mic.get_map()
b = mic.get_dir(imga)
a = mic.set_led(b,(0,0,255))
imgb = imga.resize(160,160)
imgc = imgb.to_rainbow(1)
a = lcd.display(imgc)
mic.deinit()

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

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

#实验程序之五:图形与hello maixpy

import lcd, time

import image

bg = (236,36,36)

lcd.init(freq=15000000)

lcd.direction(lcd.YX_RLDU)

img = image.Image()

img.draw_string(60, 100, "hello maixpy", scale=2)

img.draw_rectangle((120,120,30,30))

img.draw_circle((150,140, 80))

img.draw_cross((250,40))

img.draw_arrow((250,200,20,200), color=(236,36,36))

lcd.display(img)

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

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

#实验程序之六:碰碰球演示

import image, lcd

lcd.init(freq=20000000)

i = 0

dir = 1

while(True):

    img = image.Image(copy_to_fb=1)

    img.clear()

    img.draw_rectangle(i,50,50,50)

    lcd.display(img)

    if dir:

        i += 5

        if i==270:

           dir = 0

    else:

        i -= 5

        if i==0:

            dir = 1

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

【雕爷学编程】MicroPython动手做(05)——零基础学MaixPy之LCD液晶屏的更多相关文章

  1. 【雕爷学编程】MicroPython动手做(06)——零基础学MaixPy之单目摄像头

    配套 OV2640摄像头:200W像素通用24P摄像头具有200万像素(1632x1232像素),其体积小.工作电压低,提供单片UXGA摄像和影像处理器的所有功能.通过SCCB总线控制,可以输出整帧. ...

  2. 【雕爷学编程】MicroPython动手做(04)——零基础学MaixPy之尝试运行

    1.hello micropython #MicroPython动手做(04)——零基础学MaixPy之基本示例 #程序之一:hello micropython #MicroPython动手做(04) ...

  3. 【雕爷学编程】MicroPython动手做(07)——零基础学MaixPy之机器视觉

    机器视觉 machine vision机器视觉是人工智能正在快速发展的一个分支.机器视觉作为生产过程中关键技术之一,在机器或者生产线上,机器视觉可以检测产品质量以便将不合格的产品剔除,或者指导机器人完 ...

  4. 【雕爷学编程】MicroPython动手做(08)——零基础学MaixPy之识别颜色

    早上用百度搜了一下“颜色识别”,多少有了一点大致的概念,还是老办法,动手做,多实验,往前走,还请各位老师多多指点. OpenCV(百度百科)是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运 ...

  5. 小甲鱼零基础学python第25讲课后习题动手练习--通讯录

    小甲鱼零基础学python第25讲课后习题动手练习---通讯录 **************************通讯录要求******************************* 输入指令: ...

  6. 《Windows编程零基础学》第零节

    首先很开心申请到了这一个专栏<Windows编程零基础学> 这是第一篇文章,在这里,我将讲述一些基础的知识. 什么是Windows编程 所谓Windows编程就是在Windows平台上开发 ...

  7. &lbrack;Python&rsqb; 文科生零基础学编程系列二——数据类型、变量、常量的基础概念

    上一篇:[Python] 文科生零基础学编程系列--对象.集合.属性.方法的基本定义 下一篇: (仍先以最简单的Excel的VBA为例,语法与Python不同,但概念和逻辑需要理解透彻) p.p1 { ...

  8. &lbrack;Python&rsqb; 文科生零基础学编程系列三——数据运算符的基本类别

    上一篇:[Python] 文科生零基础学编程系列二--数据类型.变量.常量的基础概念 下一篇: ※ 程序的执行过程,就是对数据进行运算的过程. 不同的数据类型,可以进行不同的运算, 按照数据运算类型的 ...

  9. 《零基础学HTML5&plus;CSS3&lpar;全彩版&rpar;》读书笔记

    2019年1月31日星期四 1点 <零基础学HTML5+CSS3(全彩版)>开始全面学习 前提: 11月20日开始学Python,可能因为太累了,也可能遇到了瓶颈,进入了一个迷茫期,1月6 ...

随机推荐

  1. Java程序:从命令行接收多个数字,求和并输出结果

    一.设计思想:由于命令行接收的是字符串类型,因此应先将字符串类型转化为整型或其他字符型,然后利用for循环求和并输出结果 二.程序流程图: 三.源程序代码:   //王荣荣 2016/9/23     ...

  2. JS监听键盘的组合按键

    Mark 一下: $(document).keydown(function (e) { console.log(e); var keyCode = e.keyCode || e.which || e. ...

  3. CSS 两列布局 之 左侧适应,右侧固定 3种方式

    第一种:左侧用margin-right,右侧float:right CSS代码: html, body,ul,li #wrapper { width: 100%; height: 100%; padd ...

  4. mysql 按距离今日时间最近排序

    xxx order by abs(DATEDIFF(time_start,now()))

  5. 【转】JNI和NDK的区别

    原文网址:http://blog.csdn.net/ithomer/article/details/6828830 NDK(Native Development Kit)“原生”也就是二进制 andr ...

  6. php常量作用

    PHP常量的特点是: 1.不能通过外部来传递,也就是不能通过get与post还有cookie等方式来传递赋值,所以可以确定是程序执行过程中定义的,非外界变量.2.定义后不能更改,可以防止被篡改. 基于 ...

  7. rem与em

    最近有朋友在进行rem布局的时候总搞不懂rem  em  px  与百分比布局的区别在哪里  这里简单给大家介绍一下 Em为单位: 这种技术需要一个参考点,一般都是以<body>的&quo ...

  8. java I&sol;O :RandomAccessFile

  9. xlwt 官网的例子

    from time import * from xlwt.Workbook import * from xlwt.Style import * style = XFStyle() wb = Workb ...

  10. coredump文件抓取设置

    ulimit -c unlimitedecho 1 > /proc/sys/kernel/core_uses_pidecho "/tmp/core-%e-%s-%u-%g-%p-%t& ...