1. 首页
  2. 动态
  3. 基于树莓派的智能灯光控制系统设计

基于树莓派的智能灯光控制系统设计

时间:2017-06-21 16:14:02 分类:毕业论文

目  录

 

摘  要. 1

1 绪论. 2

1.1  选题的意义. 2

1.2  本设计的主要工作. 2

2 智能灯光控制系统的方案设计. 3

2.1 电源模块的选择. 4

2.2 主控制器的选择. 4

2.3人体感应模块的选择. 6

2.4光敏感应模块选择. 7

2.5控制模块的选择. 8

2.6小结. 10

3智能灯光控制系统电路的硬件设计. 10

3.1 电源电路设计. 10

3.2人体感应模块电路设计. 11

3.3光敏感应模块电路设计. 12

3.4继电器模块电路设计. 15

3.5主控制器GPIO引脚. 16

3.6小结. 17

4智能灯光控制系统的软件设计. 17

4.1  主程序设计. 17

4.2 人体感应模块软件设计. 18

4.3 光敏感应模块软件设计. 19

4.4 小结. 20

5智能灯光控制系统的测试. 20

5.1 光敏模块通过继电器控制灯. 21

5.2人体感应模块通过继电器控制灯. 22

5.3 光敏模块、人体红外感应模块通过继电器控制灯. 23

5.4 小结. 25

总  结. 26

谢  辞. 27

参考文献. 28

附 录1 29

附 录2 31

 

摘  要

 

树莓派(Raspberry Pi)是一款基于ARM的微型电脑主板,以SD卡为内存硬盘,在卡片主板周围有两个USB接口和一个网口,可连接键盘、鼠标和网线,同时拥有视频模拟信号的电视输出接口和HDMI高清视频输出接口,以上部件全部整合在一张仅比信用卡稍大的主板上,具备所有PC的基本功能。 
    本设计给出了一种智能灯光控制系统的设计方法。本设计以树莓派为主控制器,外围硬件模块还包括光敏传感器模块、人体红外感应模块和灯光控制模块。通过光敏传感器感应外界光线情况,通过人体红外传感器感应是否有人,树莓派接收处理传感器的信号,然后通过继电器模块对灯光进行控制。经过实践,本设计能够对灯光有效的进行智能控制,为今后智能家居中的相关设计做了较好的准备。

关键词:树莓派,智能灯光,ARM


 

基于树莓派的智能灯光控制系统设计

 

1 绪论

1.1 选题的意义

传统楼宇公共区域的照明模式,只能是白天关灯、晚上开灯,而采用智能灯光照明控制系统后,用户可以根据不同场合、不同的人流量,对时间段和工作模式进行划分,把不必要的照明灯具关掉,在需要时自动开启;同时,系统还能充分利用自然光,在保证必 要照明的同时,有效减少了灯具的工作时间,节省了不必要的能源开支,也延长了灯具 的寿命。 虽然智能灯光控制系统最基本的功能是开关作用,与传统的灯光照明系统似乎并无差异 ,但前者以自动控制为主、人工控制为辅,在一般的情况下,不需要用户的参与,灯光照明系统自动实现开关功能大大减少了人们的管理工作。

智能灯光控制系统减少灯具使用时间,能有效节约能源,由于我国以前的粗放型经 济增长方式已经导致资源匮乏,这种一味地靠资源和牺牲环境来换取GDP的增长的外 延扩展方式已经走到尽头,所以调整产业结构。在照明行业推广智能照明系统具有重要的意义 。

智能灯光控制系统其独特的特性,迎合了人们绿色、环保、节能,智能化生活的观念。设计出一种智能型智能灯光控制系统是相当重要的,它不仅要求能够节能而且对人们的出行和生活没有太大的影响。它实现了路灯的定时开关,并且还根据天气情况、光照强度来决定路灯的开启。近年来,树莓派以其高可靠性,高性价比的优势,在工业控制系统、数据采集系统、智能化仪器仪表、办公自动化等诸多领域得到极为广泛的应用。此控制系统使用了树莓派作为控制器,所以智能型开关可以大大节省了电力电能,具有可靠、使用寿命长、稳定性高、价格便宜的特点,能满足灯的智能控制的需要,且具有广泛的应用前景。

1.2 本设计的主要工作

