当前位置: 首页 > news >正文

【雕爷学编程】 MicroPython动手做(38)——控制触摸屏2

MixPY——让爱(AI)触手可及

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

MixPY布局

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

主控芯片:K210(64位双核带硬件FPU和卷积加速器的 RISC-V CPU)
显示屏:LCD_2.8寸 320*240分辨率,支持电阻触摸
摄像头:OV2640,200W像素
扬声器:3W单声道喇叭,及2.5mm双声道耳机孔
麦克风:一颗数字高灵敏MEMS硅麦
存储介质:16MBFlash,可外接<32G calss10 TF内存卡
板载功能:RGB三色灯,自定义2颗按键,重力感应
电池管理:PMU电源管理,3重电池保护电路及550mah锂电池
无线网卡:ESP8285,WiFi无线网卡
下载驱动:CH340,USB转TTL串口驱动电路
外接拓展:3个 Type-C扩展接口,可外接18IO口及双电源输出

在这里插入图片描述
1、触摸屏技术
触摸屏在结构上由一个感应式液晶显示装置组成,这个感应显示器可以接收触控头或者其他触控动作的信号。当这个感应显示器收到了触控信号,整个触控装置会按照事先编写的程序执行不同的指令,实现用户的触控意图。这种技术替代了传统的机械式按钮装置,加上液晶显示器的画面,可以得到十分生动形象的画面和操作享受,受到了越来越多人的欢迎。

触摸屏技术最早出现在一些工业和商业设备中,例如POS终端机、电梯按钮等。触摸屏技术在很大程度上方便了人机交互,触摸屏本身又很坚固耐用,这些特点都让触摸屏技术有了很大的应用和发展。利用触摸屏技术,用户只要用手指点击相应的触控图案,就可以解决过去繁杂的操作问题,极大的方便了用户。由于近些年i Phone手机的推出,更是刺激了触摸屏相关产业的发展,触摸屏技术也由此被应用到不同的产品中。随着移动互联网、云计算等技术的快速发展,人们对触摸屏技术的需求和要求也日益提高,相信触摸屏技术将会越来越多的出现在不同的电子产品中。除此之外,触摸屏在汽车电子领域和零售业也有很大的发展空间,具相关权威调查,到2012年,用于汽车电子和零售业的触摸屏市场将会达到20亿美元,占触摸屏产业总体市场的20%。同时在PC行业,由于微软操作系统的不断发展,触摸屏技术也将占据着十分重要的角色,再加上医疗领域、公共设施领域等方面,触摸屏控制技术将会得到进一步的普及,有着极好的市场前景。

中国的触摸屏消费市场有着极大潜力,尤其在数码电子产品市场中,然而在触摸屏产业中,中国的触摸屏产业主要集中在产业链的中下游,目前辽宁沈阳的沈北新区也建立了手机制造中心,吸引了包括晨讯科技等手机触摸屏生产厂家。一方面体现了手机触摸屏这一强大的市场,另一方面又反映了我国触摸屏产业的技术含量偏低,多以加工代工为主。然而在触摸屏产业链中,触摸屏驱动芯片是核心,决定着触摸屏产品的优劣,全球各大芯片设计公司也都在致力研发高精度、低功耗的触摸屏驱动芯片。

在这里插入图片描述

2、电阻式触摸屏
是一种传感器,基本上是薄膜加上玻璃的结构,薄膜和玻璃相邻的一面上均涂有ITO(纳米铟锡金属氧化物)涂层,ITO具有很好的导电性和透明性。当触摸操作时,薄膜下层的ITO会接触到玻璃上层的ITO,经由感应器传出相应的电信号,经过转换电路送到处理器,通过运算转化为屏幕上的X、Y值,而完成点选的动作,并呈现在屏幕上。它将矩形区域中触摸点(X,Y)的物理位置转换为代表X坐标和Y坐标的电压。很多LCD模块都采用了电阻式触摸屏,这种屏幕可以用四线、五线、七线或八线来产生屏幕偏置电压,同时读回触摸点的电压。

在这里插入图片描述
8、实验之三:触摸绿色块开关绿色LED灯

