蜘蛛机器人设计-软件设计(源码+万字报告+讲解)

目 录
目 录 3
1绪论 1
1.1 研究背景与意义 1
1.2 国内外研究现状 1
1.3 主要研究内容 2
2系统总体框架及关键技术概述 4
2.1系统总体框架 4
2.2关键技术概述 4
3.系统功能模块设计 9
3.1主开发板 9
3.2 拓展模块 10
4 系统软件设计 13
4.1 主程序开发设计 13
4.2 子功能程序设计 14
5 系统集成测试 19
5.1 硬件组装 19
5.2 软件调试 19
5.3 联合调试 20
总 结 23
致 谢 24
参考文献 25
附录 26
附录一 部分Python伪代码 26

1绪论
1.1 研究背景与意义
随着仿生学和机器人技术的发展,仿生多足机器人的研究逐渐成为机器人领域关注的焦点。蜘蛛机器人的设计灵感来源于蜘蛛的生物学特性[ 陈山石. 基于蜘蛛步足液压驱动原理解析的仿生多足机器人研究[D].吉林大学,2020.
]和行为。通过研究蜘蛛机器人,我们可以更深入地了解它们的运动机制、感知能力以及适应各种环境的能力。这有助于我们更好地了解自然界中的生物,并为设计更高效、更灵活、适应性更强的机器人系统提供见解[2]。蜘蛛机器人具有出色的爬行和悬挂能力,可以在复杂环境中执行探索和救援任务。相关论文的选题可以重点关注蜘蛛机器人在狭窄危险环境中的应用,如灾难现场、建筑外墙和地下管道,并研究其在救援、勘探和监测方面的潜力。
蜘蛛机器人还可以应用于工业领域的智能制造和设备维护。相关论文的主题可以探索蜘蛛机器人在生产线上的应用,例如在狭窄的空间内执行部件组装、设备维护和质量检查等任务,以提高生产效率和工作安全。此外,蜘蛛机器人具有体积小、结构灵活、控制精确的特点,可应用于医疗诊断和治疗。该主题可以专注于蜘蛛机器人在内窥镜检查、微创手术和药物输送中的应用,并研究其在提高手术准确性、减少创伤和改善治疗结果方面的潜力。
总体而言,蜘蛛机器人论文选题的意义在于促进机器人技术的发展,探索其在各个领域的应用,为人类社会带来更多的利益和创新。
1.2 国内外研究现状
中国对仿生机器人的研究起步较晚,大约在20世纪80年代。清华大学、中国科学技术大学等高校对此问题进行了深入研究。例如,中国科技大学的一个研究小组开发了一种名为“蚂蚁蜘蛛”的机器人,它结合了蚂蚁和蜘蛛的特性,可以在复杂的环境中爬行和悬挂。这项研究为蜘蛛机器人在军事、救援和勘探领域的应用提供了新的可能性。
在1980年,基于四边形和凸轮的原理,中国的科学家们发明了一种具有八条腿的螃蟹行走机器,并在水下得到了广泛的使用。钱伟长院士等人也曾研制出多种仿生机器鱼、鱼跃车、仿海狮船以及仿鸟船型的机器蟹,但这些都没有达到人们所期望的效果。在1989年,韩旭博士成功地设计并研究出了一款四足行走的机器人,并且他还研发出了一款两足行走的机器人,并对其进行了实际的行走实验。钱博士对六足步行机器人的步态运动学进行了深入研究,并发现水陆两栖机器人对地面和墙壁的热爱具有特殊性。为了解决陆地爬行时容易跌倒的问题,他提出了用脚代替手臂作为主要驱动力的概念,研制出能稳定站立的六自由度手形机械手。得益于国家“863”计划和智能机器人主题的大力支持,北京航空航天大学成功研发了一款更为简洁和灵活的手部设备。这种手能通过手臂运动控制整个机械臂以最快速度完成复杂动作。BH4-使用了精确且灵活的手动齿轮设计,它包括四个手指和16个连接点,每一个连接点都是由直流电机驱动并固定在手指上的。该手能根据用户需要调整其运动方向。主控制系统构成了一个多目标的分层控制体系。利用四台计算机控制器,我们成功地实现了对四个手指关节位置的最佳轨迹追踪和协调功能。同时,为了避免运动过程中出现碰撞,设计了基于模糊逻辑的速度反馈回路,使系统能够更好地适应环境变化。手指控制器被放置在物理控制器内部的每一个关节位置,目的是通过信息的互相传递来增强控制的准确性并最大限度地减少控制误差。该系统在多个领域都有广泛地应用前景。除了北航机器人微仿生机器鱼研究团队(针对儿童)所取得的重大突破之外,“仿生机器鱼”模型也取得了成功,并成功地控制了机器鱼的检测过程。该论文还讨论了如何在不同类型机械臂中应用类似的方法来完成复杂任务。哈尔滨工业大学开发了模仿人类手臂和双足机器人的柔性机器人。它们分别由两个机械臂组成。类人手臂的显著特性包括其宽敞的空间和没有异常位置的关节,比如其结构设计非常紧凑,使得控制软件能够在整个过程中顺利攀爬和克服各种障碍。它还具有一个类似于人类手指的结构——在末端装有一个由压电陶瓷制成的传感器来感知环境信息。除了附近存在的最优联合功率上限之外。
国外对仿生多足机器人的研究相对较早,而美国和日本都对多足机器人进行了深入的研究。例如,美国斯坦福大学的一个研究小组开发了一种名为“Sprawl”的蜘蛛机器人,它能够双脚爬行,并可以在草地、岩石和梯子等不同类型的地形上移动。这项研究为蜘蛛机器人在勘探和救援任务中的应用提供了基础。德国柏林自由大学的研究人员设计了一种名为“太空攀登者”的蜘蛛机器人,它可以在航天器外表面自由移动,执行检查和维护工作。这项研究为机器人在太空中的应用提供了新的可能性。日本东京大学的研究人员设计了一种名为“DRAGON”的蜘蛛机器人,它可以在水下和陆地上爬行,具有很高的灵活性和适应性。这项研究为蜘蛛机器人在水下探测、海洋生物学研究和水下管道维护中的应用提供了新的机遇。挪威的一位研究人员设计了一个足球形状的机器人。这是一个可以使用三种动作模式的机器人:旋转、直线行走和滚动,称为morphex。它还有六条腿,当Morphex的六只脚开始合在一起时,它就变成了一个可以快速滚动的足球机器人。当它的六条腿伸展时,它可以小步缓慢地移动。当蝎子机器人开始完全伸展时,它看起来就像一朵在地上爬行的莲花。这种高精度的控制主要归功于物理学中惯性领域的测量单元(IMU)。
然而,到目前为止,这种类型的蜘蛛机器人还没有商业化,在科学领域只有一定的想象力和可行性。它还需要进一步研究一段时间才能开发用于商业用途,为人类社会创造更多利益,在各个领域实现突破,促进科学技术的发展。
1.3 主要研究内容
(1)以Micro:bit为核心设计出蜘蛛机器人系统。
(2)熟练使用Micro:bit开发板并进行软件设计,掌握软件设计方法。
(3)了解传感器和Micro:bit的基本原理,设计蜘蛛机器人传感器模块、控制模块和蓝牙通信模块的代码。
(4)下载程序到蜘蛛机器人硬件电路板上进行测试并验证成功。
(5)掌握蜘蛛机器人测试方法。

