当前位置: 首页 > 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 实验五的图形编程

在这里插入图片描述

相关文章:

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

MixPY——让爱(AI)触手可及 MixPY布局 主控芯片&#xff1a;K210&#xff08;64位双核带硬件FPU和卷积加速器的 RISC-V CPU&#xff09; 显示屏&#xff1a;LCD_2.8寸 320*240分辨率&#xff0c;支持电阻触摸 摄像头&#xff1a;OV2640&#xff0c;200W像素 扬声器&#…...

钉钉微应用

钉钉微应用 在做钉钉微应用开发的时候&#xff0c;遇到了一些相关性的问题&#xff0c;特此记录下&#xff0c;有遇到其他问题的&#xff0c;欢迎一起讨论 调试工具 当我们基于钉钉开发微应用时&#xff0c;难免会遇到调用钉钉api后的调试&#xff0c;这个时候可以安装eruda…...

【 SpringSecurity】第三方认证方法级别安全

文章目录 SpringSecurity 第三方认证实现方法级别的安全 SpringSecurity 第三方认证 在登录网页时&#xff0c;时常有用其他账号登录的方式&#xff0c;它们能够让用户避免在Web站点特定的登录页上自己输入凭证信息。这样的Web站点提供了一种通过其他网站&#xff08;如Facebo…...

达梦数据库在windows上的安装

前言 简单记录达梦数据库DM7在windows10上的安装过程 1 下载并安装安装包 官网登录后才能下载&#xff0c;建议先注册账户。 下载地址&#xff1a;产品下载-达梦数据 &#xff0c;CPU选择x86&#xff0c;操作系统选择win64即可。解压安装包后&#xff0c;一路安装下去即可。…...

新手Vite打包工具的使用并解决yarn create vite报错

一、手动创建 1.创建vite-Demo文件夹 2.初始化 yarn init -y 3.安装vite yarn add -D vite 4.打包准备 说明&#xff1a;不需要在src下面创建&#xff0c;在vite-Demo文件夹创建 4.1index.js文件 document.body.insertAdjacentHTML("beforeend","<h1>…...

SpringMVC框架——First Day

目录 三层架构 MVC模型 SpringMVC 快速入门案例 SpringMVC的概述&#xff08;了解&#xff09; SpringMVC在三层架构的位置 SpringMVC的优势&#xff08;了解&#xff09; 创建SpringMVC的Maven项目 1.在pom.xml中添加所需要的jar包 2.在工程的web.xml中配置核心Spring…...

基于C++雪花算法工具类Snowflake -来自chatGPT

#include <iostream> #include <chrono> #include <stdexcept>class Snowflake { private:// 雪花算法的各个参数static constexpr int64_t workerIdBits 5;static constexpr int64_t datacenterIdBits 5;static constexpr int64_t sequenceBits 12;stati…...

若依打印sql

官方issue 自动生成的代码&#xff0c;sql日志怎么没有打印 在ruoyi-admin中的application.yml配置如下。 # 日志配置&#xff0c;默认 logging:level:com.ruoyi: debugorg.springframework: warn#添加配置com.ying: debug输出sql...

Camunda BPM Run下载(7.20)

官网地址: https://camunda.com/ 中文站点:http://camunda-cn.shaochenfeng.com https://downloads.camunda.cloud/release/camunda-bpm/run/7.20/https://downloads.camunda.cloud/release/camunda-bpm/run/7.20/camunda-bpm-run-7.20.0-alpha3.ziphttps://downloads.camunda…...

【Ubuntu】Ubuntu 22.04 升级 OpenSSH 9.3p2 修复CVE-2023-38408

升级原因 近日Openssh暴露出一个安全漏洞CVE-2023-38408&#xff0c;以下是相关资讯&#xff1a; 一、漏洞详情 OpenSSH是一个用于安全远程登录和文件传输的开源软件套件。它提供了一系列的客户端和服务器程序&#xff0c;包括 ssh、scp、sftp等&#xff0c;用于在网络上进行…...

【知网检索】2023年金融,贸易和商业管理国际学术会议(FTBM2023)

随着经济全球化&#xff0c;贸易自由化的进程加快&#xff0c;我国经济对外开放程度不断加深&#xff0c;正在加快融入世界经济一体化当中。当今世界各国竞争过程中&#xff0c;金融、贸易以及商业形态已成为其关键与焦点竞争内容。 2023年金融、贸易和商业管理国际学术会议(F…...

数据可视化:Matplotlib详解及实战