智能灯光控制系统设计主要包括硬件和软件两大部分,依据控制系统的工作原理和技术性能,将硬件和软件分开设计。硬件设计部分包括电路原理图、合理选择元器件、绘制线路图,然后对硬件进行调试、测试,以达到设计要求。软件设计部分,首先在总体设计中完成系统总框图和各模块的功能设计,拟定详细的工作计划;然后进行具体设计,包括各模块的流程图,选择合适的编程语言和工具,进行代码设计等;最后是对软件进行调试、测试,达到所需功能要求。

(1)本设计的功能要求

此设计主要目的是设计一种智能灯光控制系统,采用主控单元实现以下的功能:

a.通过继电器控制灯光的自动调节;

b.采用光敏电阻进行室内光线检测;

c.采用人体红外传感器进行是否有人的检测;

d.软件编程,主程序流程及控制程序。

(2)设计方法

采用了“光敏控制”和“红外控制”相结合的方法来控制灯的亮灭。由光敏传感器模块构成的光电检测电路对环境光照强度度的采集、转换为高低电平将信号送给树莓派,由人体感应传感器模块构成的红外检测电路对环境热度强度度的采集、转换为高低电平将信号送给树莓派,此设计中光敏模块优先级高于红外模块。

a.当光线暗时:

当有人时,光敏模块输出高电平,人体感应模块输出高电平,从而控制继电器闭合灯亮。

当无人时,光敏模块输出低电平,人体感应模块输出低电平,从而控制继电器断开灯不亮

b.当光线强时:

当有人时,光敏模块输出低电平,人体感应模块输出低电平,从而控制继电器闭合灯不亮。

当无人时,光敏模块输出低电平,人体感应模块输出低电平,从而控制继电器断开灯不亮。

 

2 智能灯光控制系统的方案设计

本设计的主要采用树莓派为主控单元并且实现智能灯光控制系统具体方法如下:

智能灯光控制系统电路的主要就是人体感应模块,光信号感应模块,继电器根据环境的变化基极电压也发生变化,最终实现恒流源电流的改变,从而自动调节LED灯的亮灭[1]。

总体来说,此设计的电路主要分为光信号感应处理、电源模块、树莓派、人体感应模块、控制程序,此方案简单实用,成本低,节能环保。如图2.1所示:

 

图2.1 灯光控制系统电路设计结构图

 

2.1 电源模块的选择 

设计智能灯光控制系统电源一定是不可缺少的,需要什么样的电源是很重要的,还要考虑环保,性能,材料等一些重要的因素。常用电源模块如下:

方案一:使用干电池供电:使用干电池,通过串联分压出5V-12V的电压。

方案二:使用电源变压器供电:电源变压器的使用具有很强的环保性能,而且放电比较稳定,不会因为电量减弱就会影响设备的电压。

方案选择:比较两种方案可以看出,采用与干电池相比,锂电池不但环保之外,而且能够保证其使用的稳定性,因而本设计采取方案二[2]。

2.2 主控制器的选择

主控制器是整体电路的核心,选择合理的控制模块很重要,所以要考虑清楚。常用主控制如下:

方案一:树莓派(Raspberry Pi 3)。

树莓派是一款针对电脑业余爱好者、教师、小学生以及小型企业等用户的迷你电脑,预装Linux系统,体积仅信用卡大小,搭载ARM架构处理器,运算性能和智能手机相仿[3]。

 

 

 

图2.2 树莓派实物图

 

方案二:Atmel公司的89C51单片机。

AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

 

图2.3 单片机实物图

 

方案选择:树莓派(Raspberry Pi 3)实际上相当于高级单片机,本质一样,但树莓派与单片机相比之下功能更为强大,ROM和RAM存储空间更大。基于本系统设计内容的需要,综合考虑后,选择树莓派(Raspberry Pi 3)为核心控制器[4] [5]。

 

2.3人体感应模块的选择

人体感应模块必不可少的就是传感器,传感器要对人体的感应一定要精确,抗干扰能力也要好。常用人体感应方法如下:

方案一:触摸电极

触摸电极实物如图2.5所示。金属片连接三极管基极,当人接触金属片时,人体的杂波产生泄放电流使得三极管导通,利用这一点把信号送给单片机触发报警。优缺点:电路简单,抗干扰性强,灵敏度可以控制。

 

图2.4 触摸电极实物图

 

方案二:热释电红外传感器

