机器人课程设计报告
扫地机器人课程设计报告

专业方向课程设计报告组别序号课题名称扫地机器人设计制作姓名丁吴学号*********指导教师铁军一目录第一章绪论 (3)1.1 课题研究背景 (3)1.2 国内外研究现状 (3)1.2.1 扫地机器人的特点 (3)1.2.2 国外扫地机器人研究现状 (5)1.2.3 国内扫地机器人研究现状 (6)第二章扫地机器人的结构系统 (6)2.1 扫地机器人的硬件结构 (6)2.1.1 移动机构 (6)2.1.2 测距与防碰撞传感器 (7)产品参数 (8)2.1.3机器人清洁系统设计: (12)2.1.4总体结构设计: (12)第三章机器人程序编写: (14)第四章研究过程遇到的问题,解决的措施 (18)第五章参考文献 (19)第一章绪论1.1 课题研究背景近年来,随着计算机技术与人工智能科学的飞速发展,服务机器人技术逐渐成为现代机器人研究领域的热点。
一方面随着信息高速发展和生活、工作节奏的加快,人们需要从繁杂的家庭劳动中解脱出来;另一方面人口的老龄化和社会福利制度的完善也为某些服务机器人提供了广泛的市场应用前景。
区别于工业机器人,服务机器人的一个主要特征就是服务机器人是一种适用于具体的方式、环境及任务过程的机器人系统,其活动空间大,具有在非结构环境下的移动性,因此扫地机器人是一种能够自动执行房间清扫的家用服务机器人,集中了机械学、电子技术、传感器技术、计算机技术、控制技术、机器人技术、人工智能技术等多学科。
开始于20世纪80年代的研究,现在已经有多重样机和产品,并且促进了家庭服务机器人行业的发展,也促进了移动机器人技术、图像、语音识别、传感器等技术的发展。
许多发达国家都将其视为机器人研究的新领域给予重视。
有关资料也预测扫地机器人是未来几年需求量最大的服务机器人,特别是日用扫地电器不论在市场上或者是在产品创新上,绝对是所有小家电产品中最活跃的,未来仍有很大的成长空间,因此此课题研究有很大的意义。
1.2 国内外研究现状1.2.1 扫地机器人的特点扫地机器人具有如下的特点:(1)扫地机器人自带电源,小巧轻便、操作简单、自主性强、具有很强的实用性。
机器人创意班课程设计

机器人创意班课程设计一、课程目标知识目标:1. 学生能够掌握机器人基本组成部分及功能,理解其工作原理;2. 学生能够了解并运用编程语言进行简单的机器人控制;3. 学生能够掌握基本的传感器使用,了解其在机器人中的作用;4. 学生了解机器人创意设计的基本原则和方法。
技能目标:1. 学生能够运用所学知识进行创意机器人设计和搭建;2. 学生能够通过团队协作,完成创意机器人的编程与调试;3. 学生能够运用批判性思维和问题解决能力,优化机器人设计;4. 学生能够进行有效的沟通和展示,表达自己的创意和观点。
情感态度价值观目标:1. 培养学生对机器人科技的兴趣和热情,提高创新意识;2. 培养学生团队协作精神,增强合作能力;3. 培养学生面对挑战的积极态度,勇于尝试和克服困难;4. 培养学生关注社会问题,运用科技手段解决问题的责任感。
课程性质:本课程为实践性、创新性课程,注重培养学生的动手能力、创新思维和团队协作能力。
学生特点:学生具备一定的逻辑思维和动手能力,对机器人感兴趣,乐于探索新知识。
教学要求:结合课本内容,注重实践操作,引导学生主动探索,提高学生的创新能力和问题解决能力。
通过课程学习,使学生能够将所学知识运用到实际中,实现具体的学习成果。
二、教学内容1. 机器人基本知识:介绍机器人的定义、分类、发展历程,重点掌握机器人的基本组成部分及其功能,理解机器人工作原理。
相关教材章节:第一章《机器人概述》2. 机器人编程基础:学习编程语言(如Scratch、Python等),掌握基本编程指令,运用编程实现机器人简单控制。
相关教材章节:第二章《机器人编程基础》3. 传感器及其应用:了解常见传感器(如红外、超声波、触碰传感器等)的工作原理,掌握其在机器人中的作用及应用。
相关教材章节:第三章《传感器及其应用》4. 创意机器人设计:学习机器人设计的基本原则和方法,进行创意机器人设计和搭建,培养创新思维和动手能力。
相关教材章节:第四章《创意机器人设计》5. 团队协作与沟通:通过团队协作完成机器人项目,学会沟通与协作,提高团队协作能力。
智能机器人课程设计

