社区导航

 

搜索
查看: 402|回复: 41

[原创] MicroPython动手做(37)——驱动LCD与图文显示

  [复制链接]

1315

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2020-6-30 18:01 | 显示全部楼层 |阅读模式

1、在屏幕绘制文本信息

 

#MicroPython动手做(37)——驱动LCD与图文显示
#在屏幕绘制文本信息

import mixno
import lcd
import image


lcd.init(freq=15000000,color=0x0000)
image = image.Image()
image = image.draw_string(0,0,"MixPY",(255,0,0),5,mono_space=0)
lcd.display(image)

 

 



回复

使用道具 举报

1315

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-6-30 18:07 | 显示全部楼层

01.jpg



回复

使用道具 举报

1315

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-6-30 18:10 | 显示全部楼层

MxiPY 实验图形编程

 

02.jpg



回复

使用道具 举报

1315

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-6-30 18:28 | 显示全部楼层

2、LCD_显示驱动(import lcd)

屏幕显示2.8‘’ LCD 240*320驱动配置

 

(1)初始化显示

 

lcd.init(type=1, freq=15000000, color=lcd.BLACK)

 

初始化LCD屏幕显示

 

参数:
type:LCD的类型(保留给未来使用):
0: None
1: lcd shield(默认值)

 

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

 

color:LCD初始化的颜色:
RGB56516 位的颜色值,比如0xFFFF
RGB888元组, 比如(236, 36, 36)
系统color常量,默认lcd.BLACK

 

返回:
None

 

(2)注销驱动

 

lcd.deinit()

 

注销LCD驱动,释放I/O引脚

 

参数:

 

返回:
None



回复

使用道具 举报

1315

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-6-30 18:35 | 显示全部楼层

(3)获取分辨率宽度

lcd.width()

获取LCD的宽度(水平分辨率)

 

参数:

 

返回:
int类型的屏幕分辨率宽度

 

(4)获取分辨率高度

lcd.height()

获取LCD的高度(垂直分辨率)

 

参数:

 

返回:
int类型的屏幕分辨率高度

 

(5)获取/设置频率

lcd.height()

设置或者获取LCD(SPI) 的频率

 

参数:
freq: LCD(SPI) 的频率

 

返回:
int类型的屏幕 (SPI) 的频率



回复

使用道具 举报

1315

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-6-30 18:48 | 显示全部楼层

(6)显示图像

lcd.display(image, roi=Auto)


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

 

参数:
image:显示图像image(GRAYSCALE或RGB565)
roi :一个感兴趣区域的矩形元组(x, y, w, h),若未指定,即为图像矩形
若 roi 宽度小于lcd宽度,则用垂直的黑色边框使 roi 居于屏幕中心(即用黑色填充未占用区域)
若 roi 宽度大于lcd宽度,则 roi 居于屏幕中心,且不匹配像素不会显示(即液晶屏以窗口形态显示 roi 的中心)
若 roi 高度小于lcd高度,则用垂直的黑色边框使 roi 居于屏幕中心(即用黑色填充未占用区域)
若 roi 高度大于lcd高度,则 roi 居于屏幕中心,且不匹配像素不会显示(即液晶屏以窗口形态显示 roi 的中心)

 

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

 

(7)屏幕清空

lcd.clear(color)


将液晶屏清空为黑色或者指定的颜色

 

参数:
color :将屏幕清空为黑(默认值)或者指定的颜色
RGB56516 位的颜色值,比如0xFFFF
RGB888元组, 比如(236, 36, 36)
系统color常量,默认lcd.BLACK

 

返回:
None

 

(8)设置屏幕方向

lcd.rotation(dir)


设置LCD屏幕方向

 

参数:
dir: 取值范围 [0,3], 从0到3依次顺时针旋转

 

返值:
当前方向,取值[0,3]



回复

使用道具 举报

1315

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-6-30 18:54 | 显示全部楼层

(9)设置镜面显示

lcd.mirror(invert)


设置LCD是否镜面显示

 