2系统总体框架及关键技术概述

2.1系统总体框架
所设计的八足蜘蛛机器人[ 蒋欣哲.八足蜘蛛机器人的设计与实现[J].时代农机,2016,43(04):53+55]共有24个自由度,每条腿上都有3个旋转关节,分别称为转向关节、髋和膝。其转向关节都处于机体和腿部之间的连接处,共同承担着整个腿的向前运动;髋和膝处于后脚的中部和尾部,完成了大腿和小腿之间的屈伸运动功能。该机器人八足仿生蜘蛛机器人的系统,根据功能可分为5种模组:人体感应模组、蓝牙通信模组、驱动控制器模组、主控模组和5*5LED显示模组。硬件总体设计框图如图2-1所示。

图2-1 系统框架图
电源模块通过稳定和转换锂电池输出的电压为整机供电。主控制模块采用Micro bit实现各模块之间的串联,并控制驱动控制器模块控制伺服旋转方向。避障模块利用人体红外模块向主控制模块提供反馈,实现避障功能。机器人携带的陀螺仪模块可以实时反馈整机的倾斜角度,实现调平功能。它配备的蓝牙通信模块可以使用移动控制终端实现智能机器人的无线控制。
2.2关键技术概述
2.2.1 micro:bit平台
Micro:bit是一个基于ARM技术框架的开源硬件平台,由ARM、Barclays、Element14、微软以及英国广播公司(BBC)共同合作推出。该芯片可以通过网络与互联网相连,并可在因特网上提供服务。该系统的核心组件是一个装有FPU的32位Arm Cortex-M4微处理器。它拥有丰富的接口以及功能强大的外设配置功能,可满足不同用户需求。尽管Micro:bit主板的尺寸仅为信用卡的一半,但它的功能非常出色,拥有出色的稳定性和扩展能力。它拥有两个可旋转的机械臂,每个手臂有三个自由度。如图2-2展示的那样,金手指的底部齿轮设计使得它能够通过固定的鳄鱼夹与各种电子部件进行流畅的交互。该芯片提供了丰富的外围接口。该系统不仅支持传感器数据的读取和伺服以及RGB灯带的控制,还能通过插入扩展板来与各类传感器进行连接。该芯片是专为手机等便携设备而设计的。它几乎兼容所有的PC和移动设备,不需要安装驱动程序,具有高度集成的电子模块和串口监控功能,调试非常方便。