热释电红外传感器实物如图2.5所示。人体都有恒定的体温,一般在37度,所以会发出特定波长10UM左右的红外线,被动式红外探头就是靠探测人体发射的10UM左右的红外线而进行工作的。人体发射的10UM左右的红外线通过菲泥尔滤光片增强后聚集到红外感应源上。红外感应源通常采用热释电元件,这种元件在接收到人体红外辐射温度发生变化时就会失去电荷平衡,向外释放电荷,后续电路经检测处理后就能产生报警信号。优点是本身不发任何类型的辐射,器件功耗很小,隐蔽性好。价格低廉。缺点是容易受各种热源、光源干扰、被动红外穿透力差,人体的红外辐射容易被遮挡,不易被探头接收、易受射频辐射的干扰、环境温度和人体温度接近时,探测和灵敏度明显下降,有时造成短时失灵[6]。

 

 

 

 

图2.5 热释红外传感器实物图

 

方案选择:综合情况来看,本设计中对人体的感应并不需要人体触摸到传感器,所以选择方案二更加适合[7]。

2.4光敏感应模块选择

方案一:硫化镉光敏电阻(LXD5637D)

硫化镉光敏电阻(LXD5637D)实物如图2.6所示.光敏电阻模块对环境光线最敏感,一般用来检测周围环境的光线的亮度,触发单片机或继电器模块等;模块在环境光线亮度达不到设定阈值时,DO端输出高电平,当外界环境光线亮度超过设定阈值时,DO端输出低电平;DO输出端可以与单片机直接相连,通过单片机来检测高低电平,由此来检测环境的光线亮度改变;DO输出端可以直接驱动本店继电器模块,由此可以组成一个光控开关。

 

图2.6 硫化镉光敏电阻(LXD5637D)实物图

方案二:槽型光电传感器  

槽型光电传感器实物如图2.7所示。把一个光发射器和一个接收器面对面地装在一个槽的两侧的是槽形光电.发光器能发出红外光或可见光,在无阻情况下光接收器能收到光.但当被检测物体从槽中通过时,光被遮挡,光电开关便动作.输出一个开关控制信号,切断或接通负载电流,从而完成一次控制动作.槽形开关的检测距离因为受整体结构的限制一般只有几厘米.

 

图2.7 槽型光电传感器实物图

 

方案选择:综合情况来看,本设计中对光敏传感器并不需要人为遮挡传感器,所以选择方案一更加适合[8] [9]。

2.5控制模块的选择

方案一:4路继电器模块

信号触发端,低电平有效继电器输出端,12线接口,所有接口均可直接连线引出,私用方便。具有继电器动作指示,吸合亮,断开不亮;信号输入端有低电平信号时,公共端与常开端会导通;继电器可以直接控制各种设备和负载;有4个常开和4个常闭触点。

4路继电器实物如图2.8所示,该模块端口功能如下:

(1)NO1--NO4:继电器常开接口,继电器吸合前悬空,吸合后与COM短接;

(2)COM1--COM4继电器公用接口;

(3)NC1--NC4:继电器常闭接口,继电器吸合前与COM短接,吸合后悬空。

 

 

 

 

图2.8 4路继电器模块实物图

 

方案二:1路继电器模块

1路继电器模块实物如图2.9所示,该模块的特点及功能如下:

(1)本模块符合安全标准,控制区域与负载区域有隔离槽;

(2)采用双面FR-4线路板设计,高端贴片工艺生产;

(3)具有电源和继电器动作指示,吸合亮,断开不亮;

(4)信号输入端有低电平信号时,公共端和常开端会导通;

(5)继电器可以直接控制各种设备和负载;

(6)有1个常开和1个常闭触点;

(7)蓝色KF301端子接线控制线更方便;

 

图2.9  1路继电器模块实物图

 

方案选择:综合情况来看,本设计中控制模块并不需要多通道,只需要1路继电器即可实现,所以选择方案二更加适合[10]。

 

2.6小结

本章介绍了智能灯光控制系统总体方案模块的选择,对继电器模块、红外人体感应模块、光敏模块、电源模块、主控模块根据本设计要求,合理的确定了方案。对方案进行优缺分析,为进一步对智能灯光控制系统硬件电路设计打下基础。

 

3智能灯光控制系统电路的硬件设计

3.1    电源电路设计

(1)电源电路原理图

本设计的电源电路主要采用集成(桥式滤波整流)电路模块和7805来提供5V电压,再配以少量电容组成。电路原理图如图3.1所示。

 

微信图片_20170531091656.png

图3.1电源电路原理图

 

