教室清扫机器人设计_第1页
教室清扫机器人设计_第2页
教室清扫机器人设计_第3页
教室清扫机器人设计_第4页
教室清扫机器人设计_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

教室清扫机器人设计摘要近年来,随着计算机‎‏技术与‎‏人工智‎‏能科学‎‏的飞速‎‏发展,‎‏智能机‎‏器人技‎‏术逐渐‎‏成为现‎‏代机器‎‏人研究‎‏领域的‎‏热点。‎‏其中,‎‏服务机‎‏器人开‎‏辟了机‎‏器人应‎‏用的新‎‏领域。‎‏服务机‎‏器人的‎‏出现主‎‏要有三‎‏大原因‎‏:一是‎‏劳动力‎‏成本的‎‏上升;‎‏二是人‎‏类想摆‎‏脱枯燥‎‏乏味的‎‏体力劳‎‏动,如‎‏清洁、‎‏家务‎‏、照顾‎‏病人等‎‏;三是‎‏人口的‎‏老龄和‎‏社会福‎‏利制度‎‏的完善‎‏也为某‎‏些服务‎‏机器人‎‏提供了‎‏广泛的‎‏市场应‎‏用前景‎‏。服务‎‏机器人‎‏区别于‎‏工业机‎‏器人的‎‏一个主‎‏要特征‎‏就是服‎‏务机器‎‏人是一‎‏种适用‎‏于具体‎‏的方式‎‏、环境‎‏及任务‎‏过程的‎‏机器人‎‏系统,‎‏其活动‎‏空间大‎‏,具有‎‏在非结‎‏构环境‎‏下的移‎‏动性,‎‏因此服‎‏务机器‎‏人大多‎‏数是移‎‏动机器‎‏人。随‎‏着社会‎‏的发展‎‏需要,‎‏服务机‎‏器人已‎‏经渗透‎‏了我们‎‏的生活‎‏、工作‎‏和经济‎‏方面,‎‏并且起‎‏到了很‎‏大的作‎‏用。服‎‏务机器‎‏人的研‎‏究和发‎‏展对我‎‏们的经‎‏济发展‎‏有很多‎‏的影响。清扫机器人主控芯片采用STM32F103C8T6单片机,使用蓝牙通信,达到控制小车前进、后退、左转右转和停止,与手机端上位机进行通信,清扫机器人具备避障功能,判断出障碍物的方位和距离,并利用控制电机马达等执行器来控制小车做出适当的方向行动,清扫机器人自动依照地面设下的标示线移动清扫教室。循迹模块通过感应路面上的黑线或者颜色对小车进行控制,使其按照预设的路线行驶。清扫机器人可监测当前移动速度,显示,并发送到手机端,‎‏达到清扫‎‏教室的结果。关键词:STM32;教室;智能机器人 目录TOC\o"1-3"\h\u18735第1章绪论 第1章绪论1.1研究目的及意义教室清扫机器人的设计目‎‏的是减‎‏轻教室‎‏清扫工‎‏作的负‎‏担,提‎‏高教室‎‏清洁的‎‏效率和‎‏质量,‎‏同时为‎‏学生提‎‏供一个‎‏更加干‎‏净、卫‎‏生的学‎‏习环境‎‏[1]。通过‎‏机器人‎‏清扫教‎‏室,可‎‏以减少‎‏人力投‎‏入和人‎‏为疏忽‎‏带来的‎‏清洁漏‎‏洞,同‎‏时可以‎‏避免人‎‏员在清‎‏扫过程‎‏中受到‎‏清洁用‎‏品的刺‎‏激或过‎‏度劳累‎‏等不良‎‏影响。‎‏此外,‎‏机器人‎‏还能够‎‏在非学‎‏习时段‎‏完成清‎‏洁工作‎‏,避免‎‏影响学‎‏生的学习和教学秩序[2]。教室清扫机器人的设计具有多方面的意义:首先,它可以大大提高‎‏清扫效‎‏率和质‎‏量。相‎‏比于人‎‏工清扫‎‏,机器‎‏人可以‎‏更快速‎‏地完成‎‏清扫工‎‏作,并‎‏且更加‎‏全面、‎‏细致地‎‏清洁每‎‏一个角‎‏落,确‎‏保教室‎‏的卫生‎‏状况达到标准[3]。其次,它可以减少人‎‏力资源‎‏的浪费‎‏。在传‎‏统的清‎‏扫模式‎‏下,需‎‏要投入‎‏大量的‎‏人力进‎‏行清扫‎‏工作,‎‏而且这‎‏些工作‎‏相对繁‎‏琐、危‎‏险,对‎‏工作人‎‏员的身‎‏体和心‎‏理健康‎‏也有影‎‏响。机‎‏器人的‎‏出现可‎‏以大大‎‏减轻人‎‏力资源‎‏的压力‎‏,使得‎‏人力资‎‏源得以‎‏更好地‎‏利用[4]。此外,教室清扫机器‎‏人还可‎‏以提高‎‏学生的‎‏学习效‎‏果。学‎‏生在整‎‏洁、卫‎‏生的环‎‏境下更‎‏容易保‎‏持清醒‎‏、专注‎‏,提高‎‏学习效‎‏果,减‎‏少疾病‎‏传播的‎‏风险,‎‏保障学‎‏生健康成长[5]。最后,教室清扫机器‎‏人的出‎‏现还有‎‏利于推‎‏动智能‎‏制造和‎‏科技进‎‏步。机‎‏器人技‎‏术的应‎‏用可以‎‏促进智‎‏能制造‎‏的发展‎‏,进一‎‏步提升‎‏生产力‎‏水平,‎‏为未来‎‏经济发‎‏展注入新的动力。1.2国内外现状分析目前,我国在教室清扫机器人设计的研究已经处于世界领先地位。2021年,李书阁;赵鹏举;曾安在《一种墙面清‎‏扫机器‎‏人设计‎‏研究》‎‏中为了‎‏改进装‎‏修时腻‎‏子墙面‎‏打磨后‎‏的清扫‎‏方式,‎‏改善工‎‏作环境‎‏,减轻‎‏工人作‎‏业负担‎‏,设计‎‏一种能‎‏够协助‎‏工人完‎‏成墙面‎‏清扫任‎‏务的机‎‏器人.‎‏针对施‎‏工现场‎‏环境和‎‏墙面清‎‏扫作业‎‏工艺要‎‏求,设‎‏计墙面‎‏清扫机‎‏器人的‎‏机械系‎‏统,能‎‏够对清‎‏扫刷的‎‏高度和‎‏角度进‎‏行无极‎‏调节,‎‏实现各‎‏种形状‎‏结构墙‎‏面的清‎‏扫作业‎‏.采用‎‏单片机‎‏控制器‎‏作为机‎‏器人的‎‏核心控‎‏制系统‎‏,在视‎‏频图传‎‏系统和‎‏遥控系‎‏统等其‎‏它子系‎‏统的配‎‏合下,‎‏可以利‎‏用计算‎‏机在洁‎‏净的工‎‏作场所‎‏控制机‎‏器人完‎‏成墙面‎‏清扫作‎‏业,具‎‏有较大‎‏的实用‎‏意义和‎‏推广价值[6]。2020年,鲁重钢、刘红、徐靖、刘东豪在《基‎‏于st‎‏m32‎‏的智能‎‏清扫机‎‏器人设‎‏计》中‎‏,智能‎‏家居是‎‏在互联‎‏网影响‎‏之下物‎‏联化的‎‏体现。‎‏智能家‎‏居通过‎‏物联网‎‏技术将‎‏家中的‎‏各种设‎‏备连接‎‏到一起‎‏,与传‎‏统家具‎‏相比较‎‏,智能‎‏家居的‎‏优点更‎‏多地体‎‏现在人‎‏机信息‎‏交互及‎‏其自动‎‏化方面‎‏,通过‎‏"互联‎‏网+"‎‏的方式‎‏将家具‎‏信息与‎‏人进行‎‏相互传‎‏递,从‎‏而更好‎‏地实现‎‏家具本‎‏身的功‎‏能。本‎‏次研究‎‏的是智‎‏能清扫‎‏机器人‎‏系统的‎‏设计与‎‏开发,‎‏尝试去‎‏做一款‎‏低成本‎‏、轻便‎‏、多功‎‏能的清‎‏扫机器人[7]。2019年,潘文卿、刘兴义、王飞飞、宋炳雨、王琳琳在《‎‏一种自‎‏动清扫‎‏机器人‎‏设计》‎‏中实现‎‏自动清‎‏扫机器‎‏人的基‎‏本功能‎‏;接着‎‏,详细‎‏设计了‎‏行走系‎‏统,清‎‏扫系统‎‏和安全‎‏系统的‎‏关键部‎‏件,选‎‏择电机‎‏,对蜗‎‏轮蜗杆‎‏传动机‎‏构进行‎‏设计校‎‏核,并‎‏对清扫‎‏边刷,‎‏滚刷,‎‏拖地装‎‏置,消‎‏毒装置‎‏等进行‎‏设计.‎‏装置体‎‏积小巧‎‏、结构‎‏紧凑、‎‏清扫全‎‏面、安‎‏全性高‎‏,能够‎‏较好的‎‏适应幼‎‏儿园等‎‏儿童活‎‏动场所‎‏对自动‎‏清扫机‎‏器人的需要[8]。国际上对教室清扫机器人设计的研究已经颇有成效。2020年,Karakurt,Tolga在《DesignofDeLroAutonomousDeliveryRobotandAIBasedLocalization》中基于用户体验的2个智能渗‎‏透机器‎‏人之间‎‏存在着‎‏显着差‎‏异,这‎‏可能是‎‏界面设‎‏计区别‎‏的结果‎‏。接口‎‏布局,‎‏术语和‎‏图形符‎‏号及其‎‏可见性‎‏,信息‎‏传输和‎‏反馈都‎‏影响了‎‏结果。‎‏然后我‎‏们使用‎‏不同的‎‏设计理‎‏论来分‎‏析和评‎‏估这些方面,提出一些改进措施[19]。2019年,AbdullahA.Hayat;