智能机器人课程设计一、教学目标本课程旨在让学生了解智能机器人的基本概念、原理和应用,掌握机器人编程和控制的基本技能,培养学生的创新意识和团队合作能力。
具体目标如下:1.知识目标:(1)了解智能机器人的发展历程、分类和应用领域;(2)掌握机器人编程和控制的基本原理;(3)学习机器人传感器和执行器的原理及应用。
2.技能目标:(1)能够使用编程语言编写简单的机器人控制程序;(2)能够分析机器人传感器的数据并作出相应的决策;(3)能够进行机器人系统的调试和优化。
3.情感态度价值观目标:(1)培养学生对智能机器人的兴趣和好奇心;(2)培养学生团队合作、动手实践和解决问题的能力;(3)引导学生关注智能机器人对社会发展的影响,培养学生的社会责任感。
二、教学内容本课程的教学内容主要包括智能机器人的基本概念、原理和应用,机器人编程和控制技术,以及相关的传感器和执行器。
具体安排如下:1.智能机器人的基本概念:介绍智能机器人的发展历程、分类和应用领域,让学生了解机器人技术在社会生活中的重要作用。
2.机器人编程和控制技术:讲解机器人编程和控制的基本原理,引导学生学习编程语言,并通过实例让学生动手实践,掌握基本的编程和控制技巧。
3.传感器和执行器:介绍机器人常用的传感器和执行器,讲解其原理和应用,让学生了解机器人如何获取外界信息并进行相应的动作。
4.项目实践:学生进行团队合作,完成一个智能机器人项目的设计与实现,培养学生的实际操作能力和创新能力。
三、教学方法本课程采用多种教学方法,包括讲授法、讨论法、案例分析法、实验法等,以激发学生的学习兴趣和主动性。
1.讲授法:用于向学生传授基本概念、原理和知识点,引导学生掌握核心内容。
2.讨论法:学生就某个问题进行讨论,培养学生的思考能力和团队合作精神。
3.案例分析法:通过分析具体的机器人应用案例,让学生了解机器人技术在实际生活中的应用,提高学生的实践能力。
4.实验法:安排学生进行实验操作,让学生亲身体验机器人编程和控制的过程,培养学生的动手能力和创新能力。
机器人系统设计课程设计

机器人系统设计课程设计一、教学目标本课程旨在通过学习机器人系统设计,使学生掌握机器人系统的基本概念、工作原理和设计方法,培养学生运用机器人技术解决实际问题的能力。
具体目标如下:1.知识目标:•了解机器人系统的基本概念、分类和应用领域;•掌握机器人系统的组成及工作原理;•学习机器人控制器、传感器和执行器的选型及应用;•熟悉机器人编程和控制方法。
2.技能目标:•能够分析实际问题,选择合适的机器人系统解决方案;•具备机器人系统设计和搭建的基本能力;•能够编写简单的机器人控制程序,实现基本功能;•学会调试和优化机器人系统,提高系统性能。
3.情感态度价值观目标:•培养学生的创新意识和团队合作精神;•增强学生对机器人技术的兴趣和好奇心;•培养学生运用科技手段解决实际问题的责任感;•提高学生对机器人竞赛和科技创新活动的参与热情。
二、教学内容本课程的教学内容主要包括以下几个方面:1.机器人系统的基本概念、分类和应用领域;2.机器人系统的组成及工作原理;3.机器人控制器、传感器和执行器的选型及应用;4.机器人编程和控制方法;5.机器人系统设计和搭建实践;6.机器人系统调试和优化。
教学过程中,将结合教材和实际案例进行讲解,注重理论与实践相结合,使学生能够更好地理解和掌握机器人系统设计的方法和技巧。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式,包括:1.讲授法:通过讲解教材内容和实例,使学生掌握基本概念和理论知识;2.案例分析法:分析实际案例,让学生了解机器人系统在各个领域的应用,提高解决实际问题的能力;3.实验法:学生进行机器人系统设计和搭建实践,培养学生的动手能力和创新思维;4.小组讨论法:分组进行讨论和协作,培养学生的团队合作精神和沟通能力。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:选用权威、实用的教材,为学生提供系统的学习资料;2.参考书:提供相关领域的参考书籍,丰富学生的知识体系;3.多媒体资料:制作PPT、视频等多媒体资料,提高学生的学习兴趣;4.实验设备:准备机器人实验设备,为学生提供实践操作的机会。
工业机器人实践课程设计

