APP下载

基于ARDUINO的智能LED台灯设计

2020-01-05陈晶晶吴治帆

中国新技术新产品 2020年1期
关键词:光敏电阻电位器调光

陈晶晶 吴治帆 宋 康

(四川大学机械工程学院,四川 成都 610065)

0 引言

绿色环保照明研究成为照明设施研发的重要方向。台灯是学生桌前必备的照明工具[1],现有的台灯仅能满足学生的照明要求,无法根据周围环境科学地调整适合学习的光照强度,为学生提供良好的光照环境[2]。

LED 作为照明光源,有节能环保、寿命长、体积小、发热小、响应速度快、安全电压低、耐候性好、方向性好等优点[4]。因此该文采用LED 作为光照器件,设计一款具备自动调节亮度、温度显示和声控开关等功能的智能LED 台灯,满足人们的学习需求。

温美逊等人设计的基于ARDUINO 的视力保护仪,使用光敏电阻、四电压比较器LM339 和发光二极管组成的光检测电路来实现测量周围光线、及时补充和调整光源的功能。另外还利用超声波测距模块提醒使用者调整自己的坐姿,同时附加定时中断提醒功能,系统工作一段时间之后报警提醒使用者休息,功能丰富[3]。

该文提出一种新的自动调整光源的方案。光敏电阻传感器采集光照强度,ARDUINO 开发板收集信息并进行程序处理,自动控制台灯的亮度,简单方便。

1 台灯系统总体介绍

台灯系统基于ARDUINO 开发板,围绕着其最小应用系统设计开发了自动调光、声控开关和温度显示等功能模块。系统如图1 所示。其中包括6 个模块。1)照明设备。2)声控开关模块,通过判断声音强度来开启台灯总电源,方便在黑暗情况下打开台灯。3)光强采集模块,光敏电阻传感器采集光强信息,直接输出模拟电压值。4)模式切换由电容型的触摸传感器实现,触摸一次台灯则工作模式自动切换。5)台灯光照强度的手动改变则由电位器完成,调节旋钮即可改变光强。6)环境温度信号采集由LM35 温度传感器完成,直接输出对应的电模拟压值,程序处理后在LCD1602 液晶显示屏上显示。

2 电路设计

2.1 ARDUINO简介

ARDUINO 是一款基于AVR 单片机的硬件电路和软件开发环境共同开源的控制系统,是交互式编程学习的一种媒介,是为嵌入式开发学习而研发的一种控制终端[5]。

ARDUINO 包括硬件(各种型号的ARDUINO 板)和软件(ARDUINO IDE)。ARDUINO 板通过USB 接口供电,电压为5 V。复位按键(Reset Button)可以使ARDUINO 重新启动,并且开始运行程序。ARDUINO UNO 有14 个数字输入/输出端口,6 个模拟输入端口。ARDUINO 编程环境可以跨平台,并且该软件可以在Windows、Macintosh OSX、Linux 操作系统上运行。另外ARDUINO 控制板价格低廉,可自行组装,也可以购买完整的产品[6]。

2.2 自动调光电路

2.2.1 光敏电阻传感器

光敏电阻的电阻值与光线有关,照射在感光面的光线亮度增加时,电阻值会变小,亮度减少时电阻值会加大。当环境光比较强时,光敏电阻的阻值减小,相反环境光较弱时,它的阻值增大,从而实现光电转换[7]。

图1 智能LED 台灯系统框图

2.2.2 自动调光模式

自动调光模式下,由于光敏电阻传感器采集的环境光强信号与LED 的亮度之和保持在一个定值,即最适合人眼的光照强度。当环境光强小于此定值时,LED 的亮度随环境光照强度的减弱而增加。当环境光强大于此定值时,LED的亮度为零,即直接通过程序处理达到自动调光的目的,保护眼睛。

2.3 手动调光电路

2.3.1 电位器

传统的电位器主要是依靠机械结构带动滑片运动,以此来对改变电阻值。电位器又称为可变电阻器(VR,Variable Resistor)或简称可变电阻,其是一种具有3 个端子,其中包括2 个固定接点与一个滑动接点,可经由滑动而改变滑动端与2 个固定端间电阻值的电子零件,属于被动元件,使用时可形成不同的分压比率,改变滑动点的电位。

2.3.2 手动调光模式

通过电位器的分压来改变LED 的亮度。转动旋钮,即可改变当前台灯的亮度。在此模式下,LED 的亮度可随意调节,不受环境光照强度的限制,满足人们的不同需求。

2.4 LM35测温电路

2.4.1 LM35简介

LM35 是一款精密的Celsius 集成温度传感器,其输出电压和温度呈线性关系[8]。

LM35 是一种电压型输出传感器,每升高11 ℃,温度从-50 ℃上升至150 ℃,电压增加10 mV[9]。通过对LM35传感器的输出电压值进行处理得到空气温度。

2.4.2 LM35测温

LM35 感受温度并将温度信号转换成可用的输出信号,输出信号有模拟电压信号和数字电压信号2 种,下面的公式采用的输出信号为模拟电压。由LM35 的灵敏度可算温度计算公式:

式中:U为ARDUINO 开发板内部的工作电压,通常为5 V。k为LM35 的灵敏度,k=10 mV/℃。temp 为当前环境温度,单位℃。analogRead(wendu)为ARDUINO 开发板读取到温度对应的模拟电压值,单位mV。

2.5 LCD1602显示