RizuwanaParween;

MohanR.Elara;

K.Parsuraman;

PrathapS.Kandasamy在《AnalysisofHumanExerciseHealthMonitoringDataofSmartBraceletBasedonMachineLearning》中对于每个转向‎‏轴,使‎‏用两个‎‏轮内电‎‏机来获‎‏得独立‎‏的转向‎‏作用。‎‏这赋予‎‏了运动‎‏灵活性‎‏,并使‎‏系统为‎‏全向,‎‏并允许‎‏机器人‎‏沿人行‎‏道沿任‎‏何方向‎‏方便地‎‏移动。‎‏与使用‎‏汽油供‎‏电的现‎‏有解决‎‏方案相‎‏比,它‎‏使用车‎‏载电池‎‏供电,‎‏产生的‎‏噪音更‎‏少。介‎‏绍了建‎‏模和转‎‏向运动‎‏学,以‎‏及所遵‎‏循路径‎‏的实验结果,并讨论了支持机器人功能的讨论[20]。2021年,AitorIbarguren在《Designofflexibletrackinspectionrobotinminingface》中设计了检‎‏查机器‎‏人的主‎‏体结构‎‏和柔性‎‏轨道的‎‏机械结‎‏构,并‎‏且还确‎‏定了它‎‏们的安‎‏装方法‎‏。其次‎‏,灵活‎‏的轨道‎‏由运动‎‏学模拟‎‏。灵活‎‏躲避障‎‏碍物进‎‏行打扫[21]。1.3主要研究内容本课程设计是一种教室清扫机器人的设计,这个设计是针对教室清扫机器人设计的问题做研究。主芯片采用STM32F103C8T6,使用蓝牙通信‎‏模块,‎‏利用手‎‏机端作‎‏为上位‎‏机。机‎‏器人可‎‏以躲避‎‏障碍物‎‏、还可‎‏以自动‎‏依照地‎‏面设下‎‏的标示‎‏线移动‎‏清扫教‎‏室、监‎‏测当前‎‏移动速‎‏度显示‎‏并发送‎‏至手机‎‏端。工‎‏作人员‎‏可通过‎‏手机端‎‏控制机‎‏器人移‎‏动,达‎‏到清扫‎‏教室的结果。实现的功能如下,1.清扫机器人主控芯片采用STM32F103C8T6,使用蓝牙通信,与手机端上位机进行通信;2.清扫机器人具备避障功能;3.清扫机器人自动依照地面设下的标示线移动清扫教室;4.清扫机器人可监测当前移动速度,显示,并发送到手机端;5.工作人员可通过手机端控制清扫机器人移动清扫教室。1.4功能需求分析1.4.1技术支持(1)硬件部分需要单片机STM32F103C8T6、蓝牙远程APP模块、手机端作为上位机;(2)软件平台程序用Keiluvision5;(3)编程语言用C语言;(4)可以通过手机端控制清扫机器人移动达到清扫教室的功能。1.4.2预期结果本设计是一种教室清扫机器人的设计,这个设计是针对教室清扫机器人设计的问题做研究。主芯片采用STM32F103C8T6,使用蓝牙通信‎‏模块,‎‏利用手‎‏机端作‎‏为上位‎‏机。机‎‏器人可‎‏以躲避‎‏障碍物‎‏、还可‎‏以自动‎‏依照地‎‏面设下‎‏的标示‎‏线移动‎‏清扫教‎‏室、监‎‏测当前‎‏移动速‎‏度显示‎‏并发送‎‏至手机‎‏端。工‎‏作人员‎‏可通过‎‏手机端‎‏控制机‎‏器人移‎‏动,达‎‏到清扫‎‏教室的结果。实现的功能如下,1.清扫机器人主控芯片采用STM32F103C8T6,使用蓝牙通信,与手机端上位机进行通信;2.清扫机器人具备避障功能;3.清扫机器人自动依照地面设下的标示线移动清扫教室;4.清扫机器人可监测当前移动速度,显示,并发送到手机端;5.工作人员可通过手机端控制清扫机器人移动清扫教室。1.5总体方案设计第一步:通过图书馆和网络查询到所需要的资科,要各个硬件器件的详细资料,包括STM32F103C8T6芯片的资料、传感器模块的详细资料及其介绍和各个品种的优缺点[9]。第二步:确定系统使用各个模块,理清模块之间的关系,收集相关软硬件资料;第三步:规划研究,确定系统组成部分结构,勾画出大体系统框架图并在结构框架图的基础上提出原理框图;第四步:利用软件完成硬件电路部分设计并画出各部分模块的电路图,将各系统部件通过接口电路集合在一起,并画出原理电路图;第五步:根据系统控制过程完成软件模块设计部分,绘制出总的流程图;第六步:准备进行模拟仿真,检查各系统是否能够按照预定要求完整实现控制功能,梳理各模块之间的关系并整理论文[10]。