图 2-2 MIcro bit主控板
2.2.2 Micro Python语言
在目前流行的人工智能行业中,很多产品都是由Python编程语言构建的。作为一门卓越的脚本语言,经过多年的演变,它的生态系统已经变得极其庞大。在这个系统中,开发者需要不断地开发新功能,并且还要维护现有的应用系统。在嵌入式编程领域,一个专为micro:bit设计的Python版本—micro Python—是实现Python 3编程语言的一种简单而高效的方式。它包含了Python标准库的一小部分,可以重新实现并优化Python语言,使其能够在micro:bit上运行。通过将这个方法应用到一个实际项目中,验证了该方法的可行性和有效性,同时也发现了一些需要注意的问题。Micro Python具有在多种供应商和微控制器产品上运行的能力,并且它是开源的。这使得嵌入式开发人员可以根据自己的需求随时使用和定制,从而摆脱了单一供应商和微处理器的限制,实现了高度的灵活性和便利性。
微Python在嵌入式开发领域具有显著的优越性,与C语言相比,实现起来更为困难。它采用一种新的编程方式实现对程序的自动编译。相较于其他编程语言,Python具有更高的可读性和编写便利性,同时其学习曲线也相对较低。由于其具有较好的扩展性和灵活性,所以被广泛应用于各种领域中。Micro-Python,作为微控制器的一种形式,为快速原型设计创造了条件,并为代码的维护以及可移植性的提升创造了条件。由于C语言的嵌入式编程不涉及异常或错误的处理,嵌入式系统的开发者有责任制定自己的异常和错误处理策略。Micro Python不仅包含了Python,还对其异常和错误的处理方式进行了扩展。这些方法可以帮助开发者发现程序或应用存在的各种故障和错误。Micro Python的默认设置是在程序出现错误的情况下暂停执行,并输出文件和行号,这样嵌入式开发者就能更容易地识别出问题所在。它也允许开发者通过修改程序来避免或减少错误发生。Micro Python的应用成功地弥补了C编程语言在创建类和应用面向对象编程技术方面的多项不足。它提供一种灵活且有效的方法来检查程序是否存在错误并且如何解决这个问题。利用Micro Python进行嵌入式开发的开发者能够借助现代编程工具,例如继承、多态性、封装以及信息隐藏技术,轻松地完成他们所需要的各种功能[15]。在一些情况下,嵌入式系统通常采用面向对象方法来开发程序。尽管这些建筑结构也能用C语言来构建,但实际情况是,所需的时间和努力会大大增加,同时它们也极易产生错误。
2.2.3 Mu编辑器
Mu是一个基于Python编程的开源工具,作为一个离线的Python代码编辑工具,它是专为Micro:bit迷你计算机设计的。随着开发工具的多样化,Mu的版本也正在逐渐向更为通用的Python编辑器方向发展。本文将介绍其主要功能和特点。
图2-3展示了Mu编辑器的操作界面。

图2-3 Mu编辑器界面
2.2.4 CoolTerm串口助手
CoolTerm是一款无终端模拟的串行端口终端应用,其主要功能是与与串行端口相连的硬件设备进行数据交流。该串行程序通过串口将所接收的数据发送到上位机显示。该设备配备了多个并行的串行接口,能够支持输入文本或十六进制格式的数据。通过对串口通讯软件和单片机系统编程实现串行通讯的方法。在这一设计方案里,CoolTerm串行助手的功能是读取传感器模块输出的相关数据。该设备通过串口接收来自处理器的命令和控制指令,然后根据这些指令来驱动各功能模块运行。
图2-4显示了CoolTerm的功能界面。

