7寸RGB屏触摸
前言
本节讲解麦哲伦 + 7寸RGB屏的电容触摸屏使用方法。
实验平台
麦哲伦MicroPython开发套件、7寸RGB显示屏(电容触摸)。

实验目的
获取电容触摸屏的坐标并画点标记。
实验讲解
本节实现当手指按下时候,通过简单的编程即可返回一个坐标,7寸RGB屏上的电容触摸驱动芯片是GT911,我们来看看其micropython构造函数和使用方法:
GT911对象
构造函数
touch.GT911(portrait=1)
构建触摸屏对象。GT1151表示驱动芯片型号。
portrait:屏幕显示方向:1: 480*800 ,默认2: 横屏,800*480 ,1基础上顺时针旋转90°3: 竖屏,480*800 ,1基础上顺时针旋转180°4: 横屏,800*480 ,1基础上顺时针旋转270°
使用方法
GT911.tick_inc()
手动刷新触摸,每次读取数据前必须执行该函数。
GT911.read()
读取触摸屏数据,返回(states,x,y)
states: 当前触摸状态:0:按下;1:移动;2:松开。;x: 触摸点横坐标;y: 触摸点纵坐标;
更多用法请阅读官方文档:
https://docs.01studio.cc/library/touch/touch.GT911.html
学会了触摸对象用法后,我们可以编程实现触摸后屏幕打点表示,然后左上角显示当前触摸的坐标。另外再加入一个按键,按下清空屏幕。编程流程图如下:
参考代码
'''
实验名称:电容触摸屏
版本:v1.0
平台:麦哲伦开发板
作者:01Studio
社区:www.01studio.cc
说明:电容触摸屏采集触摸信息
'''
from touch import GT911
from tftlcd import LCD7R
from pyb import Switch
import time
#定义颜色
BLACK = (0,0,0)
WHITE = (255,255,255)
RED=(255,0,0)
#LCD初始化
d = LCD7R(portrait=4)
d.fill(WHITE)#填充白色
#电容触摸屏初始化,方向和LCD一致
t = GT911(portrait=4)
#USR按键初始化
sw = Switch() #定义按键对象名字为sw
sw.callback(lambda:d.fill(WHITE)) #当按键被按下时,LCD清屏白色
while True:
data = t.read() #获取触摸屏坐标
print(data) #REPL打印
#当产生触摸时
if data[0]!=2: #0:按下; 1:移动; 2:松开
#触摸坐标画圆
d.drawCircle(data[1], data[2], 10, BLACK, fillcolor=BLACK)
d.printStr('(X:'+str('%03d'%data[1])+' Y:'+str('%03d'%data[2])+')',10,10,RED,size=3)
time.sleep_ms(10) #触摸响应间隔
实验结果
运行程序,用手指触摸屏幕或者在屏幕上滑动,可以看到描点并在LCD左上角显示当前坐标。

按下USR按键清空屏幕内容:
