版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《传感器应用》主讲教师:XXX
项目三智能控制楼道路灯PART03※声音传感器选型与检测※实现声控楼道灯03※光敏传感器选型与检测※智能声控楼道灯认识声音传感器的工作原理和检测方法01掌握Python语言中if语句的使用03认识光敏传感器的工作原理和检测方法02掌握Python获取模拟量值的方法04学习目标objectiveTASKFOUR任务四智能声控楼道灯4任务要求储备知识任务实施任务目标231在了解python语言中if语句得使用基础后,使用树莓派中的GPIO库的功能开发利用光敏传感器、声音传感器实现智能楼道灯。任务要求4任务要求储备知识任务实施任务目标231TASKFOUR任务四智能声控楼道灯01.了解Python语言中if-else语句的使用02.了解Python语言中if-elif-else语句的使用任务目标03.了解Python语言中if嵌套语句的使用04.掌握使用python语言开发传感器应用4任务要求储备知识任务实施任务目标231TASKFOUR任务四智能声控楼道灯01.了解Python语言中的if—else语句02.掌握if—elif语句03.掌握if语句的嵌套储备知识根据之前所学的if语句我们不难看出,只有在满足条件的情况下进行了相应操作,而对于不满足条件的时候并没有进行相应的处理就跳出了当前的选择判断结构。这明显不太符合我们生产生活的实际情况,因此为了在不同条件的情况下都能有操作执行,Python提供了的if-else语句。在基本if语句的基础上增加了else模块来表示条件不满足的情况,如图所示。语法结构分析图:if语句结构01.了解Python语言中的if—else语句注意else后面不需要“:”号。判断结构内的执行代码都必须是缩进语句块。执行过程分析“判断条件”成立“判断条件”不成立表达式的结果为true(布尔型数据)表达式的结果为false在判断条件成立的时候会执行S1里的代码段,否则就执行S2里的代码段。案例,用于判断学生的成绩是否及格并显示相应的信息。score=56print("现在开始判断")ifscore>=60:print("你考了"+str(score)+"分")print("=====恭喜你,及格了=====")elseprint("你考了"+str(score)+"分")print("=====很抱歉,你没通过测试!=====")print("判断结束!")运行效果如下:此段代码通过条件表达式score>=60进行判断——满足条件时不满足条件时显示消息“你考了score分*******恭喜你,及格了*******”显示消息“你考了score分*******很抱歉,你没通过测试!*******”其中“+”表示字符串的连接,"你考了"和"分"用引号表示他们都是字符串,str()这个方法是把里面的变量转换为字符串,最后3个字符串用“+”连接起来。if—else结构非常适合用于让Python执行两种操作之一的情况。在这种简单的结构中总是会执行两个操作中的一个。在日常的判断过程中时常会出现超过两个的情况,这时以上的if和if—else结构已经显然不能满足需求,为此Python提供了if—elif—else结构。在基本if—else语句的基础上增加了elif模块来表示多重判断,如图所示。语法结构分析图:if语句语法02.掌握if—elif语句注意所有判断条件之后都得加“:”。01同时只要是在选择结构内的执行代码块都得缩进。02此外,Python不支持switch—case语句。03执行过程分析在此结构里Python会依次检查每个条件测试,直到遇到满足条件的情况出现,再执行紧跟其后的代码块,并跳过余下的测试。案例,游乐场根据年龄段进行收费。运行效果如下:4岁以下免费;4至18岁收费10元;18岁以上20元。age=10print("现在开始判断")ifage<4:print("小朋友,你今年才"+str(age)+"岁")print("*******欢迎光临*******")elifage<18print("小朋友,你已经"+str(age)+"岁了")print("*******需要支付10元*******")elseprint("你已经"+str(age)+"岁了")print("*******需要支付20元*******")print("判断结束!")技能拓展尝试用if—elif—else语句实现游乐场新规根据年龄段进行收费:4岁以下免费;4至10岁收取基本费用10元;10至18岁需要多收费5元;18岁以上需多收费10元。在if语句的使用中还有一种情况经常使用,它是当外层if条件成立时在对应的执行代码里还有if语句,也就说只有外层条件满足时才会判断内存的if判断语句,这就是if语句的嵌套。比如,上面游乐场的例子,我们可以这么去理解它,先判断小朋友是否成年,即是否大于18岁,如果小于18岁再在此基础上判断是否小于4岁。”“03.掌握if语句的嵌套语法结构分析注意if判断条件:
代码块if判断条件:
代码块else代码块else代码块在相互嵌套时,一定要严格遵守不同级别代码块的缩进规范。01内层if语句内可以继续嵌套if语句,在开发程序时,需要根据场景需要,选择合适的嵌套方案。02执行过程分析如果为true则执行if条件判断2,如果为真执行代码块S1否则执行代码块S2,或者条件1不满足条件就直接执行代码块S3。在此结构里Python会先判断外层if条件1的结果。条件1条件2truetrue
S1FalseS3FalseS2案例,就上一个游乐场案例进行修改。运行效果如下:age=10print("现在开始判断")ifage<18:ifage>4:print("小朋友,你已经"+str(age)+"岁了")print("*******需要支付10元*******")elseprint("小朋友,你今年还未满4岁")print("*******欢迎光临*******")elseprint("你已经"+str(age)+"岁,成年了")print("*******需要支付20元*******")print("判断结束!")技能拓展探索Python
中,if、ifelse和ifelifelse之间是否可以相互嵌套。4任务要求储备知识任务实施任务目标231TASKFOUR任务四智能声控楼道灯04.实现楼道小夜灯任务实施任务所需软件如下所示:环境准备任务所需硬件如下所示:VNC-Viewer该项目实现的智能楼道灯实现的效果是——当光线昏暗时有人进过会自动亮灯20秒,然后自动灭灯。三色灯模块PCF8591模块树莓派4B声音传感器模块光敏电阻模块04.实现楼道小夜灯4.1.根据引脚说明和连线图连接设备各设备对应接口如以下表说明:树莓派T型转接板PCF8591模块SDASDASDASCLSCLSCL5V5VVCCGNDGNDGNDPCF8591模块T型转接板声音传感器AINO0-AOVCC5VVCC(+)GNDGNDGND(G)树莓派T型转接板光敏电阻模块AINO1—A1VCC5VVCC(+)GNDGNDGND(G)树莓派T型转接板三色灯GPIO0G17RGNDGNDGND(G)4.2.实现智能楼道灯步骤1:根据连线图连接线路(1)如图所示,将LED模块、光敏电阻、声音传感器模块分别连接至GPIO中。图:连接LED模块与光敏电阻模块步骤2:编写代码实现智能小夜灯(1)开启树莓派电源->打开“VNC-Viewer”软件连接树莓派->输入IP地址->用户名密码。(2)连接成功后,在点击左上方【树莓派】图标->选择【编程】->点击打开【mu】软件,如图所示:图:打开PythonIDE(3)打开“mu”软件,软件界面后如图所示:图:mu软件界面(4)单击“mu”软件界面上的按钮,新建一个名为“SmartCorridorLights.py”的Python文件,保存在“/home/pi/mu_code”目录下。步骤3:编写和验证代码执行效果如右所示,当有人经过时进一步通过光敏电阻模块的所测得光照数值判断当前的光照情况,进而控制LED灯是否亮起,同时每次的点亮LED时延时10秒自动关闭。importPCF8591asADCimportRPi.GPIOasGPIOimporttimeGPIO.setmode(GPIO.BOARD)GPIO.setup(17,GPIO.OUT)ADC.setup(0x48)inti=0intstate=0whileTrue:voiceValue=ADC.read(0)lightValue=ADC.read(1)ifvoiceValue>=50:iflightValue<35:GPIO.output(17,1) state=1ifstate==1:i+=1ifi>50:GPIO.output(17,0)i=0state=0time.sleep(0.2)(1)这里的整型变量i用于10秒的计数。inti=0(2)这里的整型变量state用于标记执行开灯操作的状态。intstate=0代码详解(3)为无限循环,表示每隔200毫秒通过PCF8591模块读取其AINO0端口上输出的模拟值,表示在声音模拟量的值超过临界值50时,再判断光照模拟量的数值是否低于临界值35,若满足则通过打开三色灯上的红灯,同时利用标记进入状态1。接着判断当前是否处于开灯状态,如果是就通过进行计数,在循环过程中i值会进行累加,并不断重复执行,利用i的数值来判断延时时间是否达
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年模块电源测试题及答案
- 2026年童年河测试题加上答案
- 2026年比内智力测试题目及答案
- 阅读专项闯关题及答案
- 秘书专业试卷试题及答案分享
- 补语专项试题及详细答案
- 2026年中国天然原油产业现状深度调研及十五五盈利空间评估报告
- vte防治护理理论知识题库及答案详解
- 初学者ctf题库及答案详解
- 2026年中国快消品电商产业深度调研与发展战略研究报告
- 2026年非高危行业安全员培训考试试题含答案
- 2025年一级消防工程师继续教育考题及答案
- 2026年江苏泰州兴化市事业单位公开招聘113人易考易错模拟试题(共500题)试卷后附参考答案
- 2026年事业编行政执法类(综合执法)法律基础知识培训试卷
- 胃肠护理中的口腔卫生与胃肠健康
- 安徽省环境监测服务收费标准
- 2026-2030中国鸵鸟养殖行业市场发展分析及竞争格局与投资前景研究报告
- 湖南绿色校园建设方案
- 2026年医疗科技康复机器人技术标准报告
- 2026年经济师考试初级经济法模拟单套试卷及解析
- 水塘如何整治工作方案
评论
0/150
提交评论