版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《传感器应用》主讲教师:XXX
项目八燃气灶检测器PART08※热电偶传感器的选型与检测※实现燃气灶检测器08项目概述近日某公司生产的钢化玻璃燃气灶突然发生爆炸,发现由于燃气灶可燃气泄漏超过一定时间,未有任何的提示,当杨先生发现时已经酿成大祸。现某公司开始发现问题需要在自家燃气灶中加入检测器功能并加入报警功能与手机联动,小林作为公司的产品研发工程师,需要将其实现。使用树莓派开发套件编写程序调试实现上述功能,便于后续产品的研发。认识热电偶传感器的原理和选型01认识热电偶传感器检测方法02学习目标objective掌握MAX6675模块的时序01掌握Python语言中list列表的使用02技能目标objective掌握Python实现燃气灶检测的方法03TASKTWO任务二实现燃气灶检测器4任务概述储备知识任务实施任务目标231本次任务:掌握python语言的list列表的使用,通过树莓派中的GPIO库的功能开发程序,实现根据输入字符串开关风扇的功能。任务概述4任务概述储备知识任务实施任务目标231TASKTWO任务二实现燃气灶检测器01.掌握Python语言list列表的定义02.掌握Python语言中list列表数据的访问任务目标03.掌握Python语言中list列表数据的更新04.了解燃气灶的实现过程4任务概述储备知识任务实施任务目标231TASKTWO任务二实现燃气灶检测器01.了解Python3中列表的使用储备知识02.燃气灶的安全保护01.了解Python3中列表的使用序列,在各种编程语言里都是一种基本的数据结构,其主要特点是内部每个数据都有对应的位置值,称之为索引,并且都是从0开始依次增加。其中列表和元组是最常见的,它们都是存放多个数据元素的集合,在基本功能上都起着存放数据的作用,但还有着各自的不同作用。Python就包含6种内建的序列——列表元组字符串Unicode字符串xrange对象buffer对象对于python列表的理解可以和C语言里面的数组进行比较性的记忆与对照,它们有很多相似的地方,但列表的功能强大许多。列表的创建很简单就是把逗号分隔的不同的数据项使用方括号括起来。01语法注意列表的数据项可以包含了很多不同类型的数据:整型数字,浮点型,字符串以及对象等(c语言中的一个数组只能一个数据类型)。list1=['python','C语言',2021,2020]list2=[1,2,3,4,5]访问列表中的数据。02案例list=[1,2,3,4,5,6,7]print(list[3])##打印第四个元素print(list[-3])##打印倒数第三个元素注意最后一个元素的索引为-1,往前一位为-2,以此类推。运行结果使用索引获取数据案例temp=list[A:B]表示将list列表里从索引号位置为A开始的元素到B-1处元素之间的列表获取赋给temp。list=[1,2,3,4,5,6,7]print(list[1:])##打印第一个元素之后的内容print(list[:-2])##打印最后二个元素之前的内容print(list[1:-2]) ##从第二位开始(包含)截取到倒数第二位(不包含)print(list[::-1])##倒序输出运行结果使用“:”实现数据截取案例list=[1,2,3,4]print(list*3)#输出三遍运行结果使用*号实现列表的重复案例list1=['http','samba']list2=['linux','ftp']print(list1+list2)运行结果使用“+”实现列表的连接案例list=['linux','ftp','nfs']print('nfs'inlist)##判断是否存在运行结果使用in实现成员操作赋案例list=['linux','ftp','nfs','http','ssh']foriinlist:print(i)##遍历输出每个元素运行结果list列表遍历迭代案例service2=[['linux','ftp','nfs'],[1,2,3],['mike','tony','sun']]print(service2[2][1])##第三个元素中的第二个元素print(service2[:][1])##第二个元素运行结果列表的嵌套思考练习代码补全:输入一年中的某一天,判断这一天是这一年的第几天:【输入格式:YYYY-MM-DD】User_input=input('输入:年-月-日')Year=int(User_input.split('-')[0])##得到年份Month=int(User_input.split('-')[1])##得到月份Day=int(User_input.split('-')[2])##得到天li=[31,28,31,30,31,30,31,31,30,31,30,31]##所有平年各月份的天数…………更新列表中的数据。03append()对于列表的操作主要实现的是在特定的列表最后添加一个元素,并且只能一次添加一个元素,并且只能在列表最后。(1)append()list.append(元素A)extend()对于列表的操作主要实现的是对于特定列表的扩展和增长,可以一次添加多个元素,不过也只能添加在列表的最后。(2)extend()list.extend([元素A,元素B,……])Insert()对于列表的操作主要是在列表的特定位置添加想要添加的特定元素,比较常用,这里的特定位置是指元素所在列表中的位置索引号,需要注意的是这里的索引号都是从0开始的,不是从1开始的,这个大家需要特别注意。(3)insert()list.insert(A,元素B)##表示在列表m里面的第A+1处加入元素B案例list=['http','ssh','ftp']print(list+['firewalld'])list.append('firewalld')print(list)list.extend(['mysql','firewalld'])print(list)list.insert(1,'samba')print(list)运行结果删除列表里数据。04移除掉列表m里面的特定元素。(1)list.remove()list.remove(元素A)它的作用是删除掉列表里面的索引号位置为n的元素,这里需要注意的是del是一种操作语句。(2)dellist[n]dellist[n]它的作用是将列表m的最后一个元素返回,并且在此基础上进行删除掉(3)list.pop()list=list.pop()##这里temp就会直接等于吗列表里最后一个元素。案例list=['http','ssh','ftp','mysql','firewalld','samba']print(list.pop())list.remove('ssh')print(list)dellist[3]print(list)dellist运行结果对列表里的数据重新赋值05list=['http','ssh','ftp','mysql','firewalld','samba']list[0]='mysql'##通过索引重新赋值list[:2]=['samba','iscsi']##通过切片给前两个元素重新赋值print(list)运行结果排序06list=['alice','Bob','coco','Harry']list.sort()print("排序结果",list)list.sort(key=str.lower)###对字符串排序不区分大小写,相当于将所有元素转换为小写,再排序print("小写字母排序结果",list)list.sort(key=str.upper)###相当于将所有元素转换为大写,再排序print("大写字母排序结果",list)list.sort()根据ASCII码值对list列表里里的数据进行排序,同时不区分大小写。案例运行结果其他常见列表操作函数07list.count(A):输出元素A在列表m里面出现的次数list.index(A):输出元素A在列表m里面的索引位置号list.reverse():将列表m进行前后的翻转,前变后,后变前思考练习
使用list列表实现以下八大行星列表的变化:1.创建列表存储行星:"金星","地球","火星","木星","土星","天王星"2.在第一个位置插入"水星"3.在末尾追加"海王星"4.打印从太阳到地球之间的行星(前两个行星)5.打印地球以后的行星(一行一个)6.倒序打印所有行星思考练习利用列表方法,设计一个程序,用来实现帮助小学生进行百以内的算术练习,提供10道加、减、乘或除四种基本算术运算的题目存储在列表中;练习者根据显示的题目输入自己的答案,程序自动判断输入的答案是否正确并显示出相应的信息。02.燃气灶的安全保护以上是普通燃气灶在使用过程中利用K型热电偶增加的安全保护,下面我们会在此基础上增加没有正常点着火以及模拟利用压力传感器判断炒菜是否结束进而自动关闭燃气阀门这两个环节,进一步提高燃气灶的使用安全性。4任务概述储备知识任务实施任务目标231TASKTWO任务二实现燃气灶检测器03.代码实现燃气灶程序任务实施03.代码实现燃气灶程序任务所需软件如下所示:VNC-Viewer环境准备任务所需硬件如下所示:树莓派4BMAX6675热电偶模块3.1.根据引脚说明和连线图连接设备步骤1:各设备对应接口如以下表说明K型热电偶MAX6675红+蓝-树莓派T型转接板MAX66755V*VCCGNDGNDGND-6SCK-5SO-13CS(2)如图所示,使用杜邦线将树莓派连接面包板后的GPIO与MAX6675模块连接起来,由板载的5V为模块供电。 3.2.实现智能燃气灶检测步骤1:编写代码实现智能燃气灶检测开启树莓派电源->打开“VNC-Viewer”软件连接树莓派->输入IP地址->用户名密码。连接成功后,在点击左上方【树莓派】图标->选择【编程】->点击打开【mu】软件。打开“mu”软件,单击“mu”软件界面上的“新建”按钮,新建一个名为“SmartCorridorLights.py”的Python文件,保存在“/home/pi/mu_code”目录下。步骤2:编写和验证代码(1)打火时先判断传感器是否正常在线,在正常的基础上判断点火成功与否;点着火之后判断是否出现偶然自熄火情况,自动关闭电磁阀门;最后判断炒菜结束是否忘记关闭阀门,如出现自动关闭电磁阀门。importRPi.GPIOas
GPIOimport
timeimport
randomGPIO.setmode(GPIO.BCM)GPIO.setup(13,GPIO.OUT)GPIO.setup(6,GPIO.OUT)GPIO.setup(5,GPIO.IN)def
MAX6675_Read():
GPIO.output(13,0)
GPIO.output(6,0)
value=0
for
x
in
range(16):
GPIO.output(6,1)
value<<=1
value|=GPIO.input(5)
GPIO.output(6,0)
GPIO.output(13,1)
return
valuedef
get_realtemp(float
temp):
temp=temp<<1
temp=temp>>4
real_temp=temp/4
return
tempdef
main():list_check=[]
while(1):iflen(list_check)>15:print("该燃气灶的出错次数过多,为了安全起见,请及时为其进行安全检查")
list_check.clear()
str=input("请打火:")
temp=MAX6675_Read()
con_flag=temp&0x04
con_flag=con_flag>>2
if
con_flag==0:
time.sleep(1)
real_temp=get_realtemp(temp)
print("当前的温度是:"+real_temp+"℃")
if
real_temp<200:
print("没有正常打着火,自动关闭煤气管道,请再次打火。")
list_check.append("error")
else:
print("正常打着火了!")
while(1):
temp_now=MAX6675_Read()
real_temp_now=get_realtemp(temp_now)
if
real_temp_now<200:
print("突然熄火,自动关闭电磁阀门")list_check.append("error")
randint_data=random.randint(1,10)
#模拟压力传感器,判断是否炒完菜
if
randint_data<5:
print("现在炒完菜了")
time.sleep(5)
temp_done=MAX6675_Read()
real_temp_done=get_realtemp(temp_done)
if
real_temp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年铁道概论网上测试题及答案
- 2026年解剖学专项考试试题及答案
- ISO 22000考试题目与答案解析
- 2026年上海知新杯模拟试题及答案详解
- 大一计算机考题题库及答案详解
- 2026年社会医学模拟试题及答案详解
- 2026年中国消防灭火防护服行业市场规模及投资前景预测分析报告
- 2026年超净高纯试剂项目调研分析报告
- 导游知识问答题库及答案详解
- 安全考试教育题库及答案详解
- 2026年安庆岳西县公开选聘县属国有企业领导人员笔试备考试题及答案详解
- 2026 年中秋假期:家国同庆团圆主题德育学习课件
- 2.2 了解尺规作图2026-2027学年北师大版五年级数学上册
- 粤教版小学科学三年级上册教学计划
- 污水处理站员工培训实施方案
- 智慧公路交通讲座-日本的智能交通与智慧公路
- 2024年05月广东广州美术学院招考聘用协议年薪制工作人员4人笔试笔试历年典型考题及考点研判与答案解析
- 陕22N1 供暖工程标准图集
- 湖南高速铁路职业技术学院单招职业技能测试参考试题库(含答案)
- 小学-舞蹈校本课程教材
- 季度GDP统一核算方法解读
评论
0/150
提交评论