参数:
invert: 是否镜面显示,True或者False

 

返值:
当前设置,是否镜面显示,返回True或者False

 

(10)显示文本

lcd.draw_string(x, y, text, text_color, color)


在液晶屏上显示文本字符(不支持中文)

 

参数:
*x,y:图像中的(x, y)位置开始绘制,您可以单独传递x,y,也可以作为元组(x,y)传递

text :写入图像的字符串。\n,\r, 和\r\n结束符将光标移至下一行
text_color:文本字符颜色
RGB56516 位的颜色值,比如0xFFFF
系统color常量,默认lcd.RED
color:屏幕背景颜色
RGB56516 位的颜色值,比如0xFFFF
系统color常量,默认lcd.BLACK

 

返回:
None

 

(11)系统默认常量color颜色:
lcd.BLACK0x0000 黑色
lcd.NAVY0x000F 深蓝色
lcd.DARKGREEN0x03E0 深绿色
lcd.DARKCYAN0x03EF 深青色
lcd.MAROON0x7800 褐红色
lcd.PURPLE0x780F 紫色
lcd.OLIVE0x7BE0 橄榄色
lcd.LIGHTGREY0xC618 浅灰色
lcd.DARKGREY0x7BEF 深灰色
lcd.BLUE0x001F 蓝色
lcd.GREEN0x07E0 绿色
lcd.CYAN0x07FF 青色
lcd.RED0xF800 红色
lcd.MAGENTA0xF81F 洋红色
lcd.YELLOW0xFFE0 黄色
lcd.WHITE0xFFFF 白色
lcd.ORANGE0xFD20 橙色
lcd.GREENYELLOW0xAFE5 绿黄色
lcd.PINK0xF81F 粉红色



回复

使用道具 举报

1315

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-6-30 19:04 | 显示全部楼层

目录清单
MicroPython动手做(01)——春节后入手了一块K210芯片AI开发板 
http://bbs.eeworld.com.cn/thread-1115786-1-1.html

MicroPython动手做(02)——尝试搭建K210开发板的IDE环境
http://bbs.eeworld.com.cn/thread-1115831-1-1.html

MicroPython动手做(03)——零基础学MaixPy之开机运行
http://bbs.eeworld.com.cn/thread-1116184-1-1.html

MicroPython动手做(04)——零基础学MaixPy之基本示例
http://bbs.eeworld.com.cn/thread-1116438-1-1.html

MicroPython动手做(05)——零基础学MaixPy之LCD液晶屏
http://bbs.eeworld.com.cn/thread-1116577-1-1.html

MicroPython动手做(06)——零基础学MaixPy之单目摄像头
http://bbs.eeworld.com.cn/thread-1116591-1-1.html

MicroPython动手做(07)——零基础学MaixPy之机器视觉
http://bbs.eeworld.com.cn/thread-1116617-1-1.html

MicroPython动手做(08)——零基础学MaixPy之识别颜色 
http://bbs.eeworld.com.cn/thread-1116662-1-1.html

MicroPython动手做(09)——零基础学MaixPy之人脸识别
http://bbs.eeworld.com.cn/thread-1116720-1-1.html

MicroPython动手做(10)——零基础学MaixPy之神经网络KPU
http://bbs.eeworld.com.cn/thread-1116925-1-1.html

MicroPython动手做(11)——搭建掌控板IDE环境
http://bbs.eeworld.com.cn/thread-1117964-1-1.html

MicroPython动手做(12)——掌控板之Hello World
http://bbs.eeworld.com.cn/thread-1118180-1-1.html

MicroPython动手做(13)——掌控板之RGB三色灯 
http://bbs.eeworld.com.cn/thread-1118275-1-1.html

MicroPython动手做(14)——掌控板之OLED屏幕
http://bbs.eeworld.com.cn/thread-1118389-1-1.html

MicroPython动手做(15)——掌控板之AB按键
http://bbs.eeworld.com.cn/thread-1118496-1-1.html

MicroPython动手做(16)——掌控板之图片图像显示
http://bbs.eeworld.com.cn/thread-1118945-1-1.html