#MicroPython动手做(38)——控制触摸屏
#实验之三:触摸绿色块开关绿色LED灯import touchscreen as ts
import time
import mixno
import lcd
import image
from machine import I2Ci2c = I2C(I2C.I2C0, freq=400000, scl=30, sda=31)
lcd.init(freq=15000000,color=0)
ts.init(i2c)
LED_G=mixno.pin(6,mixno.GPIO.OUT)
image = image.Image()
while True:image = image.draw_rectangle([100,80,120,80],57351,1,1)if ts.read()[0] == 3:if 100 < ts.read()[1] < 220 and 80 < ts.read()[2] < 160:LED_G.value(0)time.sleep_ms(300)else:LED_G.value(1)lcd.display(image)

实验三场景示意图

在这里插入图片描述

MixPY 实验图形编程

在这里插入图片描述

9、实验之四:红蓝触摸块控制红蓝色LED灯

红蓝二个色块按钮,点动打开相应颜色的LED灯

#MicroPython动手做(38)——控制触摸屏
#实验之四:红蓝触摸块控制红蓝色LED灯import touchscreen as ts
import mixno
import lcd
import image
from machine import I2Ci2c = I2C(I2C.I2C0, freq=400000, scl=30, sda=31)
lcd.init(freq=15000000,color=0)
ts.init(i2c)
LED_R=mixno.pin(7,mixno.GPIO.OUT)
LED_B=mixno.pin(8,mixno.GPIO.OUT)
image = image.Image()
image = image.draw_rectangle([50,80,60,80],248,1,1)
image = image.draw_rectangle([190,80,60,80],7936,1,1)
while True:if 50 < ts.read()[1] < 110 and 80 < ts.read()[2] < 160:LED_R.value(0)else:LED_R.value(1)if 190 < ts.read()[1] < 250 and 80 < ts.read()[2] < 160:LED_B.value(0)else:LED_B.value(1)lcd.display(image)

实验四的场景示意图

在这里插入图片描述
MixPY 实验四图形编程

在这里插入图片描述

10、实验之五:触摸画红线

#MicroPython动手做(38)——控制触摸屏
#实验之五:触摸画红线import touchscreen as ts
import mixno
import lcd
import image
from machine import I2Clcd.init(freq=15000000,color=0x0000)
i2c = I2C(I2C.I2C0, freq=400000, scl=30, sda=31)
ts.init(i2c)
lcd.clear(0x0000)
img = image.Image()
status_last = ts.STATUS_IDLE
x_last = 0
y_last = 0
draw = False
LED_R=mixno.pin(7,mixno.GPIO.OUT)
while True:status = ts.read()[0]x = ts.read()[1]y = ts.read()[2]if draw:img = img.draw_line([x_last,y_last,x,y],(255,0,0),1)if status_last != status:if status == ts.STATUS_MOVE or status == ts.STATUS_PRESS:draw = Trueelse:draw = Falsestatus_last = statuslcd.display(img)x_last = xy_last = y

实验五的场景示意图

在这里插入图片描述
MixPY 实验五的图形编程

在这里插入图片描述

http://www.lryc.cn/news/109323.html

相关文章:

  • 钉钉微应用
  • 【 SpringSecurity】第三方认证方法级别安全
  • 达梦数据库在windows上的安装
  • 新手Vite打包工具的使用并解决yarn create vite报错
  • SpringMVC框架——First Day
  • 基于C++雪花算法工具类Snowflake -来自chatGPT
  • 若依打印sql
  • Camunda BPM Run下载(7.20)
  • 【Ubuntu】Ubuntu 22.04 升级 OpenSSH 9.3p2 修复CVE-2023-38408
  • 【知网检索】2023年金融,贸易和商业管理国际学术会议(FTBM2023)
  • 数据可视化:Matplotlib详解及实战
  • Flutter flutter_boost 集成
  • Stable Diffusion中人物生成相关的negative prompts
  • QT - 建立页面
  • python中几个有趣的函数和推导式
  • 【Jenkins】Jenkins 安装
  • LNMP搭建以及Discuz论坛部署
  • MGRE综合
  • hcip的mgre和ospf实验
  • gdb学习笔记
  • java -jar指定外部配置文件
  • 【IDEA】常用插件清单
  • 私域流量运营数据分析:6个关键指标
  • 解释器模式——自定义语言的实现
  • 基于STM32103移植FreeRTOS
  • docker compose一键部署lnmt环境
  • Eeny Meeny Moo
  • flask---闪现/请求扩展/g对象
  • Qt视频播放器
  • Stable Diffusion教程(8) - X/Y/Z 图表使用