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

下载本文档

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

文档简介

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

项目四智能风扇PART04※继电器选型与检测※继电器控制风扇04※温度传感器选型与检测※实现智能风扇认识继电器的工作原理和检测方法01了解获取NTC热敏电阻温度传感器数值的方法03认识温度传感器的工作原理和检测方法02掌握Python语言中while语句的使用04学习目标objective掌握Python通过继电器控制负载的方法05TASKTWO任务二继电器控制风扇4任务要求储备知识任务实施任务目标231在了解python语言的while语句之后,使用树莓派中的GPIO库的功能开发程序,实现根据输入字符串开关风扇的功能。任务要求4任务要求储备知识任务实施任务目标231TASKTWO任务二继电器控制风扇01.掌握Python语言输入输出语句02.掌握Python语言中while循环语句的使用任务目标03.掌握Python程序控制继电器的方法4任务要求储备知识任务实施任务目标231TASKTWO任务二继电器控制风扇01.了解Python语言的控制台输出语句02.了解Python语言的输入语句03.了解Python语言中的while循环语句储备知识语法如下——print(输出项1,输出项2,输出项3,...)注意0102输出项可以是变量,各类型值,表达式等,各位输出项之间用逗号隔开。print函数带有默认参数end="\n",也就是执行完print函数默认是换行的。01.了解Python语言的控制台输出语句”“str="欢迎学习"print("Helloworld",1+1,str+"树莓派")案例运行结果思考练习探究python中格式化操作符输出。如果希望输出文字信息的同时,一起输出数据,改如何操作?在Python中可以使用input函数从键盘等待用户输入语法结构分析字符串变量=input("提示信息:")注意0102在Python中可以使用input函数从键盘等待用户输入在用户输入的任何内容Python都认为是一个字符串02.了解Python语言的输入语句”“x=input("请输入x=")y=input("请输入y=")z=x+yprint("x+y="+z)案例运行结果根据输出结果我们不难看出输入的数字都是以字符串的类型存放在变量内,当执行“+”的时候实际上是两个字符串的连接。那么为了让输出的是数字,我们需要用int()或者float()函数把输入的内容转换为数字类型。x=int(input("请输入x="))y=int(input("请输入y="))z=x+yprint("x+y=",z)如果print("x+y=",z)这句代码写成print("x+y="+z)是有错误的,因为“+”作为字符串的连接,变量z现在是int的数据并不是字符串,所以需要改为print("x+y="+str(z))运行结果注意程序执行的过程中——例如,数学中1至100的累加,就可以通过循环语句在判断被加数小于100的情况下重复执行两个数相加的语句。”“一般情况下是按照顺序执行的,但是如果遇到部分代码需要重复执行,那么顺序结构代码则会显得非常冗余。循环语句的出现就是为了解决这个情况,它通过一定的判断允许一个语句或者语句组重复多次。“1+2+3+……+100”03.了解Python语言中的while循环语句在Python语言中,提供了while循环和for循环两种结构来表示循环,下面我们先来学习下while循环语句。语法结构分析While循环语句是最简单的条件判断语句,在给定的判断条件为true时执行循环体,否则退出循环体。使用的语法结构如下:while判断条件:代码块注意while条件后要使用冒号(:),表示接下来是满足条件后要执行的语句。使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。执行过程分析while是Python语言中的关键字,如果判断条件成立,则循环执行缩进的语句块,当判断条件不成立时则跳出循环,流程如右图所示。图:while语句流程图为了帮助大家更好的理解while语句的使用,接下来,通过两个案例来演示while循环语句的作用。这里通过VNCViewer连接到树莓派系统,打开前面提到的mu软件,进行代码的编写。案例“while语句-1”代码如下:num=1print("=====循环开始=====")whilenum<=5:print("Hellopython")num+=1print("=====循环结束=====")运行效果如下:案例“while语句-2”代码如下:运行效果如下:i=0result=0print("=====循环判断开始=====")whileresult<=100:result+=ii+=1print("=====循环结束=====")print("1~100之间数字求和的结果是",result)思考练习计算0~100之间所有奇数的累计求和无限循环代码块Ture作为布尔型数据,表示为真,也就是说while后面接的条件表达式始终成立,因此将不断执行之后的循环代码块,不会自动停止,也就是常说的死循环。一般情况下,我们在编写代码时应该,避免出现死循环即无限循环,因为无限循环是非常占计算机性能的,如果控制台出现了无限循环,可以使用ctrl+c终止程序。whileTrue:代码块后面我们进一步学习完善代码,使用try……except语句跳出循环并补齐释放资源的操作。在树莓派或者单片机的代码中都有whiletrue的语句块,当该程序执行后,将不停执行循环指令,我们可以把它理解为——不断刷新传感器数据或者是监听按钮等使用break退出循环break语句用于跳出循环,及在执行break语句时它所在的循环体已经结束。”“i=0whilei<10:print("=====循环执行了",i,"次=====")ifi==3:breaki+=1print("=====循环结束=====")案例运行结果我们可以看到在循环执行到第4次也就是变量i存放的值为3时,执行break语句,循环结束。在循环中使用continuecontinue语句中断循环中的迭代,如果出现了指定的条件,然后继续循环中的下一个迭代。也就是说执行continue语句时,其所在的循环体并没有结束。i=0whilei<5:print("=====循环执行了",i,"次=====")ifi==3:continuei+=1print("=====循环结束=====")运行结果思考练习把以上代码改为:i=0whilei<10:print("=====循环执行了"+i+"次=====")

