项目五 倒车雷达 - 任务二_第1页
项目五 倒车雷达 - 任务二_第2页
项目五 倒车雷达 - 任务二_第3页
项目五 倒车雷达 - 任务二_第4页
项目五 倒车雷达 - 任务二_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

《传感器应用》主讲教师:XXX

项目五倒车雷达PART05※超声波传感器选型与检测※实现超声波测距05※实现倒车雷达认识超声波传感器的工作原理和检测方法01掌握Python语言中函数的创建与使用03认识蜂鸣器的工作原理和检测方法02学习目标objectiveTASKTWO任务二实现超声波测距4任务要求储备知识任务实施任务目标231在了解了超声波工作原理和过程,并通过GPIO库调用触发超声波传感器发送并接收超声波后,再利用Python代码根据超声波传感器发送和接收超声波并转化为电信号的功能实现超声波测距功能。任务要求4任务要求储备知识任务实施任务目标231TASKTWO任务二实现超声波测距01.了解超声波传感器测距的工作原理02.掌握Python语言中函数的定义和调用方法任务目标4任务要求储备知识任务实施任务目标231TASKTWO任务二实现超声波测距01.超声波测距原理02.了解Python语言中自定义函数的规则和应用储备知识超声波测距的原理和雷达一样。发射和接收的时间差已知超声波在空气中的传播速度根据计算出发射点到障碍物的实际距离01.超声波测距原理向某一方向发射超声波,传感器发射超声波后,并把ECHO引解设置为低电平,同时开始等待并接收反射回的超声波。传感器接收到反射回的超声波,就把Echo置为高电平。当超声波遇到障碍物反射Echo从低电平到高电平之间的时间差就是超声波从发送到遇到障碍物返回的时间。超声波发射器低电平高电平因此我们可以通过以下公式来计算与障碍物的距离。距离=(Echo高电平起始时间-Echo高电平起始时间)*声波速度/2图:超声波测距原理程序语言的函数是通过定义组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能实现程序的模块性,和提高代码的重复利用率,最大程度地提高代码的可读性。比如print(),我们也可以自己创建函数,称为自定义函数。Python提供了很多系统函数给我们使用。02.了解Python语言中自定义函数的规则和应用自定义函数的规则01函数代码块以def关键词开头,后接函数标识符名称和圆括号()。02任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。04以return[表达式]结束函数,表示返回一个值给调用方。不带表达式的return相当于返回None,并不是所有函数都需要返回值。03函数内容以冒号起始,并且缩进。例1:我们要定义一个用来打印100个星号的的专用函数,可以写成:defprintstar():fornuminrange(1,100):print("*")printstar()通过创建函数功能(画100个星号),并在程序中调用此函数的方式来让程序模块化,并能重复使用该模块。例2:如果我们需要定义一个带有参数和返回值的函数,用来进行加法运算并返回结果,可以写成:defadd(num1,num2):s=num1+num2returnsprint(add(5,3))程序输出结果:8在以上两个案例中调用不带参数的函数时,只需要打出函数名加圆括号就可以。需要按照定的函数时给定的参数个数来放入相同的参数值,定义函数时的参数num1,num2称为形参,而调用时具体放入函数的5和3称为实参。定义时对形参进行直接赋值,可以预设函数参数的默认值。不带参数和返回值的函数带参数和返回值的函数思考练习(1)简述超声波传感器测距的原理(2)试试自定义一个带参数的函数,对函数的形参进行直接赋值,并检验当调用函数不写实参时,参数默认值的输出效果4任务要求储备知识任务实施任务目标231TASKTWO任务二实现超声波测距03.Python程序实现超声波传感器的测距任务实施任务所需软件如下所示:任务所需硬件如下所示:VNC-Viewer环境准备03.Python程序实现超声波传感器的测距树莓派T型转接板超声波模块GPIO0G17TrigGPIO1G18Echo5V5VVCC(+)GNDGNDGND3.1.根据引脚说明和连线图连接设备Python程序实现检测传感器步骤1:打开mu开发环境,新建Python文件(1)开启树莓派电源->打开“VNC-Viewer”软件连接树莓派->输入IP地址->用户名密码。(2)连接成功后,在点击左上方【树莓派】图标->选择【编程】->点击打开【mu】软件,如图所示:图:打开PythonIDE(3)打开“mu”软件,软件界面后如图所示:图:mu软件界面(4)单击“mu”软件界面上的按钮,新建一个名为“supersonic.py”的Python文件。步骤2:编写和验证代码输入代码,实现超声波传感器的测距效果。importRPi.GPIOasGPIOimporttimetrig_pin=17

#超声波模块Trig控制管脚echo_pin=18

#超声波模块Echo控制管脚#超声波模块初始化工作GPIO.setmode(GPIO.BCM)#采用实际的物理管脚给GPIO口GPIO.setwarnings(False)GPIO.setup(trig_pin,GPIO.OUT)#Trig设置为输出模式GPIO.setup(echo_pin,GPIO.IN)#Echo设置为输入模式#超声波发送与接收def

supersonic():GPIO.output(trig_pin,1)#超声波启动信号,延时10ustime.sleep(0.00001)#发出超声波脉冲GPIO.output(trig_pin,0)#设置为低电平

whileGPIO.input(echo_pin)==0:#等待回传信号

passuse_time1=time.time()#记录当前时间

whileGPIO.input(echo_pin)==1:#回传信号截止信息

passuse_time2=time.time()use_during=use_time2-use_time1

#计算超声波从发送到接收的时间差

returnuse_during*340/2

#返回计算后的距离while

True:distance=format(supersonic(),".2f")

print(distance,"m")time.sleep(1)GPIO.cleanup();单击“mu”软件界面上的按钮,执行代码,烧写到树莓派板上,观察Python控制台的输出信息,例如图所示。图:Python控制台输出信息(1)表示定义一个用于进行超声波测距并返回距离值的自定义函数。defsupersonic():(3)为表示调用supersonic()测距函数并获得距离后,利用format函数强制格式化为两位小数的文本并赋值给distance变量,最后进行输出。distance=forma

温馨提示

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

评论

0/150

提交评论