项目四 智能风扇 - 任务四_第1页
项目四 智能风扇 - 任务四_第2页
项目四 智能风扇 - 任务四_第3页
项目四 智能风扇 - 任务四_第4页
项目四 智能风扇 - 任务四_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

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

项目四智能风扇PART04※继电器选型与检测※继电器控制风扇04※温度传感器选型与检测※实现智能风扇认识继电器的工作原理和检测方法01了解获取NTC热敏电阻温度传感器数值的方法03认识温度传感器的工作原理和检测方法02掌握Python语言中while语句的使用04学习目标objective掌握Python通过继电器控制负载的方法05TASKFOUR任务四实现智能风扇4任务要求储备知识任务实施任务目标231在了解python语言中if语句得使用基础后,使用树莓派中的GPIO库的功能开发利用光敏传感器、声音传感器实现智能楼道灯。任务要求4任务要求储备知识任务实施任务目标231TASKFOUR任务四实现智能风扇01.了解Python语言中if-else语句的使用02.了解Python语言中if-elif-else语句的使用任务目标03.了解Python语言中if嵌套语句的使用04.掌握使用python语言开发传感器应用4任务要求储备知识任务实施任务目标231TASKFOUR任务四实现智能风扇01.认识实验所用模拟温度传感器02.了解NTC热敏电阻和NTC探针组件中的电阻温度关系储备知识实验所用模拟温度传感器一共有4个引脚0102030401AO引脚(模拟量输出口)02DO引脚(数字量输出口)04GND引脚(地线)03电源VCC01.认识实验所用模拟温度传感器在其电路板上还有一个可调变阻器,它的主要作用是用来设置阈值,从而控制DO引脚的输出。可以通过螺丝刀对它进行旋转,顺时针旋转时会调低阈值,反之亦然,只有当测量数据低于阈值时会在DO引脚输出高电平,同时传感器的DO-LED灯点亮。本次实验所使用的模拟温度传感器的组成——

01NTC热敏电阻

0210kΩ的电阻它并不能直接输出测量的摄氏温度数值,其AO引脚只是输出模拟量,通过模数转换器PCF8591将模拟量转换为数字量。02.了解NTC热敏电阻和NTC探针组件中的电阻温度关系因此为了便于我们得到最后的结果,需要引入一个数学表达式来描述该器件的特性,Steinhart-Hart方程是十分经典的热敏电阻模型公式,它属于经验公式,是用来描述NTC型热敏电阻的阻值和温度关系的最好数学表达式。其形式如下:由于热敏电阻的阻值会随着环境温度而变化。注意A、B、C为系数T为绝对温度K(开尔文温度)ln()为自然数对数运算R单位是欧姆通过化简我们可得最后温度可通过一下公式计算得出(Python语言):t=1/(1/(273.15+25)+1/B*math.log(Rth/R25))-273.15注意010203B为系数。R25是热敏电阻在25℃时的阻值(单位为Ω)。math.log()表示Python中的log()函数,其不能直接使用需要导入math模块,它的基本表达式是math.log(x[,base])。X代表数值表达式;base代表底数,是可选的,默认为e。因此上面的公式表示的是ln(Rth/R25)。常规NTC热敏电阻参数01温度为(R25℃)时02阻值为100kΩ03B值(25/85)为3950下面我们只要求Rth即可得到最后的温度值数据。由于热敏电阻是可变电阻,我们需要在计算温度之前测量电阻,但是我们不能直接测量电阻,只能测量电压。利用分压器电路采集测量热敏电阻和已知电阻之间的电压,分压器的公式是:就热敏电阻电路中的分压器而言,上述等式中的变量为:01Vout:传感器输出数据,即热敏电阻和已知电阻之间的电压02Vin:输出供电5v03R1:已知阻值04R2:热敏电阻阻值对公式进行重拍化简,可以得到R2,即热敏电阻的阻值:技能拓展在第三章的学习中我们认识了PCF8591模块是一款AD\DA转换器,使用IIC通信方式。下面我们进一步了解该模块中最核心的器件PCF8591。其引脚分析如右图:可以看出PCF8591具有——014个模拟输入(AIN0~AIN3)021个模拟输出(AOUT)031个串行I²C总线接口(SDA、SCL)通过AIN端口输入模拟电压,然后PCF8591将转换后的数字量通过I²C总线发送给单片机。单片机通过I²C总线给一个数字量,然后PCF8591通过AOUT端口将模拟电压输出。或者然后PCF8591有3个地址引脚A0,A1和A2可用于硬件地址编程,允许在同个I2C总线上接入8个器件,而无需额外的硬件。PCF8591器件上输入输出的地址、控制PCF8591器件上数据信号均通过双线双向I2C总线以串行的方式进行传输。在PCF8591器件上——每一个I²C器件都有一个器件地址,来区分不同的I²C设备,下面是PCF8591的地址:最后还有OSC表示外部时钟输入端,内部时钟;EXT表示内部、外部时钟选择线,使用内部时钟时EXT接地;VDD、VSS表示电源端。AGND表示模拟信号地;VREF表示基准电源端。4任务要求储备知识任务实施任务目标231TASKFOUR任务四实现智能风扇03.实现智能风扇任务实施环境准备VNC-Viewer任务所需软件如下所示:03.实现智能风扇任务所需硬件如下所示:风扇PCF8591模块树莓派4B继电器模块温湿度传感器3.1.根据引脚说明和连线图连接设备树莓派T型转接板PCF8591模块SDASDASDASCLSCLSCL5V5VVCCGNDGNDGNDPCF8591模块T型转接板温度传感器AINO0-AOVCC5VVCC(+)GNDGNDGND(G)—GPIO17DO树莓派T型转接板继电器模块GPIO0GPIO27INGNDGNDDC-5V5V0DC+5V5VCOM风扇T型转接板继电器模块DC+*NODC-GND*3.2.实现智能风扇步骤1:编写代码实现智能风扇(1)开启树莓派电源->打开“VNC-Viewer”软件连接树莓派->输入IP地址->用户名密码。(2)连接成功后,在点击左上方【树莓派】图标->选择【编程】->点击打开【mu】软件,如图所示:图:打开PythonIDE(3)打开“mu”软件,软件界面后如图所示:图:mu软件界面(4)单击“mu”软件界面上的按钮,新建一个名为“SmartCorridorLights.py”的Python文件,保存在“/home/pi/mu_code”目录下。步骤2:编写和验证代码执行效果如下所示,当有人经过时进一步通过光敏电阻模块的所测得光照数值判断当前的光照情况,进而控制LED灯是否亮起,同时每次的点亮LED时延时10秒自动关闭。importPCF8591as