LCD1602 为工业字符型LED,可同时显示32 个字符。LCD1602 专门用来显示字母、数字、符号等。它由若干个5×7 或者5×11 等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,从而分割字符和线条。1602 表示2 行16 个字符。

1602 采用标准的16 脚接口,其中特殊的第3 引脚:V0为液晶显示器对比度调整端,实践时可以通过调节10 K 的电位器来调节第15~16 脚:空脚或背灯电源。第15 引脚为背光电源正极,第16 引脚为背光电源负极[10]。

2.6 声控开关

声控装置是智能家居设备中的重要组成部分,用户可以通过声音对家庭设备进行控制。

该声音传感器可检测周围环境的声音强度。但是只能识别声音的有无,不能识别声音强度的大小或者特定频率的声音,但对于该系统来说已经足够,灵敏度可调,且输出形式为数字开关量输出(0 和1 高低电平)。环境声音的强度小于设定的阈值时,DO 口输出高电平1,反之,环境声音强度超过设定阈值时,模块输出低电平0。

3 软件设计

3.1 自动调光子程序

void AUTO( )//光敏电阻传感器实现自动调光

{

sensorval=analogRead(analogguangpin);//将传感器输出转换成对应的模拟量

if(sensorval<300)//设定最适于人眼的光强对应模拟电压值为300

{

analogWrite(ledpin,sensorval*0.3);//根据环境光强自动控制LED 亮度

}

else

analogRead(ledpin,300*0.3);//设定最适于人眼的光强对应模拟电压值为300

}

3.2 手动调光子程序

void HAND( )//电位器实现手动调光

{

sensorval=analogRead(analogrestpin);//将电位器分压值输出转换成对应的模analogWrite(ledpin,sensorval*0.25);//根据电位器分压手动控制LED 亮度

}

3.3 主控制程序

if(digitalRead(song)==HIGH)//检测声音传感器状态

{

j=!j;

}

if(j or digitalRead(allpin))//声控开关或按键开关打开之后显示温度

{

lcd.setCursor(0,0);//设置光标到第二行第一列,1 表示第二行,从0 开始数)

int temp=analogRead(wendu);//读取温度信号并转换成模拟电压值

lcd.print(5*100*temp/1024);//计算温度值并显示在LCD1602

lcd.print(“C”);

delay(100);//模式切换

if(digitalRead(chumo)==HIGH) //读取触摸传感器的

状态

{

i=!i;//记录每一次触摸传感器的变化

}

if(i==HIGH) AUTO( );//切换到自动模式

if(i==LOW) HAND( );//切换到手动模式

}

else

digitalWrite(ledpin,LOW);

}

4 硬件实验结果及分析

实验得到结果,无论环境光强处于何种大小情况下,均可由按钮开关打开台灯总电源,或者可通过声音传感器来打开总电源。工作状态下,LCD1602 液晶显示屏显示当前环境温度,触碰触摸传感器可改变当前台灯的工作模式。

4.1 自动模式

自动模式下,当前环境亮度与系统设定的定值比较,环境亮度小于定值时,台灯的亮度随环境亮度的增强而减弱。而当环境亮度大于定值时台灯的亮度不再改变,此时台灯亮度为0,环境光照强度和台灯亮度综合后维持在最适于人眼的状态。自动模式下调节电位器旋钮不会改变台灯亮度。如图2 所示,环境光强由强到弱变化时,台灯亮度逐渐变强。

图2 环境光强逐渐减弱的台灯亮度增强

4.2 手动模式

手动模式下,环境光强不会对电位器的调节产生影响,可任意旋转电位器旋钮得到不同亮度。如图3 所示,调节电位器使台灯亮度逐增强。

图3 电位器分压逐渐增大时台灯亮度增强

4.3 串口显示结果

ARDUINO 软件执行代码,将模拟输出的LED 模拟电压值打印到串口,串口数据见表1,串口显示的结果与自动调光模式实验(图2)与手动调光模式(图3)相符。

表1 串口显示输出电压结果

5 结语

该文以ARDUINO 开发板为核心,以光敏电阻传感器为辅助器件,提出了一种自动调节台灯光强的新思路,其能直接对光强信号进行软件处理,达到自适应的目的,节约硬件的使用,简单方便。以各种传感器作为其他功能模块,实现声控开关、温度显示等功能,体现其智能化。根据个人需求的不同,增加手动调光功能,通过电位器的分压以及ARDUINO 开发板引脚的PWM 输出,达到控制LED亮度的效果。

此外,该台灯系统还存在不完善的地方,可以扩展一些其他功能,比如防止靠近桌面提醒、定时提醒和手机联网控制等功能,因此,还可以进一步提高台灯系统的智能化程度。

猜你喜欢

光敏电阻电位器调光
服务区LED照明调光算法探究
浅谈不同化学成分对光敏电阻薄膜特性的影响
——以高PbI2掺杂水平的钙钛矿光阻膜、Bi2S3光阻膜、ZnO光阻膜为例
Hepatitis C virus antigens enzyme immunoassay for one-step diagnosis of hepatitis C virus coinfection in human immunodeficiency virus infected individuals
全海深ARV水下LED调光驱动电路设计
浅谈公路隧道照明调光方案比选
基于单片机的大棚自动调光设计
浅析光敏电阻的应用
Mixly开源项目设计10:用自制多量程欧姆表测量电位器的电阻
光敏电阻延时特性的验证及光强对其影响的探究
电位器在直线步进电机中的应用