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

智能通风柜手势控制界面设计与实现

目 录

1 绪论 1
1.1课题研究背景和意义 1
1.2国内外研究现状和发展 1
1.3研究内容 2
1.3.1单片机的通讯 2
1.3.2单片机的数据处理 2
1.3.3操作界面的设计与数据显示 3
1.4研究方案 3
2单片机概述 4
2.1单片机介绍与选择 4
2.2 Arduino单片机控制原理 4
2.2.1Arduino Uno概述 4
2.2.2输入输出 5
2.2.3通讯 5
2.2.4模拟信号 6
2.2.5通讯方式 7
3 手势控制技术概述 9
3.1手势识别模块介绍 9
3.2 PAJ7620型模块 9
3.3 MARS型模块 10
3.4比较分析与最终选择 11
4 控制界面概述 12
4.1图形界面 12
4.2信号的反馈与处理 12
5 硬件电路的设计与实现 14
5.1硬件总体结构 14
5.2主要硬件模块的设计 14
5.2.1电机驱动模块的设计 14
5.2.2电机模块设计 16
5.2.3触摸屏模块设计 16
5.2.4手势识别模块设计 16
5.2.5限位模块设计 16
5.3电机的选择和电机驱动模块的设计 16
6 总系统的设计与验证 18
6.1限位检测系统设计 18
6.2执行系统设计 19
6.3显示界面设计 21
6.3.1矢量图的制作 21
6.3.2背景图片的编辑 21
6.3.3数据的传递 22
6.4手势识别识别系统设计 23
6.5总系统设计与布局 24
7 总结与展望 25
7.1本文的工作总结 25
7.2展望 25
参考文献 27
致 谢 28
附页 29

1.3研究内容
1.3.1单片机的通讯
单片机通讯可以使用TX/RX的串口通讯,同时也可以使用I2C协议进行通讯。虽然它们之间的协议不尽相同,但是都可以实现设备间的通讯,完成数据间的交流与处理。TX/RX的串口通讯协议只需设备间的TX/RX相互交错连接,即可实现通讯,且可同时实现通讯。I2C通讯中总线只有两根双向信号线,一根是数据线SDA,另一根时时钟线SCL。原理如图所示:

图1-1 I2C通讯原理
1.3.2单片机的数据处理
当单片机读取到串口中的信号时,反馈给一个引脚高/低电平的数字信号,从而实现数据间的处理。
1.3.3操作界面的设计与数据显示
其操作界面可以通过自己制作贴图的方式,同时给予触摸位置按钮开关的命令,实现在满足界面的条件下,对外部设备的控制与显示的作用。
在考虑有没有下注的情况下,进行不同的反馈。同时给予一定的动画效果,让其看上去更加真实。具体效果如图所示:
本课题主要研究的内容有单片机与显示屏的通信,单片机的数据处理何显示屏的界面设计。论文分为七章:
第一章:论述了国内外对于手势识别的一些发展,并简要介绍论文的主要研究内容与研究方案。
第二章:介绍了当前的单片机的种类和未来的发展趋势,简单介绍Arduino单片机的控制原理。
第三章:阐述了手势控制的一些原理和方法,介绍选用的两种模块在对手势控制的原理,比较选用的两种手势控制传感器的不同与优缺点,和最终选用的手势识别传感器。
第四章:介绍了采用怎样的图形界面显示屏,和对其界面的设计,将单片机的信号处理并反馈在显示屏中和显示屏的信号传入单片机时单片机的处理和执行。
第五章:介绍了一些在实现这些功能的同时所需要的一些其他的电器元件,及其整个系统的电气线路图的布局。
第六章:对整个系统的整合与设计。
第七章:展望与总结。
1.4研究方案
本文将采用两个手势识别传感器对其进行可行性的探究,并发现他们在各方面的优点,并选择其中一种手势识别传感器完成接下来的工作。
使用两种以上的触碰传感器,比较优劣,并根据具体工况下选择合理的触碰传感器。选择适合的触摸屏,本文转载自http://www.biyezuopin.vip/onews.asp?id=14860并且能够设计多种方案,完成触摸屏的界面设计。
7 总结与展望
7.1本文的工作总结
本文通过使用Arduino作为控制器,电机作为执行器,触碰开关、手势识别作为传感器、触摸屏作为显示器,完成了手势识别去控制智能通风柜的操作。
本文的主要工作主要包括以下内容:
(1)对人机交互、手势识别的定义做了简单介绍,并阐述了手势识别的发展历史和当前研究情况。
(2)介绍了数字信号、模拟信号、单片机通讯、通讯方式等基本知识。
(3)分析了PAJ7620和MARS手势识别模块的优劣,并确定了在之后使用的手势识别模块。
(4)学习了使用Arduino单片机,并且能够将得到的信号作为触发信号对执行器进行控制。
(5)了解了单片机的通信协议与通信接口,能够将触摸屏、手势识别传感器、单片机、电机、触碰传感器有机地结合起来,实现特定的功能。
(6)能够自主的使用Altiun Designer软件设计系统的电路原理图,对之后的创新提供了思路。