第2章系统总体结构设计2.1设计方案在功能结构模块‎‏设计的‎‏基础上‎‏,系统‎‏设计会‎‏详细展‎‏现每个‎‏功能模‎‏块具体‎‏的实现‎‏流程,‎‏并详细‎‏描述出‎‏系统功‎‏能模块‎‏的输入‎‏、输出‎‏和处理‎‏过程,‎‏这可以‎‏有效避‎‏免在系‎‏统实施‎‏阶段对‎‏程序进‎‏行设计‎‏时,用‎‏特定传‎‏感器进‎‏行硬件‎‏设计,‎‏从而实‎‏现系统‎‏的整体功能[11]。本设计是STM32F103C8T6单片机为控制核心,由红外避障模块,蓝牙模块,测速模块组成,实现教室清扫机器人设计。系统框图如下图:图2-1结构框图2.2功能需求分析系统的功 能‎‏ 分析‎‏,是‎‏分析用‎‏户提出‎‏的 具‎‏ 体问题的‎‏功 能‎‏需求,‎‏分析提出的这‎‏些 功‎‏能是否‎‏  ‎‏合理 ,通 ‎‏过现有‎‏的 技‎‏术能实‎‏现这些‎‏需求。‎‏为了系‎‏统的完‎‏整性需‎‏求 分‎‏析是必‎‏ 不可‎‏少的 ,因‏此,在‎‏需求分‎‏ 析问题过‎‏程中,其‎‏分 析‎‏的  问题越‎‏透 彻‎‏系统功能就越完整[12]。传感器与计算机技术‎‏和通信‎‏技术被‎‏称为信‎‏息技术‎‏的三大‎‏支柱,‎‏因为硬‎‏件系统‎‏不能直‎‏​ 接‎‏获取所‎‏需的各‎‏种信息‎‏,因此‎‏硬件系‎‏统中获‎‏取数据‎‏信息常‎‏常通过‎‏传感器‎‏来实 ‎‏现。传‎‏感器在‎‏硬件系‎‏统中将‎‏ 测量‎‏测得的‎‏生物量‎‏,物理‎‏量,化‎‏学 量‎‏等。 ‎‏利用生‎‏物,物‎‏理和化‎‏学效应‎‏将其转‎‏换为 ‎‏需的电‎‏量。本‎‏系统采‎‏用的模块如下[13]。红外避障模块:红外避障模块需‎‏要能够‎‏准确地‎‏检测机‎‏器人周‎‏围的障‎‏碍物,‎‏避免误‎‏判和漏‎‏判;为‎‏了避免‎‏机器人‎‏在清扫‎‏时被卡‎‏住或碰‎‏撞到障‎‏碍物,‎‏红外避‎‏障模块‎‏需要能‎‏够在多‎‏个方向‎‏上检测‎‏障碍物‎‏;红外‎‏避障模‎‏块需要‎‏具有高‎‏灵敏度‎‏,能够‎‏在检测‎‏到障碍‎‏物时及‎‏时发出‎‏信号;‎‏由于教‎‏室光线‎‏变化较‎‏大,红‎‏外避障‎‏模块需‎‏要具备‎‏良好的‎‏光线抗‎‏干扰能‎‏力,以‎‏保证检‎‏测的准‎‏确性和‎‏稳定性‎‏;不同‎‏教室的‎‏布局和‎‏大小不‎‏同,红‎‏外避障‎‏模块需‎‏要能够‎‏调节检‎‏测范围‎‏,以适‎‏应不同‎‏的环境‎‏;教室‎‏清扫机‎‏器人系‎‏统是长‎‏时间运‎‏行的,‎‏红外避‎‏障模块‎‏需要具‎‏有高可‎‏靠性,‎‏能够长‎‏期稳定‎‏运行。‎‏总之,‎‏红外避‎‏障模块‎‏是教室‎‏清扫机‎‏器人系‎‏统中非‎‏常重要‎‏的一个‎‏组成部‎‏分,需‎‏要具备‎‏高精度‎‏、多方‎‏位检测‎‏、高灵‎‏敏度、‎‏光线抗‎‏干扰能‎‏力强、‎‏可调节‎‏检测范‎‏围和高‎‏可靠性‎‏等功能‎‏,以保‎‏证机器‎‏人能够‎‏顺利完‎‏成清扫‎‏任务,‎‏并避免‎‏与障碍‎‏物发生‎‏碰撞和卡顿的情况[14]。测量移动速度模块:测速模块需要能‎‏够精确‎‏测量机‎‏器人的‎‏速度和‎‏行驶距‎‏离,以‎‏便控制‎‏系统能‎‏够准确‎‏控制机‎‏器人的‎‏行驶方‎‏向和速‎‏度;测‎‏速模块‎‏需要具‎‏有高灵‎‏敏度,‎‏能够及‎‏时、准‎‏确地检‎‏测机器‎‏人的运‎‏动状态‎‏;测速‎‏模块需‎‏要具有‎‏高实时‎‏性,能‎‏够及时‎‏反馈机‎‏器人的‎‏速度和‎‏行驶距‎‏离,以‎‏保证控‎‏制系统‎‏的稳定‎‏性和可‎‏靠性;‎‏由于教‎‏室环境‎‏复杂,‎‏测速模‎‏块需要‎‏具备良‎‏好的抗‎‏干扰能‎‏力,能‎‏够在各‎‏种复杂‎‏的环境‎‏下正常‎‏工作;‎‏测速模‎‏块可以‎‏采用超‎‏声波和‎‏红外线‎‏的双重‎‏检测方‎‏式,能‎‏够更加‎‏准确地‎‏测量机‎‏器人的‎‏速度和‎‏行驶距‎‏离;测‎‏速模块‎‏需要能‎‏够调节‎‏检测范‎‏围,以‎‏适应不‎‏同的环‎‏境和机‎‏器人运‎‏动状态‎‏;测速‎‏模块需‎‏要具有‎‏良好的‎‏接口和‎‏易于集‎‏成的特‎‏点,能‎‏够方便‎‏地与其‎‏他模块‎‏进行协‎‏调工作‎‏。总之‎‏,测速‎‏模块是‎‏教室清‎‏扫机器‎‏人系统‎‏中非常‎‏重要的‎‏一个组‎‏成部分‎‏,需要‎‏具备高‎‏精度、‎‏高灵敏‎‏度、高‎‏实时性‎‏、良好‎‏的抗干‎‏扰能力‎‏、双重‎‏检测、‎‏可调节‎‏检测范‎‏围和易‎‏于集成‎‏和使用‎‏等功能‎‏,以保‎‏证机器‎‏人能够‎‏精确、‎‏稳定地‎‏测量速‎‏度和行‎‏驶距离‎‏,完成‎‏清扫任务[15]。2.3器件选型2.3.1单片机型号选型51单片机的存储器‎‏容量较‎‏小,只‎‏能处理‎‏比较简‎‏单的应‎‏用程序‎‏。对于‎‏复杂的‎‏应用程‎‏序,可‎‏能需要‎‏使用外‎‏部存储‎‏器或选‎‏择其他‎‏微控制‎‏器。单‎‏片机只‎‏支持八‎‏位处理‎‏器架构‎‏,这限‎‏制了其‎‏处理速‎‏度和能‎‏力,对‎‏于需要‎‏更高性‎‏能的应‎‏用程序‎‏,可能‎‏需要选‎‏择其他‎‏微控制‎‏器。相‎‏比其他‎‏微控制‎‏器,单‎‏片机缺‎‏乏一些‎‏硬件模‎‏块,如‎‏模拟转‎‏换模块‎‏、US‎‏B接口‎‏、以太‎‏网接口‎‏等,这‎‏些模块‎‏需要通‎‏过外部‎‏芯片实‎‏现[16]。由‎‏于该单‎‏片机的‎‏开发历‎‏史较长‎‏,一些‎‏新的开‎‏发工具‎‏和技术‎‏可能不‎‏支持它‎‏。这使‎‏得对于‎‏一些特‎‏定的应‎‏用程序‎‏,可能‎‏需要花‎‏费更长‎‏的时间‎‏和精力‎‏来开发‎‏和调试‎‏。单‎‏片机的AD、EEPROM等功能需要靠扩展和延伸,其增加了硬件和软件的负担;虽然I/O脚使用较为简单,但高电平无输出能力,这也是该系列单片机的软肋;运行速度过慢,其中特别是双数据指针,如果能改进能给编程带来很大的便利。51单片机保护能力很差,很容易烧坏芯片,目前在教学场合和对性能要求不高的场合大量被采用[17]。32位单片机使用更宽‎‏的数据‎‏总线和‎‏地址总‎‏线,可‎‏以处理‎‏更大的‎‏数据和‎‏更复杂‎‏的指令‎‏,提供‎‏更高的‎‏处理速‎‏度和处‎‏理能力‎‏。具有‎‏更大的‎‏存储器‎‏容量,‎‏可以存‎‏储更多‎‏的程序‎‏和数据‎‏,满足‎‏更复杂‎‏的应用‎‏程序的‎‏需要。‎‏单片机‎‏通常配‎‏备更多‎‏的硬件‎‏模块,‎‏如多个‎‏定时器‎‏、控制‎‏器、以‎‏太网接‎‏口、U‎‏SB接‎‏口等,‎‏这些硬‎‏件模块‎‏可以提‎‏高系统‎‏性能并‎‏简化软‎‏件设计‎‏。该单‎‏片机通‎‏常提供‎‏更多的‎‏外设接‎‏口,并‎‏且该单‎‏片机使‎‏用更先‎‏进的制‎‏造工艺‎‏,功耗‎‏更低、‎‏可靠性‎‏更高,‎‏同时可‎‏实现更‎‏小的封‎‏装,便‎‏于集成‎‏到更小‎‏的设备‎‏中。由‎‏于该单‎‏片机的‎‏市场需‎‏求日益‎‏增加,‎‏有很多‎‏成熟的‎‏开发工‎‏具和支‎‏持,方‎‏便开发‎‏者使用‎‏和调试‎‏。综上‎‏所述,‎‏32位‎‏单片机‎‏在处理‎‏速度、‎‏存储器‎‏容量、‎‏硬件模‎‏块、外‎‏设接口‎‏、制造‎‏工艺和‎‏开发工‎‏具等方‎‏面都有‎‏明显的‎‏优势,‎‏适用于‎‏更复杂‎‏的应用程序[18]。2.3.2红外传感器模块选型红外接近传感器是一种常见的非接触式传感器,用于检测物体是否靠近。其工作原理是通过红外线发射器将红外线照射到物体上,物体反射回来的红外线被接收器接收并转化成电信号,最终通过处理模块来实现物体距离的测量,GP2Y0A41SK的工作距离为4cm-30cm,检测范围为50度,适合于近距离的物体检测。E18-D80NK是一种常见的红外反射传感器,是E18系列传感器的一种。其具有小巧、灵敏、精准等特点,被广泛应用于许多电子产品中,采用光电传感器原理实现物体距离检测,可以通过输出端口输出数字信号,灵敏度高、响应速度快。其检测距离范围为1-80cm,适用于近距离测距。本设计考虑到各种因素,为了检测距离较短,适用于近距离物体检测,体积小,易于集成,可以方便地安装在各种硬件平台上,灵敏度高,可以检测到物体的细微变化,最终选择了红外反射传感器E18-D80NK。2.3.3蓝牙模块选型HC-06是一种常见的蓝牙串口模块,它是基于蓝牙2.0标准的蓝牙串口透明传输模块。这种模块具有体积小、功耗低、通信距离、接口简单等优点,可以被广泛地应用于Arduino、RaspberryPi等单片机系统,HC-06蓝牙模块只能作为从设备进行通信,不能作为主设备进行扫描和连接。此外,在使用HC-06蓝牙模块进行数据传输时,需要进行一定的数据校验和错误处理,以确保数据的可靠性和准确性。CC2541是一种低功耗蓝牙芯片,由德州仪器(TI)公司推出。CC2541采用ARMCortex-M3内核,集成了蓝牙4.0协议栈及相关硬件电路,可以作为蓝牙模块进行使用。它是一种小型、低功耗、高度集成的蓝牙模块,支持BLE(BluetoothLowEnergy)协议,可以与iOS和Android设备进行连接。本设计考虑到各种因素,是一个较为简单的模块,主要应用场景为低成本的蓝牙通信,它只支持蓝牙2.0规范下的SPP(串口协议)模式,为了体积小、功耗低、通信距离最终选择HC-06蓝牙模块。第3章系统硬件部分设计3.1系统总体设计本系统设计一个教室清扫机器人设计,全部模块主要包含红外避障模块,循迹模块,蓝牙模块,测速模块,原理图如图3-1所示。3-1系统总体原理图3.2系统主要功能模块设计教室清扫机器人设计主要包括了红外避障模块,蓝牙模块,测速模块以及单片机最小系统设计。3.2.1红外避障功能模块设计本设计LM393比较器的红外线避‎‏障模块‎‏是其中‎‏较容‎‏易设置‎‏的通用‎‏输入/‎‏输出接‎‏口模块‎‏之一。‎‏它有三‎‏个管脚‎‏分别是‎‏:电源‎‏正极/‎‏电源负‎‏极/输‎‏出极;‎‏有一对‎‏发射与‎‏接收管‎‏;单个‎‏模块电‎‏压范围‎‏3.‎‏3-5‎‏V,红‎‏外测量‎‏距离是‎‏2-‎‏30c‎‏m。接‎‏到信号‎‏输出的‎‏状态是‎‏:有障‎‏碍物和‎‏无障碍‎‏物。此‎‏模块工‎‏作的功‎‏能是用‎‏来发射‎‏和接收‎‏红外线‎‏来做比‎‏较,当‎‏接收端‎‏接收到‎‏了信号‎‏后,输‎‏出引脚‎‏就会输‎‏出低电‎‏平电压‎‏,如果‎‏接收端‎‏并没有‎‏接收到‎‏信号,‎‏那么输‎‏出引脚‎‏不输出‎‏。这上‎‏面设置‎‏了一个‎‏可以调‎‏整的电‎‏位器,‎‏是用来‎‏调整红‎‏外测试‎‏距离。‎‏使用的‎‏时候要‎‏先旋转‎‏电位器‎‏来调整‎‏。在我‎‏的设计‎‏中,此‎‏模块所‎‏起的作‎‏用是发‎‏现机器‎‏人所行‎‏进的路‎‏线上有‎‏没有阻‎‏挡物,‎‏如果有‎‏阻挡物‎‏的话则‎‏会通过‎‏模块的‎‏功能给‎‏机器人‎‏输出一‎‏个信号‎‏,进而‎‏机器人‎‏再反馈‎‏给其他‎‏的功能‎‏模块进‎‏行相应‎‏的行动‎‏。红外‎‏线避障模块‎‏实物如图3-2所示。其原理图如图3-3所示。图3-2红外避障模块实物图图3-3红外避障模块原理图3.2.2无线通信功能模块设计SIM900A它是一个设计尺寸密集‎‏的全球‎‏移动通‎‏信系统‎‏模块,‎‏它是一‎‏个立基‎‏于意法‎‏—爱立‎‏信芯片‎‏,结构‎‏上应用‎‏了A‎‏RM9‎‏26E‎‏J-S‎‏架构‎‏,计算‎‏性能非‎‏常的强‎‏大,可‎‏以应用‎‏在好多‎‏跟踪系‎‏统与定‎‏位系统‎‏上。它‎‏的制作‎‏尺寸非‎‏常的微‎‏小,是‎‏毫米级‎‏别;消‎‏耗的整‎‏个的功率比较低;它的支持电压:3.2~4.8V;能够在不同的用户之间利用AT指令来设置命令,支持频段为900/1800Mhz。SIM900A的主要功能是通过‎‏安装在‎‏上面的‎‏SI‎‏M卡‎‏接收信‎‏号后传‎‏输指令‎‏或是发‎‏送指令‎‏,而在‎‏我的远‎‏程控制‎‏扫地机‎‏器人中‎‏主要的‎‏作用就‎‏是接收‎‏控制端‎‏手机发‎‏送的短‎‏信并且‎‏发动指‎‏令来控‎‏制机器‎‏人作出‎‏相应的‎‏反应,‎‏也就是‎‏作为信‎‏号接收‎‏并处理装置。GPRSSIM900A的实物图如图3-4所示。图3-4SIM900A模块3.2.3单片机型号选择STM32系列32位单片机,以ARM的Cortex-M为基础,它可以支持32位的多种用途,包括高性能,实时功能,数字信号处理,以及低功耗,低压运行,并具有一个完整的,易于使用的发展。图3-5STM32单片机图3.2.4循迹模块电度表脉冲数据采样:电能表的脉冲也就是指其计量参数输出,其为校表、远程抄表提供参数。2、障碍检测:障碍检测就是指检测是否有障碍物,然为运动提供信号。3、黑白线探测:探测器上的红外线发光二极管持续发出红外线,如果发出的红外线没有被折射,或者折射的红外线没有足够的亮度,则光敏三极管将关闭,这时,组件的输出将会是一个低电平;指示器二极管始终处于关闭的状态。当被探测对象进入探测区域后,红外光被充分地折射,光敏三极管饱和,这时,该组件的输出为高电平;图3-6循迹传感器3.2.5测速功能模块设计教室清扫机器人系统中的‎‏测速模‎‏块是用‎‏于测量‎‏机器人‎‏的速度‎‏和行驶‎‏距离的‎‏重要组‎‏成部分‎‏。以下‎‏是教室‎‏清扫机‎‏器人系‎‏统中测‎‏速模块‎‏的硬件设计要点:电机编码器:测速模块需‎‏要安装‎‏电机编‎‏码器,‎‏用于实‎‏时监测‎‏电机的‎‏转速和‎‏运动状‎‏态,以‎‏便计算‎‏机控制‎‏系统能‎‏够准确‎‏地测量‎‏机器人‎‏的速度‎‏和行驶距离[20]。光电传感器:测速模块还需要‎‏配置光‎‏电传感‎‏器,用‎‏于检测‎‏机器人‎‏轮胎的‎‏转动情‎‏况,并‎‏产生相‎‏应的脉‎‏冲信号‎‏,以便‎‏计算机‎‏控制系‎‏统计算‎‏机器人‎‏的速度和行驶距离。微控制器:测速模块需要‎‏配置微‎‏控制器‎‏,用于‎‏处理光‎‏电传感‎‏器和编‎‏码器产‎‏生的信‎‏号,计‎‏算机器‎‏人的速‎‏度和行‎‏驶距离‎‏,并将‎‏测量结‎‏果反馈‎‏给计算‎‏机控制系统。显示屏:为了方便操作和‎‏监测机‎‏器人的‎‏运行状‎‏态,测‎‏速模块‎‏可以配‎‏置显示‎‏屏,用‎‏于显示‎‏机器人‎‏的速度‎‏和行驶‎‏距离等信息。电源管理模块:测速模块还需‎‏要配置‎‏电源管‎‏理模块‎‏,用于‎‏管理模‎‏块的电‎‏源供应‎‏,并确‎‏保模块‎‏在运行‎‏过程中‎‏的稳定‎‏性和可靠性。壳体设计:测速模块需要采‎‏用合适‎‏的壳体‎‏设计,‎‏以保护‎‏模块内‎‏部的电‎‏子元件‎‏不受机‎‏器人运‎‏动中的‎‏外部干‎‏扰和碰‎‏撞的影响。总之,教室清扫机器人‎‏系统中‎‏的测速‎‏模块需‎‏要具备‎‏电机编‎‏码器、‎‏光电传‎‏感器、‎‏微控制‎‏器、显‎‏示屏、‎‏电源管‎‏理模块‎‏等硬件‎‏组件,‎‏以确保‎‏机器人‎‏能够精‎‏确、稳‎‏定地测‎‏量速度‎‏和行驶‎‏距离。‎‏在硬件‎‏设计过‎‏程中,‎‏还需要‎‏考虑模‎‏块的壳‎‏体设计‎‏,以保‎‏护内部电子元件的安全。图3-7光电测速传感器3.3本章小结基于STM32单片机的教室清扫机器人系统分析,基于现有的技术和经济条件系统功能均可实现;将整个系统划分为两个功能模块进行分析,使得对系统的分析能够细致入微,同时也有利于后续工作的进行。