图2-4 CoolTerm串口助手
2.2.5 Microsoft make code模拟仿真平台
每一条腿都配备了三个可旋转的关节,它们分别被命名为转向关节、髋关节和膝关节。髋关节在人体行走过程中起到支撑作用,膝关节是人体内最大最复杂的负重系统之一。它的转向关节位于身体与腿部的交接点,共同支撑着腿部的前进动作;髋与膝位于后足的中段和尾端,负责执行大腿与小腿间的弯曲和伸展动作。通过对髋关节角度传感器、膝关节位置传感器等信息进行处理后得到相应的控制指令,控制六只足中每两只实现各自动作。这款八足仿生蜘蛛机器人的系统可以根据其功能被划分为五个不同的模块:人体感应模块、蓝牙通讯模块、驱动控制器模块、主控模块以及5*5LED显示模块。本文介绍了各部分的结构组成及工作原理。图2-1展示了硬件的整体设计框架图。

图2-5 Microsoft make code仿真界面

3.系统功能模块设计
3.1主开发板

图3-2 Micro:bit正面
(1) 这是一个由25个LED构成的点阵系统,能够展示微程序的多种内部模式,这些模式可以与爱情、微笑或滚动显示的字符和数字相匹配。
(2) 两个可编程按钮:您可以设置想要控制的功能。
(3) 金手指:可用于外部控制其他设备,包括:
3个GPIO(P0、P1、P2)
1个电源(3V)、1接地(GND),可使用鳄鱼夹或4mm香蕉插头
边缘连接器的引脚标签由微:位设备抽象层(DAL)指定:P3、P0、P4-P7、P1、P8-P12、P2、P13-P16、3V(3)、P19-P20、GND(3)总共有19个可配置的GPIO,其中包括6个模拟输入(P0-P4、P10)、1个可选SPI总线(P13-P15)以及1个I2C总线(P19-P20);每个可配置模块均有一个独立的控制单元,用于实现其内部电路功能及外部接口信号。它可以被配置为:三个PWM输出和一对UART串行接收与发送设备。本设计的优点是可以在一个设备上同时控制多个外围设备,并且每个设备都有自己独立的显示模式和功能。P3、P4、P6、P7、P9和P10与LED阵列显示器相结合,而P5和P11则与按钮A和B相结合。

