版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《传感器应用》主讲教师:XXX
项目三智能控制楼道路灯PART03※声音传感器选型与检测※实现声控楼道灯03※光敏传感器选型与检测※智能声控楼道灯认识声音传感器的工作原理和检测方法01掌握Python语言中if语句的使用03认识光敏传感器的工作原理和检测方法02掌握Python获取模拟量值的方法04学习目标objectiveTASKTWO任务二实现声控楼道灯4任务要求储备知识任务实施任务目标231在了解python语言的if语句之后,使用树莓派中的GPIO库的功能开发程序,实现根据声音传感器得到的模拟量值来控制三色灯的亮灭。任务要求4任务要求储备知识任务实施任务目标231TASKTWO任务二实现声控楼道灯01.了解PCF8591模块的工作原理02.了解I2C通信的基本原理任务目标03.了解Python语言的if语句04.掌握Python程序调用PCF8591库函数的方法4任务要求储备知识任务实施任务目标231TASKTWO任务二实现声控楼道灯01.认识PCF8591模块02.了解I2C总线传输解析03.了解Python语言的if语句储备知识我们将声音传感器的AO端子连接到PCF8591的AINO,以便实时检测语音信号的强度,PCF8591的SDA引脚代表数据线,SCL引脚代表时钟线。PCF8591实物如图所示。PCF8591(具体介绍见任务二的2.I2C总线传输解析)一款具有I2C总线接口是8位分辨率的转换芯片是4通道A/D的转换芯片是1通道D/A的转换芯片01.认识PCF8591模块由于PCF8591使用I2C总线进行数据的传输,因此需要对其有一定的了解。I2C(Inter-IntegratedCircuit)总线(也称IIC或I2C)由PHILIPS公司开发的一种简单、双向二线制同步串行总线。一根线为SCL(时钟线)另一根为SDA(数据线)02.了解I2C总线传输解析一次完整的I2C信号传输过程一定会包含三种信号——要弄懂I2C,需要从时序入手,弄懂其传输格式。数据的字节信号起始和停止信号响应ACK和非响应NACK信号起始和停止位起始和终止条件都由主机产生。总线在起始条件之后处于忙碌状态,在停止条件之后又处于空闲状态。起始和停止信号只有在SCL为1时才能产生:起始信号当SCL为1时,SDA从高电平变为低电平(下降沿),就会产生起始信号。结束信号SDA从低电平变为高电平,则会产生结束信号。图:起始、停止信号时序图因此,可以这样说,SCL为高时,SDA应该保持稳定,一旦跳变,就会产生起始或停止信号。数据字节的传输SDA数据线上的每个字节必须是8位,每次传输的字节数量没有限制,但每传输一个字节之后必须紧跟一个应答位(ACK)。字节发送和接收时,都是先高位(MSB),再低位(LSB)。传输时,数据的高低电平翻转变化发生在SCL低电平时,SDA上的数据必须在SCL高电平时保持稳定。具体如图所示:图:数据字节传输时序图应答信号应答信号分为应答信号ACK和非应答信号NACK。应答信号用一个低电平表示,非应答信号用一个高电平表示,如图所示。图:主从机之间的应答信号I2C总线的数据都是以字节(8位数据或者地址及命令)的方式传送的。发送器每发送一个字节之后,在时钟的第9个脉冲期间释放SDA数据线,由接收器发送一个应答信号(即把数据线电平拉低,回复一个“0”)来表示数据成功接收。应答信号ACK当主机为接收器时,它收到最后一个字节后,则需发送非应答信号“1”(即把SDA置为高电平),以通知被控从机结束数据发送,并释放总线,以便主机发送一个终止信号,最终结束通信。无应答信号NACK我们在日常生活中,时常需要对一些情况做出选择,小到生活小事,大到人生抉择。例如,现实生活中,过马路要看红绿灯,如果是绿灯才能过马路,否则需要停止等待。”“其实,不仅生活中需要判断,在程序开发中,也经常会用到判断。例如,用户在登录系统的时候,只有用户名和密码全部正确,才被允许登录。”“03.了解Python语言的if语句在Python语言中,提供了多种判断语句解决这个问题,本任务使用到最简单的条件判断语句,即if语句。语法结构分析if语句是最简单的条件判断语句,它可以控制程序的执行流程,使用的语法结构如下:if判断条件:代码块注意if条件后要使用冒号(:),表示接下来是满足条件后要执行的语句。使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。执行过程分析if是Python语言中的关键字,如果判断条件成立,则执行相应的语句,否则不执行,流程如图所示:图:单分支if语句流程图为了帮助大家更好的理解if语句的使用,接下来,通过两个案例来演示if语句的作用。这里通过VNCViewer连接到树莓派系统,打开前面提到的mu软件,进行代码的编写。案例“if语句-1”代码如下:age=27print("=====if判断开始=====")ifage>=18:print("=====我已经成年了=====")print("=====if判断结束=====")运行效果如下:案例“if语句-2”代码如下:运行效果如下:age=16print("=====if判断开始=====")ifage>=18:print("=====我已经成年了=====")print("=====if判断结束=====")在以上两个案例中,分别将变量age的值赋为27和16,后面便是if判断语句,只要满足age>=18条件就输出“======我已经成年了=====”。从以上运行结果可以看出——前者输出了“======我已经成年了=====”,说明满足了条件。后者没有输出if语句中的打印语句,说明没有满足条件。由此可知if判断语句只能在满足一定条件时才会执行指导的代码,否则就不执行。思考练习(1)在I2C总线的数据传送中,应答是一个________信号,非应答是一个________信号。(2)A/D转换的一般过程,包括______、______、______和______。4任务要求储备知识任务实施任务目标231TASKTWO任务二实现声控楼道灯04.Python程序实现智能声控楼道灯任务实施任务所需软件如下所示:环境准备任务所需硬件如下所示:VNC-Viewer三色灯模块PCF8591模块树莓派4B声音传感器模块04.Python程序实现智能声控楼道灯4.1.根据引脚说明和连线图连接设备各设备对应接口如以下表说明:树莓派T型转接板三色灯GPIO0G17RGNDGNDGND(G)树莓派T型转接板PCF8591模块SDASDASDASCLSCLSCL5V5VVCCGNDGNDGNDPCF8591模块T型转接板声音传感器AINO0-AOVCC5VVCC(+)GNDGNDGND(G)图:连接线路图4.2.Python程序实现检测传感器步骤1:打开mu开发环境,新建Python文件(1)开启树莓派电源->打开“VNC-Viewer”软件连接树莓派->输入IP地址->用户名密码。(2)连接成功后,在点击左上方【树莓派】图标->选择【编程】->点击打开【mu】软件,如图所示:图:打开PythonIDE(3)打开“mu”软件,软件界面后如图所示:图:mu软件界面(4)单击“mu”软件界面上的按钮,新建一个名为“SmartSoundControl.py”的Python文件,保存在“/home/pi/mu_code”目录下。步骤2:编写和验证代码输入代码,实现读取声音传感器的模拟量,当超过临界值50时,打开三色灯上的红灯,延时10秒后自动关闭。importPCF8591asADCimportRPi.GPIOasGPIOimporttimeGPIO.setmode(GPIO.BCM)GPIO.setup(17,GPIO.OUT)ADC.setup(0x48)whileTrue:voiceValue=ADC.read(0)print("SoundValue:",voiceValue)ifvoiceValue>=50: GPIO.output(17,1)time.sleep(10)GPIO.output(17,0)time.sleep(0.2)#延时200ms(1)表示通过0x48这个地址对PCF8591模块进行初始化,而地址的获取必须在连线正确的情况下通过命令获取,如图所示:ADC.setup(0x48)图:命令获取PCF8591模块的地址代码详解(2)表示树莓派读取PCF8591的AINO0口的模拟量数据。voiceValue=ADC.read(0)(3)为无限循环,表示每隔200毫秒通过PCF8591模块读取其AINO0端口上输出的模拟值,表示若模拟量的值超过临界值50,则通过打开三色灯上的红灯,表示延时10秒,然后再通过
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年儿童iq的测试题及答案
- 2026年婚后幸福测试题及答案
- 2026年术前评估测试题及答案
- 2026年脸盲程度测试题及答案
- 2026年专四语法词汇测试题及答案
- 2026年最难王者荣耀测试题及答案
- 2026年洋葱学院测试题及答案
- 支具模拟试题及答案展示
- 北京市工商银行2026年秋招笔试综合模拟题库及答案详解
- 2026年中国节电市场运营评估报告
- 2025四川国经扬华集团有限公司综合办公室副主任岗市场化招聘1人笔试参考题库附带答案详解
- 电力企业交通安全培训课件
- 校园1530安全教育课件版
- 2026年建设工程造价(通信工程计价)自测试题及答案
- 费用审核会计工作汇报体系
- 电子止吐仪课件
- 兄弟套结机KE-430F中文使用说明书
- 中华人民共和国国际海运条例(2025修订)深度解读课件
- 核桃灸课件教学课件
- 【感恩教育】教师节主题班会《有一种炫耀是“我的老师很严格”》(课件)
- 《汽车电工与电子技术基础》课件(共七章节)
评论
0/150
提交评论