220V交流电经过变压器降压在经过桥式整流电路和电容滤波之后输出5V电压。送入三端稳压器7805,再由7805和两个旁路电容组成部分输出5V的电压源。

(2)7805稳压器

LM78系列是三段正电源稳压电路,常用的封装有TO-220和TO-202,有固定的电压输出,运用广泛,稳压器的7805中的后两位表示固定电压值,5V和12V。,稳压器内部有很多的保护措施,防止稳压器算坏。

LM78系列稳压电路的极限输入电压是35V,稳压器想要正常工作,最低输入电压要比输出电压高1-4V,由于输出与输入之间电压差有功率功率损耗,所以输出电压一般为9-15V之间[11] [12]。

 

 

3.2人体感应模块电路设计

主要是由RE200B、BISS0001和一些电容电阻组成的。电路主要有四大部分由RE200B、信号放大电路、BISS0001、延时电路组成。具体如图所示:

 

微信图片_20170531091524.png

图3.2人体红外感应模块原理图

 

BISS0001结构

BISS0001是一款高性能传感信号处理集成电路。同时也是一种热释电智能开关,主要由RE200B和和一些电容电阻构成。它可以自动开启台灯装置,特别适用于自控制台灯装置。

BISS0001结构:

(1)CMOS数模混合专用集成电路;

(2)具有独立的高输入阻抗运算放大器;

(3)可与多种传感器匹配,进行信号与处理;

(4)双向鉴幅器,可有效抑制干扰;

(5)内设延迟时间定时器和封锁时间定时器;

(6)结构新颖,稳定可靠,调解范围宽;

(7)内置参考电压;

(8)工作电压范围2V-6V;

(9)采用16脚DIP和SOP封装;

(10)用于多种传感器和延时控制器。

特点:BISS0001是由运算放大器、电压比较器、状态控制器、延迟时间定时器以及封锁时间定时器等构成的数模混合专用集成电路。

BISS0001集成IC有两种工作方式,可重复触发和不可重复触发工作方式,分别有管脚1的输入电平决定。当管脚1处于低电平时,A=0,BISS0001集成IC处于不可重复触发状态。当管脚1处于高电平时,A=1,BISS0001集成IC处于可重复触发状态。

3.3光敏感应模块电路设计

(1)光敏感应模块电路原理

光敏电阻模块对环境光线最敏感,一般用来检测周围环境的光线的亮度,触发继电器模块,在环境光线亮度达不到设定阈值时,DO端输出高电平,当外界环境光线亮度超过设定阈值时,DO端输出低电平。其电路原理图如图3.2所示。

 

微信图片_20170524141352.png

图3.2光敏感应模块电路原理图

(2)光敏感应模块原件表

光敏感应模块所用到的元器件如表3.1所示。

 

表3.1 光敏感应模块原件表

元件编号

标称值

数量

R1

1K

1

R2

1K

1

R3

1K

1

R4

1M

1

R5

47K

1

R6

22K

1

RP1

47K

1

D1

IN5819

1

C1

104

1

RG1

光敏电阻

1

LED1

LED红

1

P1

3P插针

1

C2

100UF/10V

1

Q1

8050

1

U1

LM358

1

 

(3)光敏电阻

光敏电阻又称光导管,常用的制作材料为硫化镉,另外还有硒、硫化铝、硫化铅和硫化铋等材料。

本课题选用的是灵敏度较好的硫化镉光敏电阻(LXD5637D)。LXD5637D亮阻范围15-50K,暗阻上限5.0M。硫化镉光敏电阻封装如图3.3所示。

 

图3.3 光敏电阻实物图

 

光敏电阻的工作原理如下:

光敏电阻的工作原理是基于内光电效应。

在黑暗环境里,它的电阻值很高,当受到光照时,只要光子能量大于半导体材料的禁带宽度,则价带中的电子吸收一个光子的能量后可跃迁到导带,并在价带中产生一个带正电荷的空穴,这种由光照产生的电子—空穴对增加了半导体材料中载流子的数目,使其电阻率变小,从而造成光敏电阻阻值下降。光照愈强,阻值愈低。入射光消失后,由光子激发产生的电子—空穴对将复合,光敏电阻的阻值也就恢复原值。

在光敏电阻两端的金属电极加上电压,其中便有电流通过,受到波长的光线照射时,电流就会随光强的而变大,从而实现光电转换。