第4章软件系统设计4.1软件主流程图功能模块系统功能的设计是满足需求设计的,如果能告诉所有处理特别程序需要的设备,如果该系统对投入、产出和模块作了准确的描述,就能使程序更有效地避免该系统的应用阶段。主程序首先对单片机进行初始化,使得相应的IO口以及中断寄存器置位,以满足接下来的操作。图4-1系统软件主流程图4.2红外避障模块流程当系统初始化完成后,开始正常工作。系统上接收来自上位机的信号,控制系统工作运行,前进遇到障碍物左转或右转90°避开障碍物位置继续前进。流程图如下。图4-2红外避障模块流程图4.3测速模块流程当系统初始化完成后,开始正常工作。系统上接收来自上位机的信号,控制系统工作运行,前进过程中测量移动速度并上传到手机端,流程图如下。图4-3红测速模块流程图4.4软件主流程图KeiluVision5是一款集成开发环境(IDE),适用于嵌入式系统的开发,是由ARM公司开发。它支持多种ARM微控制器,例如ARM7、ARM9、Cortex-M系列等,它同时也支持多种外部设备、传感器和其他外围设备。KeiluVision5是一款功能强大的工具,适用于嵌入式系统的开发、编译和调试,具有以下特点:它是集成多种编程语言,支持C、C++、汇编等,自带调试器,支持单片机在线调试和仿真,支持多种实时操作系统(RTOS),用于多任务处理,提供一系列组件和库文件,方便编写更加复杂的程序,提供直观简洁的用户界面,易于使用和学习,支持第三方软件集成,如Git、Subversion等,方便进行版本控制和协同开发。总之,KeiluVision5是一个非常常用的、面向嵌入式系统的IDE,提供了一个完整的开发平台,使用户可以在同一个软件中轻松地完成从开发到部署的所有任务。图4-4Keiluvision5软件界面4.5红外避障模块程序的设计教室清扫机器人系统中的红外避障模块的软件设计需要实现机器人的避障功能,以确保机器人能够在遇到障碍物时及时停止或转向。以下是红外避障模块的软件设计要点:传感器数据读取:红外避障模块需要读取红外传感器的数据,并进行相应的处理,以确定机器人周围的障碍物情况。数据处理包括滤波、数据校验和数据转换等。算法设计:红外避障模块需要根据传感器数据设计相应的算法,判断机器人是否遇到障碍物,并做出相应的反应。常见的算法包括阈值比较法、滑动窗口法等。控制反应:红外避障模块需要根据算法判断的结果控制机器人的运动。通常,遇到障碍物时,机器人需要停止或转向以避免碰撞。因此,红外避障模块需要实现相应的控制反应功能。通信接口:红外避障模块需要与控制系统进行数据交换,因此需要配置相应的通信接口。常见的通信接口包括UART、SPI、I2C等。程序设计:红外避障模块需要编写相应的程序,实现传感器数据读取、算法设计、控制反应和通信接口等功能。程序设计需要考虑模块的稳定性、可靠性和可维护性等因素。总之,教室清扫机器人系统中的红外避障模块的软件设计需要考虑传感器数据读取、算法设计、控制反应、通信接口和程序设计等方面,以实现机器人的避障功能。在软件设计过程中,还需要考虑模块的稳定性、可靠性和可维护性等因素。图4-3为红外避障模块软件设计:图4-5红外避障模块软件设计4.6测移动速度程序的设计教室清扫机器人系统中的测速模块的软件设计主要涉及测量机器人的速度和行驶距离的算法设计和数据处理。以下是测速模块的软件设计要点:算法设计:测速模块需要根据电机编码器和光电传感器的输入数据设计相应的算法,计算机器人的速度和行驶距离。常见的算法包括脉冲计数法、微分法、积分法等。数据处理:测速模块需要处理从电机编码器和光电传感器获得的原始数据,通过算法计算出机器人的速度和行驶距离,并将计算结果传递给控制系统。数据处理还需要考虑噪声滤波和数据校验等问题,以提高数据的可靠性和准确性。通信接口:测速模块需要与控制系统进行数据交换,因此需要配置相应的通信接口。常见的通信接口包括UART、SPI、I2C等。程序设计:测速模块需要编写相应的程序,实现算法设计、数据处理和通信接口等功能。程序设计需要考虑模块的稳定性、可靠性和可维护性等因素。总之,教室清扫机器人系统中的测速模块的软件设计需要考虑算法设计、数据处理、通信接口和程序设计等方面,以确保模块能够精确、稳定地测量机器人的速度和行驶距离,并将测量结果传递给控制系统。在软件设计过程中,还需要考虑模块的稳定性、可靠性和可维护性等因素。图4-6测移动速度软件设计4.7本章小结对系统的功能进行分析,论述各个功能模块的需求,对其中功能模块的设计进行流程化,可以使得系统具有完整性,可以实现相应的功能,利于后期的系统开发,简化后期的工作。第5章系统测试5.1系统实物图本设计是一种教室清扫机器人的设计,这个设计是针对教室清扫机器人设计的问题做研究。主芯片采用STM32F103C8T6,使用蓝牙通信‎‏模块,‎‏利用手‎‏机端作‎‏为上位‎‏机。机‎‏器人可‎‏以躲避‎‏障碍物‎‏、还可‎‏以自动‎‏依照地‎‏面设下‎‏的标示‎‏线移动‎‏清扫教‎‏室、监‎‏测当前‎‏移动速‎‏度显示‎‏并发送‎‏至手机‎‏端。工‎‏作人员‎‏可通过‎‏手机端‎‏控制机‎‏器人移‎‏动,达‎‏到清扫‎‏教室的结果。图5-1系统总体实物图5.2测试原理机器人智能小车开机通电,手机端打开蓝牙进行匹配连接,打开软件搜索设备与机器人智能小车控制连接,系统初始化完成,开始正常工作。连接成功控制小车前进、后退、左转右转和停止,当障碍物出现在小车行进路径上时,传感器会收集到障碍物的相关信息,判断出障碍物的方位和距离,并利用控制电机马达等执行器来控制小车做出适当的方向行动,前进过程中测速模块监测机器人智能小车前进速度并通过蓝牙模块上传到手机端。循迹模块通过感应路面上的黑线或者颜色对小车进行控制,使其按照预设的路线行驶。循迹小车配备红外线传感器,传感器能够检测路面上的黑线或颜色,来按照预设的路线行驶。图5-2可以进行方向变换,具备避障功能,沿着规划的路线行驶等5.3测试目的在这一部分调试中,因为時间比较有限,我们无法制做出真实的PCB来调试系统软件,因此只有应用Proteus模拟仿真软件来系统模拟的一部分作用。对软件进行测试,目的就是要找到一个系统中潜在的漏洞,有些人以为在测试中找到的漏洞越少就好,其实不然,如果能够在测试中找到更多的漏洞,那么就会对软件的完整性产生很大的帮助。软件测试是一种旨在找出更多缺陷,而非展示其正常运行的功能。5.4测试原则在进行软件测试时,要遵守以下四条基本原理:首先,要根据系统的要求进行测试;越早越好。当你写一个测试案例的时候,要注意一些诸如特殊值,边界值等的情况。在撰写测试用例时,必须包含正确与不正确的输入条件。对测试中的成簇现象给予足够的关注。5.5功能测试教室清扫机器人的设计中清扫机器人具备避障功能,,扫地机器人能够沿着规划的路线行驶,并且可以显示当前的移动速度,发送给手机端。第6章总结与展望6.1总结本章主要是对整个系统的开发过程展开了总结讲述,以及在系统开发完成之后的心得体会。在整个开发工程中,从开始的选题到最后项目完成,让我获益良多。本设计中的远程控制系统是通过手机进而来对机器人进行操作。手机端发送指令到机器人进行操作。从选择部分,选择方案,对部件进行安装,编写编程,经过无数次的试验,终于完成。这个课程让我对智能机器人的发展有了更深的了解,对电子部件有了更深的了解。虽然毕业论文的内容很多,设计的过程也很多,可是我得到的却是很多。该系统适用于不同的环境,有不同的部件的选择指标,有不同的安装方法,在对该设计的逐渐了解中,我也逐渐了解到了很多其它很多种类的应用。从最初的不知道该怎么从哪里入手,到顺顺利利地完成了这篇毕业论文,让我有了踏入社会的自信,也让我对自己有了更深一步的了解。同时还要创新的精神,当你觉得一种做法可能可以实现的时候就应该勇于尝试,遇到问题的时候应该多问多想,不轻易放弃。在以后的工作和学习中,要勤奋踏实,善于思考,才能在竞争激烈的社会中提升自我的实用价值。这次的毕业设计给了我一个很好的学习机会,我在这里面学习到很多东西,受益匪浅。6.2展望随着科技的不断发展,机器人技术已经逐渐应用于各个领域,教育领域也不例外。教室清扫机器人系统就是一种利用机器人技术来完成教室清洁工作的系统。未来,教室清扫机器人系统有望得到更广泛的应用和发展,具有以下几个展望:1.自主性增强:未来的教室清扫机器人系统将会拥有更强的自主性,能够根据教室的布局、大小和清洁需求,自动规划清扫路线,并完成清扫任务。同时,机器人还将能够通过机器视觉等技术,识别并避开教室中的障碍物,从而实现更高效、更准确的清洁。2.智能化:未来的教室清扫机器人系统将会拥有更高的智能化程度,能够通过人工智能技术学习、自我调整和优化清扫策略,提高清洁效率和质量。同时,机器人还将能够通过智能传感器和监控设备,实现对教室环境的实时监测和反馈,从而更好地适应不同环境下的清扫需求。3.多功能化:未来的教室清扫机器人系统将不仅仅是一款单一的清洁工具,而是可以承担更多的功能和服务。例如,机器人还可以担任课堂助手的角色,为老师和学生提供一些基础的服务和帮助,如提供学习资料、辅助课堂讲解等。4.网络化:未来的教室清扫机器人系统将与网络相连,实现远程控制和管理。通过互联网技术,老师和学生可以通过手机或电脑对机器人进行远程操作和监控,实时掌握教室清洁状况。同时,机器人还可以通过网络与其他机器人实现协同工作,提高清洁效率和质量。总之,教室清扫机器人系统的未来展望是十分广阔的,随着科技的不断进步和应用,相信未来的机器人系统会越来越智能化、自主化、多功能化和网络化,为教育教学提供更好的服务和支持。