1 Matplotlib介绍 Matplotlib是Python中最常用的可视化工具之一,可以非常方便地创建海量类型的2D图表和一些基本的3D图表。 Matplotlib提供了一个套面向绘图对象编程的API接口&#xff0c;能够很轻松地实现各种图像的绘制&#xff0c;并且它可以配合Python GUI工具&#xff08;…...

Flutter flutter_boost 集成

刚开始接触使用flutter boost路由的心得体会记录如下&#xff1a; Fltter项目部分&#xff1a; 第一步 在Flutter项目的 pubspec.yaml文件中添加如下信息&#xff1a; flutter_boost:git:url: https://github.com/alibaba/flutter_boost.gitref: 4.3.0之后在flutter工程下运…...

Stable Diffusion中人物生成相关的negative prompts

下面是常用的negative prompt&#xff0c;在使用stable Diffusion webui等工具生成时可以填入。 bad anatomy, bad proportions, blurry, cloned face, deformed, disfigured, duplicate, extra arms, extra fingers, extra limbs, extra legs, fused fingers, gross proporti…...

QT - 建立页面

一、生成页面 二、实现 1.LineEdit 是一个单行输入文本框&#xff0c;为用户提供了比较多的编辑功能&#xff0c;例如选择复制、粘贴。 修改echomode属性为password Push Button(常规按钮) 三、程序 声明全局变量&#xff0c;属于MainWindow private: // 定义了一个指向Ma…...

python中几个有趣的函数和推导式

前言 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! 一、range()函数 1、range()通常用来做循环。 2、range()生成器的特性。 例子&#xff1a;假如range&#xff08;&#xff09;中使用的数值特别大&#xff0c;为100000000000000000000000000000&#xff1f; python解释…...

【Jenkins】Jenkins 安装

Jenkins 安装 文章目录 Jenkins 安装一、安装JDK二、安装jenkins三、访问 Jenkins 初始化页面 Jenkins官网地址&#xff1a;https://www.jenkins.io/zh/download/ JDK下载地址&#xff1a;https://www.oracle.com/java/technologies/downloads/ 清华源下载RPM包地址&#xff…...

LNMP搭建以及Discuz论坛部署

目录 LNMP 编译安装 LNMP搭建 Nginx 服务 MySQL 服务 PHP 解析环境 部署 Discuz社区论坛 LNMP 目前成熟的企业网站的应用模式之一&#xff0c;指的是一套协同工作的系统和相关软件&#xff0c;能提供静态页面服务和动态web服务 L linux系统 N nginx网站服务&#xff0…...

MGRE综合

实验 一、实验思路 1.先按照上图配置IP地址及环回 2.写缺省使公网可通 3.让R1、R4、R5每台路由器均成为中心站点形成全连网状结构拓扑 4.让R1成为中心站点R2R3为分支站点 5.分区域宣告ospf之后更改ospf在虚拟接口Tunnel工作方式为broadcast及让R1 当选DR 二、上虚拟机操作…...

hcip的mgre和ospf实验

题目 拓扑图 一、配置环回和IP地址 R1 < Huawei>sy Enter system view, return user view with CtrlZ. [Huawei]sysname r1 [r1]int g0/0/1 [r1-GigabitEthernet0/0/1]ip add 64.1.1.1 24 Aug 4 2023 18:56:07-08:00 r1 %%01IFNET/4/LINK_STATE(l)[0]:The line protocol…...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式&#xff0c;可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

dedecms 织梦自定义表单留言增加ajax验证码功能

增加ajax功能模块&#xff0c;用户不点击提交按钮&#xff0c;只要输入框失去焦点&#xff0c;就会提前提示验证码是否正确。 一&#xff0c;模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计&#xff0c;聪明的码友立马就知道了&#xff0c;该到数据访问模块了&#xff0c;要不就这俩玩个6啊&#xff0c;查库势在必行&#xff0c;至此&#xff0c;它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据&#xff08;数据库、No…...

中医有效性探讨

文章目录 西医是如何发展到以生物化学为药理基础的现代医学&#xff1f;传统医学奠基期&#xff08;远古 - 17 世纪&#xff09;近代医学转型期&#xff08;17 世纪 - 19 世纪末&#xff09;​现代医学成熟期&#xff08;20世纪至今&#xff09; 中医的源远流长和一脉相承远古至…...

回溯算法学习

一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...

七、数据库的完整性

七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解

在 C/C 编程的编译和链接过程中&#xff0c;附加包含目录、附加库目录和附加依赖项是三个至关重要的设置&#xff0c;它们相互配合&#xff0c;确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中&#xff0c;这些概念容易让人混淆&#xff0c;但深入理解它们的作用和联…...