版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《传感器应用》主讲教师:XXX
项目一智能小夜灯PART01※光敏电阻传感器选型与检测※使用树莓派前工作01※点亮智能小夜灯认识光敏传感器的种类和特性01掌握Python开发环境的搭建03认识常见的树莓派开发板电路02掌握Python调用GPIO库方法04学习目标objectiveTASKTHREE任务三点亮智能小夜灯4任务要求储备知识任务实施任务目标231在了解python语言基础后,使用树莓派中的GPIO库的功能开发三色灯程序。任务要求TASKTHREE任务三点亮智能小夜灯4任务要求储备知识任务实施任务目标23101.了解Python语言02.了解Python语言的特点03.掌握使用树莓派GPIO库任务目标04.掌握使用python语言开发传感器应用TASKTHREE任务三点亮智能小夜灯4任务要求储备知识任务实施任务目标23101.认识Python语言02.认识树莓派GPIO03.认识输入输出储备知识01.认识Python语言由荷兰人吉多.范罗苏姆(GuidovanRossum)在1989年开始开发的一种高级语音,Python一词,英文意思为“蟒蛇”,之所以会选择Python作为该编程语言的名字,是因为吉多非常喜欢一个叫MontyPython的戏剧团。Python的图标也是根据该意思进行设计的。Python起源于ABC语言,受到了Modula-3语言的影响,同时结合了Unixshell和C语言的特点。Python语言Python是一种面向对象的、解释型的、通用的、开源的脚本编程语言,目前非常流行,在Gmail、YouTube、Reddit、Spotify、知乎、豆瓣等平台均有应用。图:各大流行程序排名图:应用Python的各大流行平台Python语言只有少量的语法约束,与传统的C/C++、Java、C#等语言相比,Python对代码格式的要求没有那么严格,排版优雅,Python语言是高级语言,编写程序时更接近人类自然语言的形式,只要掌握由英语单词表示的助记符,就能大致读懂代码的意思,这种宽松使得用户在编写代码时比较轻松,不用在细枝末节上花费太多精力。如下程序所示:Python语言的优点简洁优雅a=1b=3.14print(a)print(b)print("大家好,欢迎学习Python")Python程序中不要求在每个语句的最后写分号,当然写上也没错。定义变量时不需要指明类型,甚至可以给同一个变量赋值不同类型的数据。同时,Python语言通过强制缩进保证程序的可读性。与其它编程语言相比,Python是一门简单易学的编程语言,能够让程序员更专注于解决问题而非语言本身的语法和结构。Python开发的程序,所有用户都可以看到源代码。同时,任何人可以从网络上免费获取Python语言的系统源代码,用户使用Python进行开发或者发布自己的程序,不需要支付任何费用,即使作为商业用途,也没有版权问题,是免费的。Python是开源且免费的Python是解释型语言,能够在任何安装有Python解释器的平台上运行。Python可以跨平台运行Python拥有丰富的内置库和函数库,基本实现了所有的常见的功能。Python功能强大简单的字符串处理文件输入输出科学与数学计算Web应用开发3D图形绘制网络编程游戏开发以上功能均可借助Python库都可以轻松完成。同时,Python社区发展良好,除了Python官方提供的函数库,很多第三方机构也会参与进来开发模块,这其中就有Google、Facebook、Microsoft等软件巨头。Python语言的缺点运行速度慢代码加密困难相对于C/C++和Java,Python的运行速度几乎是最慢的。由于Python是直接运行源代码,因此,加密困难。总之,Python对于程序设计的初学者来说,简单易学,是初学者很不错的首选,对于程序开发者来说,由于它功能强大,可以很广阔的应用领域。02.认识树莓派GPIO意为通用输入/输出端口。通俗地说,就是一些引脚,可以通过它们输出高低电平或者通过它们读入引脚的状态-是高电平或是低电平。GPIO是个比较重要的概念,用户可以通过GPIO口和硬件进行数据交互(如UART),控制硬件工作(如LED、蜂鸣器等),读取硬件的工作状态信号(如中断信号)等。GPIO口的使用非常广泛。掌握了GPIO,差不多相当于掌握了操作硬件的能力,树莓派的GPIO位于树莓派的右方如图所示。GPIO(GeneralPurposeI/OPorts)图:GPIO位置图由图观之,每一个针脚都有Pin#和NAME字段。NAME代表的是该针脚的BCM名称,当然NAME也可以直接看得出针脚的默认功能。比如3.3v和5v代表着该针脚会输出3.3v和5v的电压,Ground代表着该针脚是接地的,GPIO0*则是一些待用户开发的针脚。pin代表的是该针脚的编号,其中01和02针脚对应第一张图中GPIO最右边竖排的两个针脚。每个针脚都可以使用程序进行控制操作。树莓派工作在BCM则以实际IO口编号为主如GPIO10则为10,(使用转接板时使用为BCM模式,未使用转接板则两种模式都可以使用)使用转接板连接GPIO如图所示。01BCM模式02BOARD模式树莓派工作在BOARD模式时IO的序号以pin#为依据。树莓派中GPIO有两种模式,每种模式只是一种编号规则。图:转接板连接1图:转接板连接203.认识输入输出In输入与Out输出I/O,为In、Out的英文简称,其字面意思为输入与输出,再到计算机术语就是信号输入与信号输出,再到电子技术的术语就是电压或电流的输入与输出。可以将它理解成一根包含开关的电缆线。当开关打开的时候表示通上了电,开关关闭时电则没有输出,Out输出就是信号方向对外的输出,如图所示。Out输出图:输出表示本身为接收方接收信号,信号从另外的一端发送给接收方,接收方无法控制何时接收到信号,由信号输出方决定。如图所示。In输入图:输入表示知识补充电平在数字电路中,分为高电平和低电平,分别用1和0表示。一个数字电路的管脚,总是存在一个电平的,要么高要么低,或者说要么1要么0。TASKTHREE任务三点亮智能小夜灯4任务要求储备知识任务实施任务目标23104.第一个Python代码任务实施05.使用GPIO连接树莓派06.实现智能小夜灯04.第一个Python代码任务所需软件如下所示:环境准备任务所需硬件如下所示:TF卡读卡器TF卡树莓派4B电源线VNC-Viewer4.1.打印“helloworld”步骤1:使用ThonnyIDE开发python(1)开启树莓派电源->打开“VNC-Viewer”软件连接树莓派->输入IP地址->用户名密码。(2)连接成功后,在点击左上方【树莓派】图标->选择【Programing】->点击打开【ThonnyPythonIDE】软件,如图所示。图:打开PythonIDE(3)打开“ThonnyPython”软件,软件界面后如图所示。图:ThonnyPythonIDE软件界面步骤2:在软件中输入一行代码(1)在软件的文本编辑框中输入一行代码代码如下所示,输入位置如图所示。图:输入代码print("helloworld")(2)点击【Save】按钮保存代码文件->在弹出的窗体中选择保存位置,为了方便保存至【Desktop】桌面中->文件名称【demo.py】(python的程序文件默认的后缀名为py),如图所示。图:保存程序代码详解print为python语言中的打印方法,通过调用print方法可以Shell窗体中查看计算机输出的内容。步骤3:执行代码(1)输入代码并保存成功后,点击【Run】按钮,在软件下方的Shell窗体中,即可看见代码执行的结果“helloworld”如图所示。图:执行代码在IDE软件中新建一个test的文件,执行程序打印“mynameisGary”。【注意:python文件的后缀名称】技能拓展01在IDE软件中新建一个print文件,执行程序打印两行数据“line1”、“line2”。【注意:python文件的后缀名称】0205.使用GPIO连接树莓派任务所需软件如下所示:环境准备任务所需硬件如下所示:VNC-ViewerTF卡读卡器TF卡树莓派4B电源线三色灯模块5.1.GPIO应用点亮LED灯步骤1:根据连线图连接线路(无转接板连接方式)(1)设备对应接口如以下表说明树莓派三色灯模块GND-06GNDGPIO14-08RGPIO15-10G(2)如图所示,连接三色灯模块,需要注意的是GND的位置为左方“-”标志位置。图:连接图(3)根据图所示,将三色灯模块的红色控制引脚连接至右排插针的08口,绿色控制引脚连接至右排插针的10口,GND连接右排插针GND-06口,记住所对应的IO口为08、10口后续代码将使用它。图:连接三色灯步骤2:打开Thonny新建一个文件(1)开启树莓派电源->打开“VNC-Viewer”软件连接树莓派->输入IP地址->用户名密码。(2)打开“ThonnyPythonIDE”软件新建一个名称为“led.py”的文件,如图所示。图:新建led.py文件(3)输入代码并执行,代码与执行效果如下所示,执行代码后绿色灯亮起,红色灯熄灭。图:执行代码效果importRPi.GPIOasGPIOGPIO.setmode(GPIO.BOARD)#设置树莓派IO口工作模式为BOARD模式GPIO.setup(8,GPIO.OUT)#设置8口输出模式GPIO.output(8,1)#设置8口输出高电平print为python语言中的打印方法,通过调用print方法可以Shell窗体中查看计算机输出的内容。代码详解上述代码为引用树莓派GPIO资源库,如不输入该代码则无法使用输入输出功能,将引用库的名称设置为“GPIO”,这个名称是可以根据自己的情况发生改变的,如改为也是可以使用的,但后续的代码也需要变为“IO”这个变量。importRPi.GPIOasGPIOimportRPi.GPIOasIO在使用GPIO前需要对IO的模式进行设定,需要设置模式否则无法使用GPIO的功能,输入代码设置模式为BOARD模式。GPIO.setmode(GPIO.BOARD)树莓派的IO口共有两种模式:BOARD模式BCM模式两者的引脚各不相同,根据实际情况切换模式,本次任务先使用BOARD模式。设置完模式后,需要对具体的IO口状态进行设置,IO口有两种状态1、输入2、输出,根据LED灯模块应为输出状态,将3口设置为输出,参数1为第几IO口,参数2为输入、输出。如果设置IO口为输入代码就需要修改代码为。GPIO.setup(3,GPIO.OUT)GPIO.setup(3,GPIO.IN)设置IO口输入输出后,就可以实际的IO口输出控制,输出高电平或者输出低电平,方法output中参数1为控制的IO口,参数2为电平0为低电平1为高电平。GPIO.output(3,1)01使用IO变量名作为引用模块的GPIO使用,那么要点亮绿色灯代码需要如何修改。03将三色灯模块红色灯接入改为GPIO10,修改代码实现绿色灯点亮。02如要点亮红色灯而熄灭绿色灯,需要如何修改代码。技能拓展实现智能小夜灯任务所需软件如下所示:环境准备任务所需硬件如下所示:VNC-ViewerTF卡读卡器TF卡树莓派4B电源线三色灯模块光敏电阻模块6.1.使用光敏电阻传感器步骤1:根据连线图连接线路(1)设备对应接口如以下表说明树莓派三色灯模块5v-04VCCGNDGNDGPIO18-12DO(2)如图所示,连接光敏电阻模块,光敏电阻模块GND连接右排插针14脚,VCC连接04脚,DO为数字信号输出口连接12口。图:光敏电阻连接图图:实物连接图步骤2:打开Thonny新建一个文件(1)开启树莓派电源->打开“VNC-Viewer”软件连接树莓派->输入IP地址->用户名密码。(2)打开“ThonnyPythonIDE”软件新建一个名称为“light.py”的文件。(3)输入代码并执行,代码与执行效果如下所示,当遮住光敏电阻时打印low,放开手时打印hight。importRPi.GPIOasGPIOimporttimeGPIO.setmode(GPIO.BOARD)GPIO.setwarnings(False)GPIO.setup(12,GPIO.IN)while
True:
ifGPIO.input(12)==GPIO.LOW:
print("low")
else:
print("hight")time.sleep(1)代码详解上述代码根据接线图12为光敏电阻模块的DO输入口,并且为输入状态。GPIO.setup(12,GPIO.IN)
为无限循环,不断判断IO口的状态,判断当IO口为LOW低电平时,打印low反正则打印hight。whileTure6.2.实现智能小夜灯步骤1:根据连线图连接线路(1)设备对应接口如以下表说明(2)如图所示,将LED模块跟光敏电阻模块分别连接至GPIO中。树莓派光敏电阻模块树莓派三色灯模块5v-04VCCGNDGNDGNDGNDGPIO14-08RGPIO18-12DOGPIO15-10G图:连接LED模块与光敏电阻模块步骤2:编写代码实现智能小夜灯(1)开启树莓派电源->打开“VNC-Viewer”软件连接树莓派->输入IP地址->用户名密码。(2)打开“ThonnyPythonIDE”软件新建一个名称为“light1.py”的文件。(3)输入代码并执行,代码与执行效果如下所示,当光敏电阻模块光线被遮住时LED灯亮起,不遮住时LED灯则熄灭。importRPi.GPIOasGPIOimporttimeGPIO.setmode(GPIO.BOARD)GPIO.setwarnings(False)GPIO.setup(12,GPIO.IN)GPIO.setup(8,GPIO.OUT)GPIO.setup(10,GPIO.OUT)while
True:
ifGPIO.input(12)==GPIO.LOW:GPIO.output(8,0)GPIO.output(10,0)
else:GPIO.output(8,1)GPIO.output(10,1)time.sleep(1)结合点亮LED灯与光敏电阻模块代码,初始化LED模块与光敏电阻模块的IO口,之后在循环代码中编写判断光敏电阻是否被遮住的代码。代码详解技能拓展(1)编写代码实现若遮住光敏电阻模块时led灯熄灭,放开时LED点亮。(2)编写代码实现若遮住光敏电阻模块时LED灯开始闪烁1HZ频率,放开时熄灭。6.3.另一种方式实现智能小夜灯步骤1:使用转接头连接线路(1)各设备对应接口如以下表说明树莓派T型转接板三色灯模块GNDGNDGND
G23RGPIO13-07G24G树莓派T型转接板光敏传感器--AOGNDGNDGND(G)5V5VVCC(+)GPIO7G26DO(2)如图所示,将LED模块跟光敏电阻模
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全国交通安全日中小学交通安全教育课件(图文并茂)
- 浙江省嘉兴市二十一中纪外国语学校2025-2026学年八年级(上)月考数学试卷(1月份)(含简略答案)
- 江苏省泰州市兴化市2027届九年级上学期期初数学试卷(含答案)
- 2026年高绩效沟通测试题及答案
- 中外教育史试题及答案
- 2026年art逻辑测试题及答案
- 2026年开心生活测试题及答案
- 2026年感应起电测试题及答案
- 2026年品类管理测试题及答案
- 2026年昆明积大测试题及答案
- 2026年全国高中数学联合竞赛一试(A卷)试卷及参考答案
- 山东省济南市2026-2027学年高中三年级摸底考试暨开学考化学+答案
- 2026年浙江经贸职业技术学院高职单招笔试英语试题库含答案解析3套试卷
- JL树木伐移项目监理规划
- 节能技术在化工中创新课题申报书
- 初中数学九年级上册《利用相似三角形原理测量高度》跨学科项目式教学设计
- 《中华人民共和国生态环境法典》应知应会测试题100道
- 2025年山东公务员考试申论试题及答案(B卷)
- 船台施工方案
- 2026年非小细胞肺癌诊疗指南
- 千牛平台服务条款协议合同
评论
0/150
提交评论