图3-3 Micro:bit反面
(4)MicroUSB接口不仅适用于电源供给和程序的下载,还可以通过串口进行数据传输。
(5)重置按钮:每次按下都能重新激活微位功能。
(6)电池的电源接口需要与3V的电池进行连接。
(7)微控制器芯片提供了USB的连接方式、程序的拖放刷新功能,以及与主控芯片之间的串行通讯功能。
(8)NordicnRF51822是一款低功耗蓝牙芯片(主控芯片),具有16MHz的ARMCortex-M0256KB闪存和16KB的RAM作为主处理程序。该芯片支持蓝牙4.0技术,并能通过蓝牙与移动应用程序进行通信。
(9)三合一传感器芯片(包括加速度计、磁力计和陀螺仪)能够提供微钻头当前的加速度数据,以及磁力计和陀螺仪的相关信息。
3.2 拓展模块
3.2.2 驱动控制模块设计
机器人驱动控制系统的设计主要包括了Micro bit模块与驱动模块之间的通信机制,以及驱动模块与运动执行模块之间的信息交流设计。在实际应用时,它们通常都需要完成一些基本的控制任务如定位、轨迹跟踪等。在这篇文章里,我们会集中探讨如何达到这些功能的实现。Micro bit和PCA9685是通过IC通信协议来实现通信的,而PCC9685和DS3120的数字转向装置则是利用PWM波来交换各自的伺服转角。
驱动器模块PCA9685作为PC总线控制器的16通道PWM波生成器,每一个输出通道都配备了12个具有高分辨率和固定频率的独立PWM控制器。这个控制器是在24-1526 Hz的标准可编程频率区间内进行操作的,其可调节的占空比范围从0%扩展至100%。该芯片提供了多种波形选择和控制方式,并支持各种模式之间切换以及任意电平值设置。PCA9685还增加了一个外部的时钟输入端口,能够接受用户的时钟请求(最高频率为50 MHz),从而替代了之前的25 MHz内部振荡器。该芯片可用于控制多路开关量、模拟信号和数字电路。这一功能还能实现多个设备的同步操作,仅需占用主控制器的四个引脚。此外,它还具有良好的可移植性和可扩展性。利用PC的通信协议,该设备能够驱动16个转向系统。
(1)PCA9685对PMW脉冲频率的设置
PCA9685脉冲输出信号频段的覆盖范围是40~1000Hz,而通常舵机操控所要求的频段覆盖范围是50 Hz。计算公式如下所示:
P=E/4096×R-1
式中:P 为在频率选择寄存器(位置为OXFEH)上输入的数据;E为控芯片的时钟频率;R 为所希望获得的PWM脉冲频率,此处为50。
(2)PCA9685对PMW脉冲宽度的设置
PCA9685的每个通道有4个辅助寄存器,用于设置12个计数器进行脉宽调整。它们用于调整从高电平开始到结束的时间,LEDd_ON通常设置为0。然而,假设脉冲宽度值为D,LEDd_OFF的计算公式如下:
LLEDn_OFF =D/(1000000/4096×Rf)
(3)运动执行部分
3.2.3 驱动控制模块设计
机器人的驱动控制系统设计主要涵盖了Micro bit模块与驱动模块间的通信机制,以及驱动模块与运动执行模块间的信息交流设计。在本文中我们将重点讨论如何实现这些功能。Micro bit与PCA9685是通过IC通信协议来实现通讯的,而PCC9685和DS3120的数字转向装置则是利用PWM波来交换各自的伺服转角。
驱动器模块PCA9685作为PC总线控制器的16通道PWM波生成器,每一个输出通道都配备了12个具有高分辨率和固定频率的独立PWM控制器。该控制器在24-1526 Hz的标准可编程频率范围内运行,其可调节的占空比范围从0%扩展至100%。该芯片提供了多种波形选择和控制方式,并支持各种模式之间切换以及任意电平值设置。PCA9685还增加了一个外部的时钟输入端口,能够接受用户的时钟请求(最高频率为50 MHz),从而替代了之前的25 MHz内部振荡器。该芯片可用于控制多路开关量、模拟信号和数字电路。这一功能还能实现多个设备的同步操作,仅需占用主控制器的四个引脚。此外,它还具有良好的可移植性和可扩展性。利用PC的通信协议,该设备能够驱动16个转向系统。
(1)PCA9685对PMW脉冲频率的设置
PCA9685的脉冲输出信号的频率范围是40~1000Hz,但舵机操作通常需要的频率范围是50 Hz。为了满足舵机系统使用频率范围,在设计中采用了一种新的高频补偿方法。具体的计算公式如下展示:
P=E/4096×R-1
式中:P 为在频率选择寄存器(位置为OXFEH)上输入的数据;E为控芯片的时钟频率;R 为所希望获得的PWM脉冲频率,此处为50。
(2)PCA9685对PMW脉冲宽度的设置
在PCA9685中,每一个通道都配备了4个辅助寄存器,这些寄存器被用来配置12个计数器以调整脉宽。当在电路中使用了这些辅助寄存器时,它可将所有时钟信号转换成低电压输出。它们的功能是调节从高电平开始到结束的时长,而LEDd_ON的设置通常是0。当输入电压高于预定值时,该电路可产生一个与输出信号相应的脉冲序列。但是,当我们假定脉冲的宽度为D LEDd_OFF时,其计算方法如下所示:
LLEDn_OFF =D/(1000000/4096×Rf)
(3)运动执行部分
24个数字伺服系统联合组成了一个运动执行模块,其核心职责是确保机器人在运动过程中表现出极高的准确度。基于此,本文提出一种新型六足机械腿构型的仿生机器人机构设计方案。这一系统以其小巧的体积、轻便的重量和高度的控制精确性为特点。在进行机械结构设计时,需要充分考虑负载能力、重量等因素对力矩特性的影响。在遵循四足机器人轻量化设计的基础准则的同时,我们也考虑了质量分布对扭矩控制、振动速度和整体协调性的影响,因此选择使用DS3120数字转向装置。
表3-2 DS3120伺服电机电机主要参数