MicroPython动手做(17)——掌控板之触摸引脚
http://bbs.eeworld.com.cn/thread-1119462-1-1.html

MicroPython动手做(18)——掌控板之声光传感器
http://bbs.eeworld.com.cn/thread-1119583-1-1.html

MicroPython动手做(19)——掌控板之蜂鸣器与音乐
http://bbs.eeworld.com.cn/thread-1119668-1-1.html

MicroPython动手做(20)——掌控板之三轴加速度
http://bbs.eeworld.com.cn/thread-1119998-1-1.html

MicroPython动手做(21)——掌控板之磁场传感器
http://bbs.eeworld.com.cn/thread-1120188-1-1.html

MicroPython动手做(22)——掌控板之无线广播
http://bbs.eeworld.com.cn/thread-1120835-1-1.html

MicroPython动手做(23)——掌控板之WiFi与蓝牙
http://bbs.eeworld.com.cn/thread-1120934-1-1.html

MicroPython动手做(24)——掌控板之拓展掌控宝 
http://bbs.eeworld.com.cn/thread-1121208-1-1.html

MicroPython动手做(25)——语音合成与语音识别
http://bbs.eeworld.com.cn/thread-1123752-1-1.html

MicroPython动手做(26)——物联网之OneNET
http://bbs.eeworld.com.cn/thread-1125172-1-1.html

MicroPython动手做(27)——物联网之微信小程序
http://bbs.eeworld.com.cn/thread-1125520-1-1.html

MicroPython动手做(28)——物联网之Yeelight
http://bbs.eeworld.com.cn/thread-1125939-1-1.html

MicroPython动手做(29)——物联网之SIoT
http://bbs.eeworld.com.cn/thread-1126090-1-1.html

 MicroPython动手做(30)——物联网之Blynk

http://bbs.eeworld.com.cn/thread-1126427-1-1.html

MicroPython动手做(31)——物联网之Easy IoT 

http://bbs.eeworld.com.cn/thread-1126903-1-1.html

MicroPython动手做(32)——物联网之MQTT
http://bbs.eeworld.com.cn/thread-1128464-1-1.html

MicroPython动手做(33)——物联网之天气预报
http://bbs.eeworld.com.cn/thread-1128721-2-1.html

MicroPython动手做(34)——通用传感器
http://bbs.eeworld.com.cn/thread-1129058-1-1.html

MicroPython动手做(35)——体验小游戏
http://bbs.eeworld.com.cn/thread-1129451-1-1.html

MicroPython动手做(36)——MixPY之Hello world
http://bbs.eeworld.com.cn/thread-1129816-1-1.html

MicroPython动手做(37)——驱动LCD与图文显示
http://bbs.eeworld.com.cn/thread-1130106-1-1.html



回复

使用道具 举报

1315

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-6-30 19:51 | 显示全部楼层

3、调整显示文本字号与颜色

 

#MicroPython动手做(37)——驱动LCD与图文显示
#调整显示文本字号与颜色

import mixno
import lcd
import image


lcd.init(freq=15000000,color=0x0000)
image = image.Image()
image = image.draw_string(47,30,"MicroPython",(0,220,0),5,mono_space=0)
image = image.draw_string(45,100,"MixPY",(255,0,0),11,mono_space=0)
lcd.display(image)

 



回复

使用道具 举报

1315

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-6-30 19:52 | 显示全部楼层

03.jpg



回复

使用道具 举报

1315

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-6-30 19:54 | 显示全部楼层

MxiPY 实验图形编程

 

04.jpg



回复

使用道具 举报

1315

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-7-1 10:08 | 显示全部楼层
本帖最后由 eagler8 于 2020-7-3 20:14 编辑

4、MixPY 移动文本弹幕

 

#MicroPython动手做(37)——驱动LCD与图文显示
#MixPY 移动文本弹幕

import time
import mixno
import lcd
import image