参考文献[1]周洁羽,YuBaoliang.基于机器视觉的互动墙面设计研究[C].2020全国建筑院系建筑数字技术教学与研究学术研讨会.2020.[2]侯凡博,姬鹏飞,张修太.科技风.一种太阳能光伏板清扫机器人的设计[J].2020,(023).[3]林莉.基于STEAM教育理念的小学机器人教学研究——以“智能扫地车”主题课程为例[J].中国信息技术教育,2022(24):43-45.[4]曲宗峰,焦利敏,胡亚欣,亓新.家用电器机器人化技术及标准的研究与应用实践[C].中国标准化年度优秀论文(2022)论文集,2022:56-64.DOI:10.26914/kihy.2022.052916.[5]王佳庆.基于PLC的太阳能面板自动清扫机器人的设计研究[J].机电工程技术.2020,(009).[6]杨雨洋.智能扫地机器人[J].科学启蒙,2022(Z2):100.[7]刘长虹.基于单片机的扫地机器人设计[J].电子制作,2022,30(15):26-29.[8]刘卫.南方农机.基于STM32的智能温度巡检仪的设计与应用[J].2022,(001).[9]杨灵敏.基于STM32的窄缝卫生检测及清扫机器人研究与设计[J].自动化应用,2022(06):83-87.DOI:10.19769/j.zdhy.2022.06.025.[10]朱建新,赵淑华,韩慧丹.烟草科技.烟筐自动清扫机器人的设计及应用[J].2021,第011期[11]王臣炜,韩桂明,吕金华,舒洪启.智能扫地机器人[J].电子质量,2022(06):72-74+82.[12]金世城.家庭扫地机器人无线充电系统的设计与实现[D].南昌大学,2022..[13]杨灵敏.窄缝卫生检测及清扫机器人研究与设计[J].装备制造技术,2022(05):34-36.[14]屈世龙,杨瑞青,张庆晨,张善群,韩浩,王玉飞.智能教室管家机器人设计与研究[J].装备制造技术,2022(05):87-89+93.[15]胡聪娟,王艺.基于现代光传感技术的扫地机器人垃圾检测研究[J].激光杂志,2022,43(04).[16]于安妮,侯宗香.基于空气净化的多功能扫地机器人设计研究[J].信息与电脑(理论版),2022,34(08):143-145.[17]彭黎黎,姚忠良,唐清华,黄华生,柳晓雨.基于雷实验训练的智能扫地机器人设计[J].信息与电脑(理论版),2022,34(04):145-147.[18]杨林超,张新锋,李超,王岩.基于STM32微控制器的扫地机器人控制系统硬件架构设计[J].2022.[19]Karakurt,Tolga.DesignofDeLroAutonomousDeliveryRobotandAIBasedLocalization[D].2020.[20]AbdullahA.Hayat;RizuwanaParween;MohanR.Elara;K.Parsuraman;PrathapS.Kandasamy.AnalysisofHumanExerciseHealthMonitoringDataofSmartBraceletBasedonMachineLearning[J].2019.[21]AitorIbarguren.Designofflexibletrackinspectionrobotinminingface[J].2021.成就。附录A总原理图图A-1总原理图