光敏电阻没有极性,纯粹是一个电阻器件,使用时既可加直流电压,也可以加交流电压。半导体的导电能力取决于半导体导带内载流子数目的多少。

硫化镉光敏电阻的特性:

(1)温度特性

硫化镉光敏电阻和其他半导体器件一样,受温度影响较大,当温度升高时,它的暗阻会下降。因此,有时为了提高灵敏度,或为了能接受远红外光而采取降温措施。其温度温度特性如图所示。

 

图3.4 光敏电阻温度特性图

 

(2)伏安特性

伏安特性在一定照度下, 流过光敏电阻的电流与光敏电阻两端的电压的关系称为光敏电阻的伏安特性。图为硫化镉光敏电阻的伏安特性曲线。由图可见,光敏硫化镉光敏电阻的伏安特性曲线电阻在一定的电压范围内, 其I-U曲线为直线,说明其阻值与入射光量有关, 而与电压、电流无关。

 

图3.5 光敏电阻伏安特性图

 

3.4继电器模块电路设计

(1)继电器模块原理图

工作原理:只要在线圈两端加上一定的电压,线圈中就会流过一定得电流,从而产生电磁效应。继电器线圈未通电时处于断开状态的静触点,称为“常开触点”;处于接通状态的静触点称为“常闭触点”。电路原理图如图3.6所示。

 

微信图片_20170531091157.png

图3.6 继电器模块原理图

 

电磁式继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)吸合。这样吸合、释放,从而达到了在电路中的导通、切断的目的。对于继电器的“常开、常闭”触点,可以这样来区分:继电器线圈未通电时处于断开状态的静触点,称为“常开触点”;处于接通状态的静触点称为“常闭触点”。继电器一般有两股电路,为低压控制电路和高压工作电路[13] [14]。

 

3.5主控制器GPIO引脚

树莓派GPIO引脚解析如图3.7所示。

 

图3.7 GPIO引脚图

 

本设计中使用到了树莓派GPIO引脚,GPIO17、GPIO18、GPIO22、GPIO123引脚分别为信号输入与信号输出,GND接电源负极,+5V接电源正极,如图3.8所示。

 

 

 

 

 

 

 

 

图3.8 GPIO引脚图

 

3.6小结

本章介绍智能灯光控制系统的硬件电路,根据本设计要求,此电路以树莓派控制器为核心,由电源电路,人体感应信号处理电路,光信号处理电路灯电路组成了整个系统电路。并对各个电路进行阐述其功能与作用,为进一步对自控制台灯的软件设计打下基础[15]。

 

4智能灯光控制系统的软件设计

本文设计软件程序包括主程序、光模块控制程序、红外模块控制程序。各模块程序的设计如下。

4.1 主程序设计

本设计开始时,一给树莓派供电,系统开始进行初始化,然后接收处理光敏传感器模块、人体红外感性模块传来的数据,检测是否有人或者有光,若有人有微弱的光线,判断在那个工作的模式下,开始工作。

 

 

微信图片_20170524150254.png

图4.1 主程序框架图

 

4.2 人体感应模块软件设计

编写一个从红外传感读数据的程序,检测有人与否,若有人,传感器GPIO17输出一个高电平,使得树莓派的GPIO18口输出为高电平,灯亮,否则给低电平,灯灭。如图4.2所示:

 

图4.2 人体感应模块程序框架图

 

程序设计:

#python led.py

importRPi.GPIO as GPIO

import time

GPIO.setmode(GPIO.BCM)      //调用RPi.GPIO库

GPIO.setup(17,GPIO.IN)      //定义GPIO17为输入引脚

GPIO.setwarnings(False)

GPIO.setup(18,GPIO.OUT)     //定义GPIO18为输出引脚

while True:

inputValue = GPIO.input(17)

if(inputValue ==False):     //判断当输入为False时

GPIO.output(18,GPIO.LOW)    //设置输出引脚的状态

if(inputValue ==True):      //判断当输入为Ture时

GPIO.output(18,GPIO.HIGH)   //设置输出引脚的状态

print("detected!")

 

4.3 光敏感应模块软件设计

编写一个从光敏感应模块读数据的程序,检测有光与无光,若有光,传感器输出一个GPIO22低电平,使得树莓派的GPIO23口输出为低电平,灯不亮,否则给高电平,灯亮。如图4.3所示:

 

图4.3 光敏感应模块程序框架图

 

程序设计:

#python led.py