ifi==3:

continue

i+=1print("=====循环结束=====")运行结果会如何?while循环的嵌套while判断条件:代码块while判断条件 代码块while语句一样支持嵌套,可以进行多层次的嵌套操作。案例”“在控制台连续输出五行*,每一行星号的数量依次递增。row=0whilerow<=5:col=1whilecol<=rowprint("*",end="") col+=1row+=1print("=====循环结束=====")使用while嵌套练习:打印九九乘法表。运行结果思考练习4任务要求储备知识任务实施任务目标231TASKTWO任务二继电器控制风扇04.Python程序实现智能声控楼道灯任务实施VNC-Viewer风扇树莓派4B继电器模块环境准备04.Python程序实现实现智能风扇任务所需软件如下所示:任务所需硬件如下所示:4.1.根据引脚说明和连线图连接设备树莓派T型转接板继电器模块GPIO0GPIO17INGNDGNDDC-5V5V0DC+5V5VCOM风扇T型转接板继电器模块DC+*NODC-GND*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秒后自动关闭。importRPi.GPIOas

GPIOimport

timeGPIO.setmode(GPIO.BCM)GPIO.setup(17,GPIO.OUT)GPIO.output(17,GPIO.LOW)while

True:

str=input("请输入打开或者关闭来控制风扇开关:")

if

str=="关闭":

GPIO.output(17,GPIO.LOW)

print("现在关闭风扇")

if

str=="打开":

GPIO.output(17,GPIO.HIGH)

print("现在打开风扇")

time.sleep(0.1)代码详解(1)表示本任务使用GPIO的BCM模式,即T型板转接板上的引脚编码。GPIO.setmode(GPIO.BCM)(2)表示设置编号为11的引脚为GPIO的输出引脚,根据前面接线说明,此处即控制继电器的信号端口。GPIO.setup(17,GPIO.OUT)(3)为无限循环,表示等待用户输入字符并存在变量str内,表示若输入的字符串是“关闭”,则通过让继电器断开,即关掉风扇,表示若输入的字符串是“打开”,则通过让继电器闭合,即打开风扇,表示延时0.1秒,继续等待用户的输入指令。

温馨提示

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

评论

0/150

提交评论