工业机器人实践课程设计一、教学目标本课程旨在让学生了解工业机器人的基本概念、分类、应用和编程,掌握工业机器人的操作和调试技巧,培养学生对工业机器人技术的兴趣和好奇心,提高学生的实践能力和创新精神。
1.了解工业机器人的基本概念、分类和应用领域。
2.掌握工业机器人的主要部件和工作原理。
3.学习工业机器人的编程和操作方法。
4.能够正确操作工业机器人,进行简单的编程和调试。
5.能够分析工业机器人在实际应用中遇到的问题,并提出解决方案。
情感态度价值观目标:1.培养学生对工业机器人技术的兴趣和好奇心,激发学生学习科技的积极性。
2.培养学生团队合作意识,提高学生沟通协作能力。
3.培养学生创新精神,鼓励学生进行科技创作和实践。
二、教学内容本课程的教学内容主要包括工业机器人的基本概念、分类、应用、工作原理、编程和操作方法。
1.工业机器人的基本概念:介绍工业机器人的定义、发展历程和现状。
2.工业机器人的分类和应用:介绍工业机器人的分类、各种类型的应用案例。
3.工业机器人的工作原理:讲解工业机器人的主要部件,如控制器、执行器、传感器等,以及它们的工作原理。
4.工业机器人的编程和操作:教授工业机器人的编程语言和操作方法,让学生能够进行简单的编程和调试。
三、教学方法本课程采用讲授法、案例分析法、实验法和讨论法等多种教学方法,以激发学生的学习兴趣和主动性。
1.讲授法:通过讲解工业机器人的基本概念、分类、应用和工作原理,使学生掌握相关知识。
2.案例分析法:分析实际应用中的工业机器人案例,让学生了解工业机器人在实际工作中的作用和价值。
3.实验法:让学生亲自动手操作工业机器人,进行编程和调试,提高学生的实践能力。
4.讨论法:学生进行分组讨论,分享学习心得和经验,培养学生团队合作意识和沟通能力。
四、教学资源本课程所需的教学资源包括教材、参考书、多媒体资料和实验设备。
1.教材:选用权威、实用的教材,为学生提供系统的学习资料。
2.参考书:提供相关领域的参考书籍,丰富学生的知识体系。
机器人技术课程设计报告

机器人技术课程设计报告
1. 引言
随着科技的发展,机器人技术被广泛应用于各行各业。
本课程旨在提供学生在机器人领域的基础知识和技能,以及让他们在实践中了解机器人应用的各种领域。
2. 主要内容
本课程主要分为以下几个模块:
2.1 机器人基础
本模块主要介绍机器人的组成部分,机器人的工作原理,以及机器人的常见分类和应用领域。
2.2 机器人编程
本模块主要介绍机器人编程语言和机器人的编程方法,以及如何利用编程语言来控制机器人的运动和动作。
2.3 机器人应用
本模块主要介绍机器人在各行各业的应用,如工业制造、医疗卫生、教育娱乐等。
学生将通过实践项目深入了解机器人在不同领域中的具体应用。
3. 教学方法
本课程包括课堂讲授、实验课和项目实践。
教师将提供相关的教材、视频和案例分析来引导学生研究。
4. 评估方式
本课程的评估方式包括平时成绩、实验成绩、作业成绩和项目成果展示。
5. 结论
本课程将为学生提供一系列机器人技术相关的知识和技能,帮助他们了解机器人应用的各个领域,促进他们在未来的学习和工作中更好地应用机器人技术。
扫地机器人课程设计报告