ADCimportRPi.GPIOas

GPIOimport

timeimport

mathGPIO.setmode(GPIO.BCM)GPIO.setup(17,GPIO.IN)ADC.setup(0x48)GPIO.setup(27,GPIO.OUT)GPIO.output(27,GPIO.LOW)current_status=1while

True:

V_Value=5*float(ADC.read(0))

R_Value=10000*V_Value/(5-V_Value)Temp_Value=1/(((math.log(V_Value/10000))/3950)+(1/(273.15+25)))

Temp_Value=Temp_Value-273.15

print("*******当前的温度是:"+Temp_Value+"℃********")

input_state=GPIO.input(17)

if

input_state!=current_status:

if

input_state==1:

print("=====当前温度不错,自动关闭风扇=====")

GPIO.output(27,GPIO.LOW)

elif

input_state==0:

print("=====现在有点热,自动打开风扇=====")

GPIO.output(27,GPIO.HIGH)

current_status=input_state

time.sleep(0.2)(1)表示本任务使用GPIO的BCM模式,即T型板转接板上的引脚编码。T型板的17接口设置为输入模式,T型板的27接口设置为输出模式,设置为低电平,即默认情况下继电器关闭。GPIO.setmode(GPIO.BCM)GPIO.output(27,GPIO.LOW)GPIO.setup(17,GPIO.OUT)GPIO.setup(27,GPIO.OUT)代码详解(2)获取数模转换的数值并将其转换到5V范围。V_Value=5*float(ADC.read(0))(3)根据前面介绍的求热敏电阻值的公式算出Rth。R_Value=10000*V_Value/(5-V_Value)(4)根据前面介绍的求热敏电阻值的公式算出Rth。Temp_Value=1/(((math.log(V_Value/10000))/3950)+(1/(273.15+25)))(5)转换为摄氏温度。Temp_Value=Temp_Value-273.15(6)获取温度传感器DO引脚的数据。input_state=GPIO.input(17)(7)

温馨提示

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

评论

0/150

提交评论