3.2.4 LED点阵交互界面
人机交互的核心是显示模块,该系统采用55LED点阵模组。它可以显示55像素的单个图案,或连续滚动,相当于一个5*5单色LCD,比数字管更多的信息。使用单个+5V电源和简单的外围电路配置,成本低,成本效益高。用来显示当前的一个蜘蛛的行走的状态。
3.2.5人体感应模块设计
HC-SR501是一款基于红外线技术构建的自动控制模块,其设计采用了德国原装进口的LHI778探头。该模块具有高灵敏度、强可靠性和超低电压工作模式,因此在各种自动感应电器设备中得到了广泛应用,特别是在由干电池供电的自动控制产品中。
3.2.6 报警模块设计
报警模块通过蜂鸣器发出不同的声音,使用微控制器设置不同频率的高电平和低电平。报警模块的电路图如图3-7所示。晶体管主要用于驱动。鉴于Micro bit的IO端口的驱动能力不够强大,蜂鸣器能够利用晶体管来放大驱动电流,从而产生声音。为了实现上述功能,设计了一款可在不同工作状态下控制蜂鸣电路中的晶体管导通与截止以使蜂鸣器发出不同音色的声光信号的控制电路。晶体管是PNP型的,当输出较低时,晶体管会导通,集电极电流会通过蜂鸣器发出声音。当外接电压较高或外电路有故障时,蜂鸣器不能发声,从而无法使用。当输出达到较高水平时,晶体管会停止工作,蜂鸣器上不会有电流流过,因此声音不会产生。

4 系统软件设计
4.1 主程序开发设计
在本次设计过程中,软件设计被视为最关键的部分之一,它是本次设计的焦点,而软件的设计将对测控系统的成功与否产生直接的影响。因此,在整个设计过程中要特别注意软件设计的方法。相较于硬件设计,软件设计同样采纳了模块化的程序设计方法,其中模块涵盖了主程序模块、初始化参数配置模块以及5*5点阵的显示子程序等部分。本文主要讲述了系统软件的结构框图及其工作过程,并对整个软件系统做了简要介绍。在编写完这些子程序代码之后再按照一定的顺序把整个系统软件分出来,以便于后期调试。在进行软件设计的过程中,首先需要明确各个部分的子程序和它们的流程图,接着进行编程操作,最终实现对这些子程序的系统性编程。
本系统的设计流程如下:首先上电并初始化蓝牙与传感器,然后检查蓝牙是否已连接以及传感器是否有人。如果蓝牙连接出现问题,矩阵灯会显示哭脸;如果连接正常,系统会接收相应的指令;如果电机处于空闲状态,系统会执行与这些指令相对应的操作;当传感器检测到后方有人或机器人时,将其坐标信息发送给上位机进行处理。当传感器侦测到后方存在某人时,它会用“真的值”来标识电机的忙碌状态,并在前进2秒后结束这一忙碌状态。
设计软件主程序流程图如图4.1所示:

图4-1 系统实物图
4.2 子功能程序设计
4.2.1 LED点阵模块设计
点阵显示的原理是基于人的眼睛的视觉暂留效应。当图像刷新的速度大于人眼的暂留时间时,人的大脑会将连续不断刷新的图像当成一个完整的图像。 通过控制每个LED点的亮度和颜色,点阵可以显示出丰富的图像和文字。
点阵模组控制流程图如图4-2所示:
调用该模块的部分PY代码和MakeCode代码如下:

basic.showNumber(1)
4.2.2 初始化模块
该模块初始化蓝牙模组和一些系统变量,防止其中遗留一些意外的值造成运行错误。同时,这个模块也向其余模块发送初始化指令。
首先,设置uartData变量为空,用于存储蓝牙串口数据。
然后,设置hidding变量,用于标记电机状态。接着启用蓝牙服务。
最后,完成初始化显示器。
该模块流程图如图4-3所示:
图4-3初始化流程
该模块部分代码如下:
uartData = “”
hidding = 0
connected = 0
connected = 0
hidding = 0
bluetooth.start_uart_service()
basic.show_string(“S”)

4.2.3 延时模块
该模块定义了一个延迟函数。具体作用是提供及时的软件中断并提供充足的命令执行时间防止程序卡死。
该模块部分代码如下:
basic.pause(100)

4.2.4报警和避障模块
报警模块主要是在蜘蛛机器人遇到障碍物时,进行报警提示,然后驱动机器人向前移动一段距离躲避障碍物。
当报警信号触发时,该程序控制主机引脚输出高电平驱动蜂鸣器发出声音,并发送运动指令给电机控制器。
该模块流程图如图4-4所示:
图4-4报警和避障模块流程
该模块主要代码如下:
if SuperBitV2_Digital.PIR(SuperBitV2_Digital.mwDigitalNum.P1P2,
SuperBitV2_Digital.enPIR.OPIR):
hidding = 1
basic.show_number(1)
SuperBitV2.motor_run_dual(SuperBitV2.enMotors.M1, -255, SuperBitV2.enMotors.M1, -255)
basic.pause(2000)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值