while (Serial.available() > 0) {//判断串口是否有信号输入,有则执行switch选择
		switch (item) {//使用switch来判断收到什么信号执行怎样的操作
		case '0'://信号0
			//停止
			digitalWrite(9,HIGH);
			digitalWrite(10,HIGH);
			break;
			//电机左转
		case '1':
			digitalWrite(9,HIGH);
			digitalWrite(10,LOW);
			break;
			//电机右转
		case '2':
			digitalWrite(9,LOW);
			digitalWrite(10,HIGH);
			break;
			//收到干扰信号时,保证电机停止状态
		default:
			digitalWrite(9,HIGH);
			digitalWrite(10,HIGH);
			break;
		}

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

相关文章:

  • 2021年系统架构师综合知识错题
  • Java 面向对象2——继承
  • java多线程三种实现方式
  • Flink SQL 在kerberos on yarn环境下提交
  • 电动自行车亚马逊/出口欧盟CE认证EN15194测试标准如何办理
  • CAD绘制复杂机械零件图形
  • 命令模式【Java设计模式】
  • MyBatis动态SQL中if、where、trim、choose、when、otherwise、foreach标签及sql标签范例
  • LeetCode每日一题(990. Satisfiability of Equality Equations)
  • 关键字和内置函数
  • 2022-2028全球园艺设备行业调研及趋势分析报告
  • 【Android入门】7、多媒体:用 NotificationChannel 和 NotificationManager 实现系统通知、播放音频和视频
  • eNSP抓包看PPP协议
  • 继SpringCloudAlibaba后阿里又一神作:MySQL应用实战与性能调优
  • 数据库系统概论笔记
  • Android 架构优化~MVP 架构改造
  • Android框架之Volley
  • Angular 4.x 动态创建组件
  • leetcode讲解--894. All Possible Full Binary Trees
  • Linux CTF 逆向入门
  • mysql_config not found
  • PAT A1120
  • PHP 小技巧
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • vue-cli3搭建项目
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 我的面试准备过程--容器(更新中)
  • 再谈express与koa的对比
  • 自制字幕遮挡器
  • MyCAT水平分库
  • 交换综合实验一
  • 扩展资源服务器解决oauth2 性能瓶颈
  • 数据可视化之下发图实践
  • ​如何防止网络攻击?
  • ​学习一下,什么是预包装食品?​
  • ​一些不规范的GTID使用场景
  • $.ajax,axios,fetch三种ajax请求的区别
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (2)(2.10) LTM telemetry
  • (4) PIVOT 和 UPIVOT 的使用
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (SpringBoot)第七章:SpringBoot日志文件
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (四)模仿学习-完成后台管理页面查询
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (一)基于IDEA的JAVA基础10
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .Net 代码性能 - (1)
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...
  • .NET/C# 使用反射调用含 ref 或 out 参数的方法
  • .Net程序帮助文档制作