扫地机器人课程设计报告一、引言扫地机器人是一种能够自动清扫地面的机器设备,近年来受到越来越多人的关注。
本课程设计旨在设计一款性能优越、智能化的扫地机器人,并通过对其工作原理、技术特点以及应用场景等方面的深入探讨,为开发者和用户提供一份全面、详细的报告。
二、工作原理扫地机器人主要由底盘、传感器、控制系统以及清扫装置等部分组成。
其工作原理如下:1.传感器感知环境:扫地机器人通过搭载的多种传感器,如摄像头、红外线传感器、超声波传感器等,获取环境信息,包括障碍物位置、地面状态等。
2.地图构建:扫地机器人根据传感器获取的环境信息,通过自主定位算法,构建出待清扫区域的地图,并确定路径规划。
3.路径规划:基于地图信息,扫地机器人通过路径规划算法确定清扫路径,并利用运动控制系统控制底盘的移动,使机器人沿预定的路径进行清扫。
4.清扫操作:扫地机器人配备刷子和吸尘装置,可对地面进行清扫。
根据地面情况,机器人可自动调节清扫力度和清扫方式,提高清扫效果。
5.自主充电:当电池电量低于一定阈值时,扫地机器人可自动返回充电台充电,待电量充足后继续工作。
三、技术特点扫地机器人在设计过程中可以考虑以下技术特点:1. 智能化扫地机器人应具备一定的智能化水平,能够通过感知环境、地图构建和路径规划等技术,自主完成清扫任务。
同时,可以通过人工智能技术,进行智能学习和适应性调整,提高清扫效果。
2. 多传感器融合为了获取准确的环境信息,扫地机器人应采用多种传感器进行数据融合,如视觉传感器、红外线传感器、超声波传感器等,以提高环境感知的准确性和可靠性。
3. 自主导航扫地机器人应具备自主导航和路径规划的能力,能够根据环境地图自主选择最优的清扫路径,并通过运动控制系统实现精确的移动控制。
4. 智能清扫扫地机器人需要具备智能的清扫能力,根据地面的不同情况,能够自动调节清扫力度和清扫方式,如增加刷子转速、调节吸力等,以达到更好的清扫效果。
5. 自主充电为了提高工作效率和使用便利性,扫地机器人应具备自主充电功能,能够根据电量情况自动返回充电台进行充电,并在充电完成后自动继续工作。
机器人仿真课程设计