lcd.init(freq=15000000,color=0x0000)
image = image.Image()
while True:
   for i in range(0, 320, 1):
       image.clear()
       lcd.display(image.draw_string(i,100,"MicroPython",(0,220,0),4,mono_space=0))
       time.sleep_ms(10)

 



回复

使用道具 举报

1315

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-7-1 10:09 | 显示全部楼层

WeChat_20200701100010.gif



回复

使用道具 举报

1315

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-7-1 10:11 | 显示全部楼层
本帖最后由 eagler8 于 2020-7-3 20:14 编辑

MixPY 实验图形编程

 

05.jpg



回复

使用道具 举报

1315

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-7-1 10:28 | 显示全部楼层

5、多行交叉移动弹幕

 

#MicroPython动手做(37)——驱动LCD与图文显示
#多行交叉移动弹幕

import time
import mixno
import lcd
import image


lcd.init(freq=15000000,color=0x0000)
image = image.Image()
while True:
    for i in range(0, 320, 1):
        image.clear()
        lcd.display(image.draw_string(i,50,"MxiPY",(255,0,0),6,mono_space=0))
        time.sleep_ms(1)
    for i in range(320, 0, -1):
        image.clear()
        lcd.display(image.draw_string(i,100,"MicroPython",(0,220,0),4,mono_space=0))
        time.sleep_ms(5)
    for i in range(0, 320, 1):
        image.clear()
        lcd.display(image.draw_string(i,150,"MxiPY",(0,0,255),8,mono_space=0))
    for i in range(320, 0, -1):
        image.clear()
        lcd.display(image.draw_string(i,80,"MicroPython",(250,250,250),5,mono_space=0))

 



回复

使用道具 举报

1315

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-7-1 10:31 | 显示全部楼层
本帖最后由 eagler8 于 2020-7-3 20:14 编辑

MixPY 实验图形编程

 

07.jpg



回复

使用道具 举报

1315

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-7-1 12:12 | 显示全部楼层

MicroPython动手做(37)——驱动LCD与图文显示

多行交叉移动弹幕(实验视频)

 

https://v.youku.com/v_show/id_XNDczMzQyNzgwOA==.html?spm=a2h0c.8166622.PhoneSokuUgc_1.dtitle

 


 



回复

使用道具 举报

1315

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-7-1 12:18 | 显示全部楼层

6、变幻屏幕七彩色

 

#MicroPython动手做(37)——驱动LCD与图文显示
#变幻屏幕七彩色

import time
import mixno
import lcd
import image


image = image.Image()
while True:
    lcd.init(freq=5000000,color=0xFD20)
    time.sleep_ms(1000)
    lcd.init(freq=5000000,color=0x03E0)
    time.sleep_ms(1000)
    lcd.init(freq=5000000,color=0xF81F)
    time.sleep_ms(1000)
    for i in range(320, 0, -1):
        image.clear()
        lcd.display(image.draw_string(i,100,"MicroPython",(0,255,0),5,mono_space=0))
    lcd.init(freq=5000000,color=0x07F)
    time.sleep_ms(1000)
    lcd.init(freq=5000000,color=0x7BE0)
    time.sleep_ms(1000)
    lcd.init(freq=5000000,color=0x03EF)
    time.sleep_ms(1000)
    for i in range(0, 320, 1):
        image.clear()
        lcd.display(image.draw_string(i,80,"MxiPY",(255,0,0),8,mono_space=0))

 



回复

使用道具 举报

1315

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-7-1 16:52 | 显示全部楼层

#MicroPython动手做(37)——驱动LCD与图文显示
#变幻屏幕七彩色(实验视频)

https://v.youku.com/v_show/id_XNDczMzU2MTM3Ng==.html?spm=a2h0c.8166622.PhoneSokuUgc_1.dtitle

 


 



回复

使用道具 举报

1315

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-7-1 16:55 | 显示全部楼层
本帖最后由 eagler8 于 2020-7-3 20:15 编辑

MixPY 实验图形编程

 

08.jpg



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 1/8 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

词云| Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-7-15 04:51 , Processed in 0.531574 second(s), 40 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表