importRPi.GPIO as GPIO

import time

GPIO.setmode(GPIO.BCM)      //调用RPi.GPIO库

GPIO.setup(22,GPIO.IN)      //定义GPIO22为输入引脚

GPIO.setwarnings(False)

GPIO.setup(18,GPIO.OUT)     //定义GPIO18为输出引脚

while True:

inputValue-2 = GPIO.input(22)

if(inputValue-2 ==False):   //判断当输入为False时

GPIO.output(18,GPIO.LOW)    //设置输出引脚的状态

if(inputValue-2 ==True):       //判断当输入为Ture时

GPIO.output(18,GPIO.HIGH)   //设置输出引脚的状态

print("detected!")

4.4 小结

本章介绍了智能灯光控制系统软件的设计,根据本设计要求设计了一下程序,包括主程序、光信号处理程序,人体感应信号处理。并对流程图进行设计以及各个程序进行阐述其功能与作用,为进一步测试打下基础。

 

5智能灯光控制系统的测试

本文设计采用pyhton语言程序,运行智能灯光控制系统程序后进行观察。

Python 语言是一种面向对象的解释型计算机程序设计语言源代码解释器CPython遵循 GPL(GNU General Public License)协议。

(1)简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。

(2)易学:Python极其容易上手,因为Python有极其简单的说明文档