机器人仿真课程设计一、课程目标知识目标:1. 学生能够理解机器人仿真软件的基本原理和使用方法。
2. 学生能够掌握机器人编程的基本指令和逻辑结构。
3. 学生能够了解机器人传感器的工作原理及其在仿真环境中的应用。
技能目标:1. 学生能够运用机器人仿真软件进行场景搭建和程序编写。
2. 学生能够运用逻辑思维和问题解决能力,设计并实现简单的机器人控制程序。
3. 学生能够通过团队协作,共同完成复杂度适中的机器人仿真任务。
情感态度价值观目标:1. 学生对机器人技术和编程产生兴趣,培养主动探索和创新的意识。
2. 学生在课程学习中,培养团队协作、沟通表达和解决问题的能力。
3. 学生能够认识到机器人技术在现实生活中的应用,理解科技对社会发展的积极影响。
课程性质:本课程为实践性较强的学科,注重培养学生的动手操作能力和实际问题解决能力。
学生特点:学生处于初中年级,具备一定的逻辑思维和动手操作能力,对新鲜事物充满好奇心。
教学要求:结合学生特点,注重理论与实践相结合,引导学生通过实践探索,提高学生的编程能力和创新能力。
在教学过程中,关注学生的个体差异,鼓励学生积极参与,培养团队合作精神。
通过课程学习,使学生达到预定的学习目标,为后续相关课程的学习打下坚实基础。
二、教学内容本课程教学内容主要包括以下几部分:1. 机器人仿真软件介绍:使学生了解各类机器人仿真软件的特点和功能,重点掌握课程所选软件的使用方法。
- 教材章节:第一章 机器人仿真软件概述- 内容列举:介绍常见机器人仿真软件,如V-REP、RoboCup等。
2. 机器人编程基础:使学生掌握机器人编程的基本指令和逻辑结构,为编写控制程序打下基础。
- 教材章节:第二章 机器人编程基础- 内容列举:编程语言、基本指令、逻辑控制结构等。
3. 机器人传感器及其应用:让学生了解传感器的工作原理,并在仿真环境中应用传感器进行控制。
- 教材章节:第三章 机器人传感器- 内容列举:传感器分类、工作原理、传感器在仿真环境中的应用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
...智能机器人课程设计总结报告姓名:组员:指导老师:时间:一、课程设计设计目的了解机器人技术的基本知识以及有关电工电子学、单片机、机械设计、传感器等相关技术。
初步掌握机器人的运动学原理、基于智能机器人的控制理论,并应用于实践。
通过学习,具体掌握智能机器人的控制技术,并使机器人能独立执行一定的任务。
基本要求:要求设计一个能走迷宫( 迷宫为立体迷宫) 的机器人。
要求设计机器人的行走机构,控制系统、传感器类型的选择及排列布局。
要有走迷宫的策略(软件流程图)。
对于走迷宫小车控制系统设计主要有几个方面:控制电路设计,传感器选择以及安放位置设计,程序设计二、总体方案2.1 机器人的寻路算法选择将迷宫看成一个m*n 的网络,机器人通过传感器反馈的信息感知迷宫的形状,并将各个节点的与周围节点的联通性信息存储于存储器中,再根据已经构建好的地图搜索离开迷宫的路径。
这里可选择回溯算法。
对每个网格从左到右,每个网格具有 4 个方向,分别定义。
并规定机器人行进过程中不停探测前方是否有障碍物,同时探测时按左侧规则,进入新网格后优先探测当前方向的左侧方向。
探测过程中记录每个网格的四个方向上的状态:通路、不通或未知,探测得到不同状态后记记录,同时记录当前网格的四个方向是否已被探测过。
若某网格四个方向全部探测过则利用标志位表示该网格已访问。
为了寻找到从起点到终点的最佳路径,记录当前网格在四个方向上的邻接网格序号,由此最后可在机器人已探测过的网格中利用Dijkstra 算法找到最佳路径。
并为计算方便,记录网格所在迷宫中行号、列号。
并机器人探索过程中设置一个回溯网格栈记录机器人经过的迷宫网格序号及方向,此方向是从一个迷宫网格到下一个迷宫网格经过的方向。
设置一个方向队列记录机器人在某网格内探测方向的顺序。
设置一个回溯路径数组记录需要回溯时从回溯起点到回溯终点的迷宫网格序号及方向。
考虑到迷宫比较简单,且主要为纵横方向的直线,可采用让小车在路口始终左转或者始终右转的方法走迷宫,也就是让小车沿迷宫的边沿走。
这样最终也能走出迷宫。
本次课程设计采用此方法。
即控制策略为机器人左侧有缺口时,向左进入缺口,当机器人前方有障碍是,向右旋转180°,其余情况保持前进。
2.2 传感器的选择由于需要检测机器人左侧和前方是否有通路,采用红外传感器对机器人行进方向和左侧进行感知。
红外避障传感器是依据红外线的反射来工作的。
当遇到障碍物时,发出的红外线被反射面反射回来,被传感器接收到,信号输出引脚就会给出低电平提示信号。
本机器人系统的红外避障信号采用直接检测的方式进行,直接读取引脚电平。
传感器感应障碍物的距离阈值可以通过调节传感器上的变阻器来改变。
行进过程中,机器人可能会偏绿迷宫的横轴或纵轴的方向。
碰触传感器利用外力的作用传递给单片机信息,当碰触传感器碰到迷宫墙壁后,传感器检测到信号就可以判断小车碰壁。
经过电路处理后,信号输出接口输出数字信号送给控制器,从而让控制器进行决策调整小车姿态。
本机器人系统共使用了 2 个碰触传感器,分别安装在小车的左前方和右前方,使得机器人在偏离航向撞击迷宫侧面后可以立即对航向进行修正。
四个传感器一共占用四个外部中断。
2.3 总体结构设计碰撞开关电源模块STM32电机驱动模块红外避障传感器直流电机三、具体实现3.1 芯片选择最小系统已经设计好,本次课程设计采用的控制芯片为STM32F103RBT6它是32 位的Cortex-M3 内盒的控制芯片, 主频达到72MHz, 拥有128kB 闪存, 20kB SRAM,锁相环, 内置8MHz and 32kHz 时钟电路,具有PWM模块,方便电机转速的控制。
2.4 控制电路设计(1)电机驱动:电机驱动电路原理图如图所示,采用BTS7960芯片驱动电机,以控制机器人的两个驱动轮,利用PWM控制方法,通过改变PWM波的占空比,达到调节电机转速的目的,实现机器人的前进,后退,转向,刹车等功能。
每个电机都由一个H桥电路驱动,由两个输入信号共同控制。
两个电机共由4路PWM波进行控制,结合上述的电机驱动原理,小车运动方式可以通过如下方式实现:四个控制信号均为低电平时,电机停转,小车停止;电机的左右轮电机同向等速运行时,可以实现前行或后退的动作;小车的左右转向通过两轮差速来实现。
在本机器人的设计中,需要实现的90°角度转弯,是通过电机定速运动和延时的配合完成的,通过不断调试确定出最佳的旋转时间。
(2)电源模块:采用电池供电,可行的供电方案原理图如下(3)引脚(外部中断)分配:PA0,PA4,PA5,PA15为中断输入引脚。
PA0引脚对应的外部中断由机器人前向红外传感器触发,PA4,PA5分别连接机器人前进方向的左侧和右侧的碰撞开关,PA4,PA5的上升沿信号代表机器人与迷宫的左,右侧发生碰撞,触发相应地终端服务程序,调整航向。
PA15接收左侧红外传感器产生的触发信号,当机器人左侧出现缺口时,触发中断服务程序,机器人向左转向进入缺口。
2.5 程序设计部分(1)机器人的移动:机器人靠两个驱动轮,一个从动轮进行移动,每个驱动轮由一个电机,两个驱动芯片进行控制。
驱动芯片输出电平的高低决定电机的转向,占空比决定了电机的转速。
首先应配置芯片的PWM模块,具体过程如下:#include "pwm.h"float mo1,mo2,mo3,mo4;voidPWM_Init(u16 arr,u16 psc){RCC->APB1ENR|=1<<1;GPIOA->CRL&=0X00FFFFFF;GPIOA->CRL|=0XBB000000;GPIOA->ODR|=1<<6|1<<7;GPIOB->CRL&=0XFFFFFF00;GPIOB->CRL|=0X000000BB;GPIOB->ODR|=1<<0|1<<1;TIM3->ARR=arr;TIM3->PSC=psc;TIM3->CCER|=1<<1|1<<5|1<<9|1<<13;TIM3->CCMR1|=7<<12|7<<4;TIM3->CCMR1|=1<<11|1<<3;TIM3->CCMR2|=7<<12|7<<4;TIM3->CCMR2|=1<<11|1<<3;TIM3->CCER|=1<<12|1<<8|1<<4|1<<0;TIM3->CR1=0x0080; //ARPE 1ê?üTIM3->CR1|=1<<4;TIM3->EGR |= 1<<0;TIM3->CR1|=0x01;}本段代码使能TIM3 时钟,启用PA6,PA7,PB0,PB1引脚的复用功能,并对计数器进行相应设置(向下计数),使得芯片能在这四个引脚上输出所需的PWM波。
由于前进,后退,转向,都是重复性的动作,直接对这些操作进行宏定义,需要的时候直接调用,能减轻程序编写的负担:#define Moto_PwmMax 899 //#define LEFT_MOTOR_F TIM3->CCR1#define LEFT_MOTOR_B TIM3->CCR2#define RIGHT_MOTOR_B TIM3->CCR3#define RIGHT_MOTOR_F TIM3->CCR4注:TIM3 产生PWM波相应寄存器的宏定义如下#define go_forward{LEFT_MOTOR_F =3500;LEFT_MOTOR_B =0;RIGHT_MOTOR_F =3500;RIGHT_MOTOR_B =0;}#define go_back{LEFT_MOTOR_F =0; LEFT_MOTOR_B =3500; RIGHT_MOTOR_F =0; RIGHT_MOTOR_B =3500;}#define turn_left{LEFT_MOTOR_F =0;LEFT_MOTOR_B =0;RIGHT_MOTOR_F =4000;RIGHT_MOTOR_B =0;}#define turn_left_90{LEFT_MOTOR_F =0;LEFT_MOTOR_B=0;RIGHT_MOTOR_F=4000;RIGHT_MOTOR_B=0;delay_ms(800);delay_ms(800);delay_ms(600);RIGHT_MOTOR_F=0;}#define turn_right{LEFT_MOTOR_F =4000;LEFT_MOTOR_B =0;RIGHT_MOTOR_F =0;RIGHT_MOTOR_B =0;delay_ms(200);}#defineturn_back_righ{LEFT_MOTOR_F=4000;LEFT_MOTOR_B=0;RIGHT_MOTOR_F=0;RIGHT_MOTOR_B=4000;delay_ms(800);delay_ms(800);delay_ms(400);LEFT_MOTOR_F=0;RIGHT_MOTOR_B=0;}#define turn_back_left{LEFT_MOTOR_F =0;LEFT_MOTOR_B =4000;RIGHT_MOTOR_F =4000;RIGHT_MOTOR_B=0;delay_ms(800);delay_ms(800);delay_ms(400);LEFT_MOTOR_B=0;RIGHT_MOTOR_F=0;}#define stop{LEFT_MOTOR_F =0;LEFT_MOTOR_B =0;RIGHT_MOTOR_F =0;RIGHT_MOTOR_B =0;}// 几个机器人基本动作的宏定义由于采用向下计数的方式,CCR中的值代表相应引脚高电平持续时间长度,响应值越大,PWM占空比越大,驱动电机转速越快。
(2)机器人对外界的感知及相应中断服务程序的编写:#include"exti.h"voidEXTIX_Init(void){RCC->APB2ENR|=1<<2;JTAG_Set(JTAG_SWD_DISABLE);GPIOA->CRL&=0XFF00FFF0;GPIOA->CRL|=0X00880008;GPIOA->CRH&=0X0FFFFFFF;GPIOA->CRH|=0X80000000;GPIOA->ODR|=(1<<0);Ex_NVIC_Config(GPIO_A,0,FTIR);Ex_NVIC_Config(GPIO_A,4,RTIR);Ex_NVIC_Config(GPIO_A,5,RTIR);Ex_NVIC_Config(GPIO_A,15,RTIR);MY_NVIC_Init(2,1,EXTI0_IRQChannel,4);MY_NVIC_Init(3,1,EXTI4_IRQChannel,4);MY_NVIC_Init(4,1,EXTI9_5_IRQChannel,4);MY_NVIC_Init(1,1,EXTI15_10_IRQChannel,4);}GPIOA的配置,使能相关时钟,并将PA0,PA4,PA5,PA1 设为输入引脚,并设置好中断优先级。