附录B程序#include"delay.h"#include"sys.h"#include"timer.h"#include"usart.h"#include"oled.h"#include"bmp.h"#definePB5PBout(5)//PC13 #definePB6PBout(6)//#definePB7PBout(7)#definePB8PBout(8)#defineLEDPCout(13)#definebeepPBout(9)//蜂鸣器#definePB12GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_12)//左循迹传感器#definePB13GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_13)//右循迹传感器#definePB14GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_14)//避障传感器#definePC15GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_15)unsignedcharfs_fg=0;externu8point;unsignedintdis_jl=0;unsignedintjl_r[2]={0,0};unsignedcharlc[]="0000.0CM";//路程unsignedcharsp_d[]="000cm/s";unsignedcharly_da=0;//u16hw=0;u16msHcCount=0;//定时器中断计数//unsignedcharfm_flg=0;unsignedintsp_count=0;//外部中断脉冲计数unsignedintnext_lc=0;//总里程//unsignedcharkz_flg=0;//unsignedchart_sp=0;unsignedintlc_sp1=0;//脉冲计数1unsignedintlc_sp2=0;//脉冲计数2//unsignedcharsetval1=18,setval2=80;voiddde(u16time){u16i=0; while(time--) {i=12000; while(i--); }}voidGPIO_Config(void)//配置PA2,PA3{GPIO_InitTypeDefGPIO_InitStructure;/*GPIOAclockenable*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC,ENABLE);///*GPIOAConfiguration:TIM3channel1and2asalternatefunctionpush-pull*/GPIO_InitStructure.GPIO_Pin=GPIO_Pin_2|GPIO_Pin_3;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;//复用推挽输出GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOA,&GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13; //LED0-->PC.13端口配置 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; //推挽输出 GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //IO口速度为50MHz GPIO_Init(GPIOC,&GPIO_InitStructure); //根据设定参数初始化GPIOC.13 GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1;//GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING; //??GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //50M????GPIO_Init(GPIOA,&GPIO_InitStructure); // GPIO_InitStructure.GPIO_Pin=GPIO_Pin_15; //LED0-->PC.13端口配置// GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU; //推挽输出// //GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //IO口速度为50MHz// GPIO_Init(GPIOC,&GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8; //LED0-->PC.13端口配置 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; //推挽输出 GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //IO口速度为50MHz GPIO_Init(GPIOB,&GPIO_InitStructure); //根据设定参数初始化GPIOC.13 GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;// PB9设为输出脚,峰鸣器GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; //??GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //50M????GPIO_Init(GPIOB,&GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8;//摁键初始化GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU; //??//GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //50M????GPIO_Init(GPIOA,&GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14;//红外避障传感器输入GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU; //??//GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //50M????GPIO_Init(GPIOB,&GPIO_InitStructure); beep=1;}voidsend(unsignedchardata){USART1->DR=data;while((USART1->SR&0X40)==0);//等待发送结束}voidsen3_str(unsignedchar*dat){while(*dat!='\0'){send(*dat); dat++;}}voidqianjin()//前进子函数{PB5=1; PB6=0; PB7=1; PB8=0; TIM_SetCompare3(TIM2,21500); TIM_SetCompare4(TIM2,19000);}voidht()//后退子函数{PB5=0; PB6=1; PB7=0; PB8=1; TIM_SetCompare3(TIM2,21500); TIM_SetCompare4(TIM2,21500);}voidzz()//左转弯子函数{PB5=1; PB6=0; PB7=1; PB8=0; TIM_SetCompare3(TIM2,15000); TIM_SetCompare4(TIM2,38000); //dde(800); //qianjin();}voidyz()//右转子函数{PB5=1; PB6=0; PB7=1; PB8=0; TIM_SetCompare3(TIM2,36000); TIM_SetCompare4(TIM2,15000); //dde(800); //qianjin();}voidtz()//停止子函数{PB5=0; PB6=0; PB7=0; PB8=0; TIM_SetCompare3(TIM2,0); TIM_SetCompare4(TIM2,0);}voidzz1(){PB5=0; PB6=1; PB7=1; PB8=0; TIM_SetCompare3(TIM2,20000); TIM_SetCompare4(TIM2,20000);}voidyz1(){PB5=1; PB6=0; PB7=0; PB8=1; TIM_SetCompare3(TIM2,20000); TIM_SetCompare4(TIM2,20000);} voidEXTIX_Init(void){ EXTI_InitTypeDefEXTI_InitStructure; NVIC_InitTypeDefNVIC_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);//外部中断,需要使能AFIO时钟 //KEY_Init();//初始化按键对应io模式//GPIOC0中断线以及中断初始化配置 GPIO_EXTILineConfig(GPIO_PortSourceGPIOB,GPIO_PinSource1); EXTI_InitStructure.EXTI_Line=EXTI_Line1; EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Rising_Falling;//上升沿和下降沿触发 EXTI_InitStructure.EXTI_LineCmd=ENABLE; EXTI_Init(&EXTI_InitStructure); //根据EXTI_InitStruct中指定的参数初始化外设EXTI寄存器////GPIOc1中断线以及中断初始化配置// GPIO_EXTILineConfig(GPIO_PortSourceGPIOC,GPIO_PinSource1);// EXTI_InitStructure.EXTI_Line=EXTI_Line1;// EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt; // EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Rising_Falling;//上升沿和下降沿触发// EXTI_InitStructure.EXTI_LineCmd=ENABLE;// EXTI_Init(&EXTI_InitStructure); //根据EXTI_InitStruct中指定的参数初始化外设EXTI寄存器////GPIOc2 中断线以及中断初始化配置// GPIO_EXTILineConfig(GPIO_PortSourceGPIOC,GPIO_PinSource2);// EXTI_InitStructure.EXTI_Line=EXTI_Line2;// EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt; // EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Rising_Falling;//上升沿和下降沿触发// EXTI_InitStructure.EXTI_LineCmd=ENABLE;// EXTI_Init(&EXTI_InitStructure); //根据EXTI_InitStruct中指定的参数初始化外设EXTI寄存器 NVIC_InitStructure.NVIC_IRQChannel=EXTI1_IRQn; //使能按键所在的外部中断通道 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0x03; //抢占优先级2, NVIC_InitStructure.NVIC_IRQChannelSubPriority=0x01; //子优先级1 NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE; //使能外部中断通道 NVIC_Init(&NVIC_InitStructure);}voidjs_jl(){if(msH

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论