(3 速度快:Python 的底层是用 C 语言写的,很多标准库和第三方库也都是用 C 写的,运行速度非常快。

(4)高层语言:用Python语言编写程序的时候无需考虑诸如如何管理你的程序使用的内存一类的底层细节。

(5)可移植性:由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基于linux开发的android平台。

(6)丰富的库:Python标准库确实很庞大。它可以帮助处理各种工作,包括正则表达式、文档生成、单元测试线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。

5.1 光敏模块通过继电器控制灯

(1)光线强

当外界光强时,光敏模块输出低电平,继电器开关断开,灯灭掉,灯无电压,如图5.1所示 。

 

图5.1 光敏感应模块测试图

 

(2)光线暗

当外界光暗时,光敏模块输出高电平,继电器开关闭合,灯点亮,灯有电压,如图5.2所示 。

 

图5.2 光敏感应模块测试图

 

5.2人体感应模块通过继电器控制灯

(1)有人时

当有人时,人体红外感应模块输出高电平,继电器开关闭合,灯点亮,灯有电压(如图5.3) 。

 

图5.3 人体红外感应模块测试图

 

(2)无人时

当无人时,人体红外感应模块输出低电平,继电器开关断开,灯灭掉,灯无电压如图5.4所示。

 

图5.4人体红外感应模块测试图

 

5.3 光敏模块、人体红外感应模块通过继电器控制灯

在实验中在热敏电阻和光敏电阻替换成滑动变阻器。

(1)当光线强时:

a.当有人时,人体红外感应模块输出为0,继电器开关断开,灯不亮如图5.5所示。

图5.5 人体红外感应模块与光敏模块测试图

 

b.当无人时,人体红外感应模块输出为0,继电器开关断开,灯不亮,如图5.所示。

图5.6 人体红外感应模块与光敏模块测试图

 

(2)当光线暗时:

a.当有人时,人体红外感应模块输出为1,继电器开关闭合,灯亮如图5.7所示 。

 

图5.7 人体红外感应模块与光敏模块测试图

 

b.当无人时,人体红外感应模块输出为0,继电器开关断开,灯不亮,如图5.8所示 。

 

 

图5.8 人体红外感应模块与光敏模块测试图

 

5.4 小结

本章介绍了智能灯光控制系统分别用程序驱动光敏模块、人体红外感应模块通过继电器来控制灯的亮灭,最后用主程序同时驱动光敏模块和人体红外感应模块相互协作通过继电器来控制灯的亮灭。通过本章测试,本次设计相关功能已经符合本次任务的要求。

 


 

 

 

总  结

 

随着时代发展,智能灯一定是将来的主流台灯用品。热释电红外传感器和BISS0001芯片组成的红外感应智能开关,价格便宜,成本低,工作效率较高。采用树莓派低功耗,结合光信号的采集、人体红外感应模块的控制程序,研制了一款可以实现智能控制亮灭的灯。此智能灯可以用家庭,楼道等光线黑暗的任何地方,经过三个月的努力,毕业设计终于顺利完成了。自设计制作中运用了自己所学的知识,完成了这次设计。

使用本设计的制作智能灯光控制系统具有很多的有点,硬件和软件设计简单,成本较低,安全可靠,操作方便等特点,智能灯光控制系统按照人所适应的环境进行了各方面的设计。不仅从整体上完成了智能开关亮度控制的设计,考虑到人在夜间可以安全进行工作。通过这次的毕业设计,我学会了书本知识运用在实际操作的过程中,同时在一些书上没有的地方去查找相关的资料,为自己的增加了丰富的知识,也了解到认将来电子的发展是无限大的,电子科学技术领域也是在未来中做出很伟大的力量。


 

 

 

谢  辞

 

本次设计是在我的指导老师张静老师的悉心指导下完成的。从论文选题、设计方案的选择、系统设计与实现乃至论文撰写过程,张老师都给予我很多切实的帮助。张静老师有着严谨的治学态度、开拓的思维方式、以及指导学生的无限耐心,让我受益匪浅,并将继续激励我在今后的人生之路上不断进取、勇攀高峰。在此谨向罗奕老师表示衷心的感谢。

同时我要感谢在我周围热心帮助我的同学,他们总是在我遇到困难的时候伸出友谊之手,在我的毕设制作过程中、在论文的写作及校正过程中,他们更是给了我大量的建议和帮助,在此向他们表示衷心感谢。


 

 

 

参考文献

 

[1] 中国绿色照明发展报告[M].北京:中国电力出版社.2005;

[2] 沈瑞珠.智能照明系统在智能建筑中的应用.低压电器.2002.(5):20~22;

[3] 柯博文,树莓派Raspberry Pi实战指南-手把手教你掌握100个精彩案例[M], 清华大学出版社.2015年;

[4] 王文峰译, 树莓派Python编程指南[M],机械工业出版社,2015年;

[5] 刘汪, 董晓庆. Raspberry Pi机器人制作实例:用Python、Linux和传感器搭建智能小车[M].人民邮电出版社. 2016年;

[6]红外传感信号处理器—BISS0001[J] 沈祥宪  .pdf;

[7] 刘舒祺,施国梁.基于热释电红外传感器的报警系统[J].国外电子元器件.2005(3): 18—20;

[8] 丁镇生. 传感器及传感技术应用[M] . 北京:电子工业出版社,1998年;

[9] 陈杰、黄鸿.传感器与检测技术[M].北京.高等教育出版社.2002年;

[10]传感器技术大全[M](上中下册)张洪润;

[11]数字电子技术基础 阎石 [M].北京:高等教育出版社,2006年;

[12]模拟电子技术基础[M] 童诗白北京:中国教育出版社,第四版;

[13]电子线路基础[M] 张晓林 北京:中国教育出版社;

[14]郑家龙.集成电子技术基础教程[M].北京:高等教育出版社,2003年;

[15] 苏铁力,关振海,孙立红. 传感器及其接口技术[M], 中国石化出版社.2000年;

 


 

 

 

附 录1

人体感应信号处理模块电路图

微信图片_20170531091524.png

 

光敏模块电路原理图

微信图片_20170524141352.png

 

电源电路原理图

 

继电器模块电路原理图

微信图片_20170531091157.png

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

附 录2

主程序

#python led.py

importRPi.GPIO as GPIO

import time

GPIO.setmode(GPIO.BCM)      //调用RPi.GPIO库

GPIO.setup(22,GPIO.IN)      //定义GPIO22为输入引脚

GPIO.setwarnings(False)

GPIO.setup(23,GPIO.OUT)  //定义GPIO23为输出引脚

while True:

inputValue = GPIO.input(22)

if(inputValue ==False):  //判断当输入为False时

GPIO.output(23,GPIO.LOW) //设置输出引脚的状态

if(inputValue ==True):      //判断当输入为Ture时

GPIO.output(23,GPIO.HIGH)   //设置输出引脚的状态

GPIO.setup(17,GPIO.IN)      //定义GPIO17为输入引脚

GPIO.setwarnings(False)

GPIO.setup(18,GPIO.OUT)  //定义GPIO18为输出引脚

while True:

inputValue = GPIO.input(17)

if(inputValue ==False):  //判断当输入为False时

GPIO.output(18,GPIO.LOW) //设置输出引脚的状态

if(inputValue ==True):      //判断当输入为Ture时

GPIO.output(18,GPIO.HIGH)   //设置输出引脚的状态

print("detected!")

print("detected!")