项目七 智能防盗门 - 任务二_第1页
项目七 智能防盗门 - 任务二_第2页
项目七 智能防盗门 - 任务二_第3页
项目七 智能防盗门 - 任务二_第4页
项目七 智能防盗门 - 任务二_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

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

项目七智能防盗门PART07※霍尔传感器选型与检测※实现霍尔智能门锁07※干簧管传感器选型与检测※实现磁簧开关智能门锁认识霍尔传感器的工作原理和检测方法01掌握Python语言中循环的使用03认识干簧管传感器的工作原理和检测方法02学习目标objective掌握集成应用多个传感器模拟智能门锁04TASKTWO任务二实现霍尔智能门锁4任务要求储备知识任务实施任务目标231在了解霍尔传感器应用于智能防盗门的原理后,使用树莓派中的GPIO库的功能开发程序,实现根据霍尔传感器得到的数字量值来控制蜂鸣器的声响。任务要求4任务要求储备知识任务实施任务目标231TASKTWO任务二实现霍尔智能门锁01.了解基于霍尔传感器的智能防盗门工作原理02.了解Python语言的for语句任务目标03.应用Python程序调用GPIO库函数4任务要求储备知识任务实施任务目标231TASKTWO任务二实现霍尔智能门锁01.智能门锁行业背景储备知识02.智能锁上的霍尔磁力传感器03.了解Python语言的for循环智能门锁01.智能门锁行业背景图:智能门锁区别于传统机械锁的基础上改进的,在用户安全性、识别、管理性方面更加智能化的锁具。智能门锁是门禁系统中锁门的执行部件。随着物联网和智能家居的普及,作为智能家居入口级产品,智能门锁市场近年来增速十分惊人。应用场景据统计2020年全国智能锁产销800万套,产值超百亿元。预计在未来的5-10年内,随着家庭智能门锁的批量采用,我国智能门锁的总需要量将会超过3000万套装,行业总产值将会突破1000亿元大关,市场的普及率将会大大提高,智能门锁上的应用的部件也会出现大幅增长。1酒店2公寓3民宿以上的场景已经开始批量采用智能门锁。02.智能锁上的霍尔磁力传感器通常智能门锁要通过磁传感器部件,来判断门的开关和锁的状态,进行相应的操控和处理,再将门锁的状态信息上传到网络。控制部件MCU处理器电机系统执行部件整套系统的MCU处理器、控制部件、电机等执行部件必不可少,所有的部件都需要供电。门作为一个独立的部分,只能电池供电,因为成本和空间的要求,电池的容量不会很大,这就对所有部件的耗电提出很高的要求。超低功耗霍尔磁力传感器第一个应用就是唤醒为了省电,整个系统通常处于休眠的状态,只有在门锁的状态发生改变后才对系统进行唤醒,通常的唤醒的方式是门把手和滑盖的唤醒方式,当把手和滑盖有动作的时候,系统会唤醒,进入工作状态。处理完毕后再次进入休眠的状态。霍尔磁力传感器第二个应用就是检测门的开关状态接触式微动开关非接触式磁开关机械开关,体积大,有劳损问题,故障率高。主要有干簧管、霍尔开关和磁阻开关。如图所示。图:智能门锁中常见的非接触式磁开关霍尔开关采用霍尔传感器工作原理,需要mA级电流,为省电,采用分时供电的方式,通常是霍尔开关的供电脚和状态输出脚分别连接在MCU的两个I0上,MCU通过定时的方式给霍尔开关的供电脚供电,延时一会后,等霍尔开关的输出状态稳定后,再读取其状态。03.了解Python语言的for循环在Python语句中有两种循环语句——while循环for循环我们在日常生活中,会遇到很多循环的场景,例如,交通路口的红绿灯会交替变化,这是一个重复循环的过程。在程序中,若想重复执行某些操作,可以通过循环语句实现。在项目四和项目六中我们已经讲解了while循环和while嵌套循环,这里主要讲解下for循环。语法结构分析在很多编程语言中都有多种形式的for语句,Python中的for语句有什么特点呢?基于简单的设计理念,在Python中只有一种for语句,即for-in语句,它可以遍历任意可迭代对象中的元素。for变量in可迭代对象:循环体语句组[else: 语句组]for循环的语法结构如下注意for循环中也要使用冒号(:)和缩进(TAB制表符)。可迭代对象包含字符串、列表、元组、集合和字典等。for语句中的else子语句部分可省略,表示在循环被中断时不执行,而for循环在遇到break、return和有异常发生时都会被中断。图:for循环流程图假设现在有一个列表[0,1,2],使用for循环对其遍历的案例代码“for循环1”如下:foriin[0,1,2]:print(i)]运行效果在上面的案例中,for循环可以将列表中的数值逐个显示。Python提供了一个内置range函数,它可以生成一个数字序列,它在for循环中的基本格式如下:foriinrange(start,end):循环体语句组注意程序在执行for循环时,循环计时器变量i被设置为start开始,然后执行循环语句,i依次被设置为从start开始至end结束之间的所有值(不包含end)。案例代码“for循环2”如下:foriteminrange(1,10):print(item)else:print()运行效果range函数返回整型序列,它的取值大于等于1且小于10,总共有10个整数。当循环结束时,执行else后面的语句,打印输出Over!在Python中while语句也可以带有else子句,也是在while循环体正常结束时才执行else语句。说明在上面的案例中——思考练习(1)使用for循环计算100以内的整数之和。(2)通过for循环计算出水仙花数。提示:水仙花数是一个三位数,三位数各位的立方和等于三位数本身,例如153=13+53+33。4任务要求储备知识任务实施任务目标231TASKTWO任务二实现霍尔智能门锁04.Python程序实现霍尔智能门锁任务实施04.Python程序实现霍尔智能门锁任务所需软件如下所示:环境准备任务所需硬件如下所示:VNC-Viewer霍尔模块PCF8591模块树莓派4B继电器模块有源蜂鸣器4.1.模拟场景描述本案例实验能够模拟智能门锁的防盗功能,利用霍尔传感器感应磁场的特点,假设磁场是带有磁性的房卡,根据磁场的有无,给继电器模块发送信号,进而控制蜂鸣器的发声,模拟智能门锁的警报功能。4.2.根据引脚说明和连线图连接设备T型转接板线性霍尔传感器继电器模块GNDAO(串联120欧限流电阻)*GNDGNDDC-3.3VVCC*5V*DC+G4DO*G24*IN有源蜂鸣器T型转接板继电器模块Signal*NOVCC3.3V*GNDGNDCOM图:连接线路图4.3.Python程序实现智能门锁防盗步骤1:打开mu开发环境,新建Python文件(1)开启树莓派电源->打开“VNC-Viewer”软件连接树莓派->输入IP地址->用户名密码。(2)连接成功后,在点击左上方【树莓派】图标->选择【编程】->点击打开【mu】软件,如图所示:图:打开PythonIDE(3)打开“mu”软件,软件界面后如图所示:图:mu软件界面(4)单击“mu”软件界面上的按钮,新建一个名为“HallCheck.py”的Python文件,保存在“/home/pi/mu_code”目录下。步骤2:编写和验证代码输入代码,实现读取霍尔传感器的数字量,当读到磁场存在时,向继电器模块发送信号,进而控制继电器模块NO口连接的有源蜂鸣器的发声。importRPi.GPIOasGPIOimporttimeGPIO.setmode(GPIO.BCM)GPIO.setup(4,GPIO.IN)GPIO.setup(24,GPIO.OUT)while

True:v=GPIO.input(4)

ifv:GPIO.output(24,1)

else:GPIO.output(24,0)

print(v)time.sleep(0.5)代码详解(1)表示设置线性霍尔传感器的DO连接的T型板上的4口为信号输入口,而GPIO.setup(24,GPIO.OUT)表示T型板上的24口为向继电器模块输出的信号输出口,也就是说,Python程序通过24口来控制继电器模块NO口的开关切换。GPIO.setup(4,GPIO.I

温馨提示

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

评论

0/150

提交评论