咸鱼K210体验笔记—LCD应用

咸鱼K210体验笔记—LCD应用

写在前面:本人非专业人员,仅为此类爱好者。分享一下新手在体验K210的过程。入门踩坑(各种跳坑),希望大佬帮忙填上一二~。(所选设备都是K210。都想体验一下。欢迎大佬指点。)因为之前有些硬件使用基础所以K210只使用视觉相关功能。

LCD

LCD 是 pyAI-K210 机器视觉应用中显示的重要工具。
在这里插入图片描述

功能 参数
供电电压 3.3V
屏幕尺寸 2.8 寸
分辨率 240*320
颜色参数 TFT 彩色
驱动芯片 ST7789V + NS2009
触摸方式 电阻屏
通讯方式 8 位并口总线
接口定义 24Pin-0.5mm-FPC 座
整体尺寸 7*5 cm

接线方法:
2.8 寸 LCD 跟 pyAI-K210 通过底部的 24P 排线连接,注意排线均为下接(排线金手指朝下)。将排线塞进座子,扣下即可
在这里插入图片描述

本实验用的 LCD 是 2.8 寸,驱动是常见的 ST7789V,使用 8 位接口跟 pyAIK210 通信,按以往嵌入式 C 语言开发,我们需要对 ST7789 进行编程实现驱动,然后再建立各种字符显示及显示图片等函数。 我们管这些函数的集合叫驱动,MaixPy已经将这 LCD.py 驱动写好了,我们学会如何使用即可。其构造函数和使用方法如下:

构造函数
LCD lcd 屏幕显示。导入lcd模块

import lcd
lcd.init(type=1,freq=15000000,color=lcd.BLACK)初始化LCD。 
#【type】LCD 类型;
#【freq】通信频率;
#【color】LCD 初始化的颜色。
函数 说明
lcd.deinit() 注销 LCD 驱动,释放 IO 引脚。
lcd.clear(color) 填充指定颜色。默认是黑色
lcd.draw_string(x,y,str,color,bg_color) 写字符【x,y】起始坐标;【str】字符内容【color】字体颜色【bg_color】字体背景颜色
lcd.display(image,roi=Auto) 显示图片。【image】RGB565 或 GRAYSCALE 图片。【ROI】显示的感兴趣区域,未指定则为图像大小。
lcd.rotation(dir) LCD 屏幕方向设定。【dir】取值范围[0-3],从 0 到 3 依顺时钟旋转。
lcd.mirror(invert) 镜面显示。【invert】=True 则为镜面显示;=False 则否。

有了这些我们可以尝试自己挖坑(谢代码了)定一个目标,先在LCD屏上写上自己的名字。
自己写的代码-= =-如下:

'''
名字:LCD显示
日期: 2020.3.17
作者: 咸鱼梦工坊
说明:编程实现 LCD 显示信息。
思路说明:
1.导入lcd模块
2.显示自己名字
'''
import lcd

lcd.init() #初始屏幕
lcd.draw_string(100, 100, "咸鱼梦工坊", lcd.RED, lcd.BLACK) 
#在坐标x=100 y=100的位置写上咸鱼梦工坊,字体颜色为红色,屏幕背景为黑色

在这里插入图片描述
发现乱码了。2333果然不会那么顺利。查阅资料发现想显示汉字需要字库。那我们退一步先不用汉字再看看效果

import lcd

lcd.init() #初始屏幕
#lcd.draw_string(100, 100, "咸鱼梦工坊", lcd.RED, lcd.BLACK) 
lcd.draw_string(100, 100, "xymgf.blog.csdn.net", lcd.RED, lcd.BLACK)
#在坐标x=100 y=100的位置写上xymgf.blog.csdn.net,字体颜色为红色,屏幕背景为黑色

在这里插入图片描述
那么问题来了:用坐标显示位置。那么LED屏幕的坐标是多少呢。据说是分辨率我们测测

'''
名字:笨方法测试LCD坐标(没办法的办法)
日期: 2020.3.17
作者: 咸鱼梦工坊
说明:编程实现 LCD 显示信息。
思路说明:用坐标去试...
'''
import lcd

lcd.init() #初始屏幕

lcd1=lcd.draw_string(0, 0, "A", lcd.RED, lcd.BLACK)#确认起始坐标位置
lcd_1=lcd.draw_string(8, 0, "B", lcd.RED, lcd.BLACK)#看看一个字符占多少横坐标 8
lcd_2=lcd.draw_string(0, 12, "C", lcd.RED, lcd.BLACK)#看看一个字符占多少纵坐标坐标 12
lcd2=lcd.draw_string(312, 0, "D", lcd.RED, lcd.BLACK)#横坐标确认312+8=320
lcd2_2=lcd.draw_string(0, 228, "E", lcd.RED, lcd.BLACK)#纵坐标理论应是228+12=240
lcd3=lcd.draw_string(312,224, "F", lcd.RED, lcd.BLACK)#终坐标应是312,228(320*240)横屏时

在这里插入图片描述
实际发现纵坐标在225~240之间字母F都不显示;224时则字母下方有明显空余.不知道是什么情况.求大佬解答。不会是我屏幕坏了吧…’’'

知道坐标(我们可用的312~224)就可以通过计算了解文字放什么位置上。

发布了166 篇原创文章 · 获赞 22 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_45020839/article/details/104922979
今日推荐