论文部分内容阅读
摘要 Arduino是目前较为流行的电子互动平台,基于Arduino系统的开发,可以制作出集成度高,使用简单的产品,因为其烧录程序简单,与扩展板和传感器的兼容性较高且价格低廉的特点,在互动电子系统的开发上得到了广泛的应用。该设计基于集成蓝牙4.0ArduinoUNO开发板,结合智能家居的发展特点,利用Accessory Shield扩展板丰富的集成功能,并通过手机APP显示相应参数的采集结果且实现人走灯灭这两大功能。最终实现了高效节能,低成本且能够带给用户良好的居家体验的智能台灯设计。
关键词 电子信息工程 智能台灯 Arduino 蓝牙
中图分类号:TU113.6 文献标识码:A DOI:10.1640/j.cnki.kjdks.2017.05.026
0引言
随着人们生活水平的不断提高和智能手机的飞速发展,智能手机很大程度上改变了人们的生活方式,智能手机已经成为人们生活的必需品。随着制造工艺的不断改进以及智能LED灯不断完善,高亮度小功率LED灯照明光源以其高效、节能、环保等优点逐渐步入人们的日常生活,对于未来通用照明领域,会逐步取代白炽灯等大功率的灯泡。利用手机蓝牙与单片机的蓝牙模块相连接进行通信,实现无线遥控台灯开关及相关数据的传输。
本设计中对于单片机的选型也从传统的51单片机设计到现代较为流行的开发板ArduinoUNO的设计。Ardnino于2005年1月被创建,是一块基于开放原始代码的Simple UO平台,该平台由硬件(微处理器系统、电路板等)和软件(编程语言和接口)两部分组成,并且Arduino与java、c语言的开发环境类似,可以快速使用Arduino语言与多种软件进行互动和功能融合。对于应用方面,Arduino可以与软件进行独立沟通,将一些电子元件,例如多种传感器、开关、继电器和RGB-LED灯以及其他的输入/输出设备进行设计组合。Arduino开源易用的特点为智能产品的设计原型提供了很好的开发平台,通过与各个传感器和元器件的连接,实现了感知、识别和处理。基于Ardu-ino开源系统的设计通过丰富的软硬件资源的分配,满足了绝大多数智能产品原型设计的需要。
1总体设计
智能台灯的系统首先通过集成蓝牙4.0的Arduino主控板与手机蓝牙模块连接,进而与手机端建立通信协议,用Ardu-in01.6馏开发环境向Arduino主控板烧录分功能程序代码,实现台灯功能的设计。手机APP通过继电器来控制台灯开关,灯泡应用雷达感应球,感知人体和光亮变化,再而控制台灯的开关。台灯通过UNO开发板与Bluno Accessory Shield扩展板的连接,其中RGB LED集成于扩展板,可以通过手机APP显示丰富的颜色,具有良好的夜光效果,并且可实现温度湿度等环境变量通过128x64 OLED显示屏显示手机APP端输入的字符的功能,电路硬件连接图如图1,2所示。
2 Arduino UNO主板及功能模塊的选型
2.1设计硬件的选型
2.1.1 Ardnino开发平台的选择
Arduino这一款开发平台,包含多种硬件及编程软件(IDE为其编程环境,并且软件更新版本速度较快)。同时Arduino加载多种控制器的函数库,方便调用和修改;ArduinoIDE开发软件拥有极为强大数量的函数库。且对于多种传感器具有通用性和兼容性,方便用户进行模块化的连接和处理,且支持多样的互动程序;Arduino的硬件软件都为开源,相对于C51,STM32等硬件平台更加亲民,完全脱离寄存器的配置,且几乎所有功能实现了上层库的调用,透明掉了大部分与硬件的操作,且具有入门教程低领化,可操作化的特点。
2.1.2控制主板的选择
Arduino系统针对不同的引用环境开发出多种不同版本,本文设计的智能台灯采用由DF robot创客商城公司开发下的BLUNO V2.0,该开发板集成了蓝牙HC-05模块,直接将它使用USB数据线连接到PC上,并下载相应的编程环境软件At-duino IDE(本设计采用1.6.8版本)即可实现程序的烧录,外部结构如图3所示。
(1)USB接口,通过该接口与电脑进行连接,再用Arduino的IDE软件将所编写的控制程序保存并烧录到控制板上,并且可通过该口为电路板供电,本设计通过USB接口连线进行与台灯接线的并联,可用于家庭用电设备的连接。
(2)14个数字输入/输出端,其中RX和TX分别连接主控芯片的串行引脚,用来接收和发送TTL串行数据。其中的端口2、3——接收外部信号,实现外部中断功能;端口IO(SS)、11(MOSI)、12(MISO)和13(SCK)在SPI模块库的支持下,可以提供SPI通信模式;端口13内部连接了一个LED指示灯,LED灯会在主板通信模式时进行闪烁提醒。
(3)蓝牙模块,BLE-LINK是基于蓝牙4.0的通讯模块,它采用XBEE造型设计,体积尺寸紧凑,兼容XBEE的扩展底座,适用于本实验的Arduino单片机系统。本模块用于实现,主从机设置,完成无线烧录程序,与手机进行蓝牙通信的功能。
2.2扩展板的选择
本设计采用Bluno Accessory Shield扩展板,集成了台灯设计所需大部分硬件设备,其中包括RGB LED彩灯、OLED显示屏、温湿度传感器、继电器。并且与ArduinoV2.0具有较强的兼容性,整体体积小,易于台灯封装。外部结构图如图4所示。
3蓝牙通信
3.1蓝牙技术相关简介
蓝牙可以支持设备进行短距离通信,并且能够在移动电话、无线通信设备、PC和具有外设装置的设备之间进行无线信息交换。对蓝牙技术进行合理应用,使得所选设备与网络之间的通信进一步得到简化,从而使数据满足现代大数据传输的高效性、迅速性,拓宽了与无线通信的联系。蓝牙采用时实行分双工传输方案,全双工传输,与WWI技术相比,使得在特殊环境下的智能手机通信变得更加便捷。 3.2蓝牙协议
本系统中主要应用的是蓝牙配对即将两个Bluetooth设备间建立新的连接关系,连接过程为通过BluetoothSerialPort将Bluetooth的通信转化成Virtual Serial Port(虚拟串口),接下来使用Bluetooth的Client程序进行串口操作,最后通过串口信息的处理把通过扩展板上传感器及相关元器件所处理所得到的数据传递给手机端。
3.3蓝牙传输过程
Arduino主控板可将扩展板上温湿度传感器采集数据,继电器的接口函数值以及彩灯的各颜色比例值以一定发送频率通过蓝牙芯片,利用虚拟串口BluetoothSerialPort,将数据传递给手机端并进行接收,最后由手机端的界面上会示相应参数的变化。如图5所示是本系统的蓝牙传输过程。
4台灯的各功能模块及实现过程说明
4.1 OLED顯示屏
OLED显示屏位于台灯底座,用以显示由手机APP端输入的字符、实时采集的温湿度的数据R、G、B的参数值。湿度传感系统采用DHT11温湿度传感模块,该传感器模块集成了电阻式感湿元件和NTC测温元件,与Ardnino开发板相连接。Arduino实现功能部分代码如下:
voiddraw(void)
myOled.setFont(u8g font unifont);
myOled.setPrintPos(10,16);
//settheprintposition
myOled.print(”H:”);
myOled.print(humidity);Hshow the humidity 0n oled
myOled.print("%");
成果如图6所示:
每2s更新环境温度和湿度,并通过调用库函数myAcces-sory对温湿度传感器进行处理,通过蓝牙接口传输的相应数据也可在手机上进行显示。更新数据代码如下:
staticunsignedlongDHTllTimer=millis();
//every2sup-date the temperature and humidity from DHT11 sensor
if(millis()-DHTllTimer>=2000){
DHTllTimer=millis();temperature=myAcces-sory.readTemperature ();humidity-myAcces-sory.readHumidity();
}
4.2台灯开关模块
通过设计手机app开关按钮,将蓝牙串口传输端的数据进行处理,高低电平值进而控制继电器的开关,继电器模块接口中DC+端口接电源正极(电压按继电器要求,有5V.9V.12V和24V选择),DC-端口接电源负极,IN口可以通过高或低电平控制继电器吸合。通过能够承载较大功率的导线将台灯的两端分别与继电器的NO(继电器常开接口),COM(继电器公用接口)连接,最终实现用手机控制台灯开关;本设计采用1.5A继电器模块,能够承载普通的大电流器件,用于处理灯泡连接于家庭工作电压的安全处理。控制继电器部分代码如下所示:
void setup(){
myAccessory.begin();
}//the loop routine runs over andover againforever:
void loop(){
myAccessory.setRelay(true);//turn the LED on(HIGH is the voltage level)
delay(2000);//wait for a second
myAccessory.setRelay(false);//turn the LED off by mak-ing the voltage LOW
delay(2000);//wait for a second
}
4.3小彩灯
小彩灯用于夜间模式的使用,独立于节能台灯之外,位于台灯底座封装的透明板内部。
LED彩灯的三原色指红,绿,蓝,改变这三种颜色的比例就可以合成不同的颜色。因此UNO板通过烧录程序对手机传送的数据进行处理实现调色。由于传输REB-LED的PWM值不同,因此可以实现PWM控制红、绿、蓝三盏灯的亮度比,通过控制亮度比实现想要改变的颜色。PWM调光技术是一种利用简单的数字脉冲反复调控开关LED的驱动器技术,使用者需要设定不用的颜色配对比例,从而提供宽,窄不同的数字式脉冲,进而改变输出电流,最后实现LED的亮度的调节,实现多种颜色的调节。Arduino/DE编译部分代码如下:
blunoAccessory myAccessory;
void setup(){Serial.begin(1 15200);
myAccessory.begin();}
void loop(){for(int i=0;i<255;i++){
myAccessory.setRGBLed(i,0,255-i);
delay(10);}
4.4节能灯
本设计采用雷达感应灯,当台灯处于自然光线较弱并且感知人体(距离<7m)的条件下,内有微波反射感应机制,通过雷达感应元件进行测距,驱动智能IC电源,保障电流的平稳,有效延长灯泡寿命。当人离开微波雷达感应的范围后,延迟30-40秒,台灯自动熄灭。感应灯的外部结构图如图7。
5结语
本系统是基于Arduino平台操作系统,系统先通过扩展板采集需要传输给手机的信息,并通过蓝牙芯片传递给手机端。设计出具有节能、安全、时尚的简易台灯系统。整体设计突破传统台灯的功能单一性,增加夜光彩灯效果和温湿度提醒功能,从智能化上进一步完善了台灯本身。因为Arduino功能强大,且与Android的耦合性极佳,还可以进一步设计手机APP并扩展台灯的新增功能,丰富台灯的系统多样性。
本智能台灯系统的总体设计虽然仍处于开发阶段,但在实验调研已经多次调试及安全性检验后,使之具有成本较低,设计简单,安全可靠,携带方便等特点,可作为产品进行开发,应用于住宅家居、现代办公室等场所,有较强的实用性。
关键词 电子信息工程 智能台灯 Arduino 蓝牙
中图分类号:TU113.6 文献标识码:A DOI:10.1640/j.cnki.kjdks.2017.05.026
0引言
随着人们生活水平的不断提高和智能手机的飞速发展,智能手机很大程度上改变了人们的生活方式,智能手机已经成为人们生活的必需品。随着制造工艺的不断改进以及智能LED灯不断完善,高亮度小功率LED灯照明光源以其高效、节能、环保等优点逐渐步入人们的日常生活,对于未来通用照明领域,会逐步取代白炽灯等大功率的灯泡。利用手机蓝牙与单片机的蓝牙模块相连接进行通信,实现无线遥控台灯开关及相关数据的传输。
本设计中对于单片机的选型也从传统的51单片机设计到现代较为流行的开发板ArduinoUNO的设计。Ardnino于2005年1月被创建,是一块基于开放原始代码的Simple UO平台,该平台由硬件(微处理器系统、电路板等)和软件(编程语言和接口)两部分组成,并且Arduino与java、c语言的开发环境类似,可以快速使用Arduino语言与多种软件进行互动和功能融合。对于应用方面,Arduino可以与软件进行独立沟通,将一些电子元件,例如多种传感器、开关、继电器和RGB-LED灯以及其他的输入/输出设备进行设计组合。Arduino开源易用的特点为智能产品的设计原型提供了很好的开发平台,通过与各个传感器和元器件的连接,实现了感知、识别和处理。基于Ardu-ino开源系统的设计通过丰富的软硬件资源的分配,满足了绝大多数智能产品原型设计的需要。
1总体设计
智能台灯的系统首先通过集成蓝牙4.0的Arduino主控板与手机蓝牙模块连接,进而与手机端建立通信协议,用Ardu-in01.6馏开发环境向Arduino主控板烧录分功能程序代码,实现台灯功能的设计。手机APP通过继电器来控制台灯开关,灯泡应用雷达感应球,感知人体和光亮变化,再而控制台灯的开关。台灯通过UNO开发板与Bluno Accessory Shield扩展板的连接,其中RGB LED集成于扩展板,可以通过手机APP显示丰富的颜色,具有良好的夜光效果,并且可实现温度湿度等环境变量通过128x64 OLED显示屏显示手机APP端输入的字符的功能,电路硬件连接图如图1,2所示。
2 Arduino UNO主板及功能模塊的选型
2.1设计硬件的选型
2.1.1 Ardnino开发平台的选择
Arduino这一款开发平台,包含多种硬件及编程软件(IDE为其编程环境,并且软件更新版本速度较快)。同时Arduino加载多种控制器的函数库,方便调用和修改;ArduinoIDE开发软件拥有极为强大数量的函数库。且对于多种传感器具有通用性和兼容性,方便用户进行模块化的连接和处理,且支持多样的互动程序;Arduino的硬件软件都为开源,相对于C51,STM32等硬件平台更加亲民,完全脱离寄存器的配置,且几乎所有功能实现了上层库的调用,透明掉了大部分与硬件的操作,且具有入门教程低领化,可操作化的特点。
2.1.2控制主板的选择
Arduino系统针对不同的引用环境开发出多种不同版本,本文设计的智能台灯采用由DF robot创客商城公司开发下的BLUNO V2.0,该开发板集成了蓝牙HC-05模块,直接将它使用USB数据线连接到PC上,并下载相应的编程环境软件At-duino IDE(本设计采用1.6.8版本)即可实现程序的烧录,外部结构如图3所示。
(1)USB接口,通过该接口与电脑进行连接,再用Arduino的IDE软件将所编写的控制程序保存并烧录到控制板上,并且可通过该口为电路板供电,本设计通过USB接口连线进行与台灯接线的并联,可用于家庭用电设备的连接。
(2)14个数字输入/输出端,其中RX和TX分别连接主控芯片的串行引脚,用来接收和发送TTL串行数据。其中的端口2、3——接收外部信号,实现外部中断功能;端口IO(SS)、11(MOSI)、12(MISO)和13(SCK)在SPI模块库的支持下,可以提供SPI通信模式;端口13内部连接了一个LED指示灯,LED灯会在主板通信模式时进行闪烁提醒。
(3)蓝牙模块,BLE-LINK是基于蓝牙4.0的通讯模块,它采用XBEE造型设计,体积尺寸紧凑,兼容XBEE的扩展底座,适用于本实验的Arduino单片机系统。本模块用于实现,主从机设置,完成无线烧录程序,与手机进行蓝牙通信的功能。
2.2扩展板的选择
本设计采用Bluno Accessory Shield扩展板,集成了台灯设计所需大部分硬件设备,其中包括RGB LED彩灯、OLED显示屏、温湿度传感器、继电器。并且与ArduinoV2.0具有较强的兼容性,整体体积小,易于台灯封装。外部结构图如图4所示。
3蓝牙通信
3.1蓝牙技术相关简介
蓝牙可以支持设备进行短距离通信,并且能够在移动电话、无线通信设备、PC和具有外设装置的设备之间进行无线信息交换。对蓝牙技术进行合理应用,使得所选设备与网络之间的通信进一步得到简化,从而使数据满足现代大数据传输的高效性、迅速性,拓宽了与无线通信的联系。蓝牙采用时实行分双工传输方案,全双工传输,与WWI技术相比,使得在特殊环境下的智能手机通信变得更加便捷。 3.2蓝牙协议
本系统中主要应用的是蓝牙配对即将两个Bluetooth设备间建立新的连接关系,连接过程为通过BluetoothSerialPort将Bluetooth的通信转化成Virtual Serial Port(虚拟串口),接下来使用Bluetooth的Client程序进行串口操作,最后通过串口信息的处理把通过扩展板上传感器及相关元器件所处理所得到的数据传递给手机端。
3.3蓝牙传输过程
Arduino主控板可将扩展板上温湿度传感器采集数据,继电器的接口函数值以及彩灯的各颜色比例值以一定发送频率通过蓝牙芯片,利用虚拟串口BluetoothSerialPort,将数据传递给手机端并进行接收,最后由手机端的界面上会示相应参数的变化。如图5所示是本系统的蓝牙传输过程。
4台灯的各功能模块及实现过程说明
4.1 OLED顯示屏
OLED显示屏位于台灯底座,用以显示由手机APP端输入的字符、实时采集的温湿度的数据R、G、B的参数值。湿度传感系统采用DHT11温湿度传感模块,该传感器模块集成了电阻式感湿元件和NTC测温元件,与Ardnino开发板相连接。Arduino实现功能部分代码如下:
voiddraw(void)
myOled.setFont(u8g font unifont);
myOled.setPrintPos(10,16);
//settheprintposition
myOled.print(”H:”);
myOled.print(humidity);Hshow the humidity 0n oled
myOled.print("%");
成果如图6所示:
每2s更新环境温度和湿度,并通过调用库函数myAcces-sory对温湿度传感器进行处理,通过蓝牙接口传输的相应数据也可在手机上进行显示。更新数据代码如下:
staticunsignedlongDHTllTimer=millis();
//every2sup-date the temperature and humidity from DHT11 sensor
if(millis()-DHTllTimer>=2000){
DHTllTimer=millis();temperature=myAcces-sory.readTemperature ();humidity-myAcces-sory.readHumidity();
}
4.2台灯开关模块
通过设计手机app开关按钮,将蓝牙串口传输端的数据进行处理,高低电平值进而控制继电器的开关,继电器模块接口中DC+端口接电源正极(电压按继电器要求,有5V.9V.12V和24V选择),DC-端口接电源负极,IN口可以通过高或低电平控制继电器吸合。通过能够承载较大功率的导线将台灯的两端分别与继电器的NO(继电器常开接口),COM(继电器公用接口)连接,最终实现用手机控制台灯开关;本设计采用1.5A继电器模块,能够承载普通的大电流器件,用于处理灯泡连接于家庭工作电压的安全处理。控制继电器部分代码如下所示:
void setup(){
myAccessory.begin();
}//the loop routine runs over andover againforever:
void loop(){
myAccessory.setRelay(true);//turn the LED on(HIGH is the voltage level)
delay(2000);//wait for a second
myAccessory.setRelay(false);//turn the LED off by mak-ing the voltage LOW
delay(2000);//wait for a second
}
4.3小彩灯
小彩灯用于夜间模式的使用,独立于节能台灯之外,位于台灯底座封装的透明板内部。
LED彩灯的三原色指红,绿,蓝,改变这三种颜色的比例就可以合成不同的颜色。因此UNO板通过烧录程序对手机传送的数据进行处理实现调色。由于传输REB-LED的PWM值不同,因此可以实现PWM控制红、绿、蓝三盏灯的亮度比,通过控制亮度比实现想要改变的颜色。PWM调光技术是一种利用简单的数字脉冲反复调控开关LED的驱动器技术,使用者需要设定不用的颜色配对比例,从而提供宽,窄不同的数字式脉冲,进而改变输出电流,最后实现LED的亮度的调节,实现多种颜色的调节。Arduino/DE编译部分代码如下:
blunoAccessory myAccessory;
void setup(){Serial.begin(1 15200);
myAccessory.begin();}
void loop(){for(int i=0;i<255;i++){
myAccessory.setRGBLed(i,0,255-i);
delay(10);}
4.4节能灯
本设计采用雷达感应灯,当台灯处于自然光线较弱并且感知人体(距离<7m)的条件下,内有微波反射感应机制,通过雷达感应元件进行测距,驱动智能IC电源,保障电流的平稳,有效延长灯泡寿命。当人离开微波雷达感应的范围后,延迟30-40秒,台灯自动熄灭。感应灯的外部结构图如图7。
5结语
本系统是基于Arduino平台操作系统,系统先通过扩展板采集需要传输给手机的信息,并通过蓝牙芯片传递给手机端。设计出具有节能、安全、时尚的简易台灯系统。整体设计突破传统台灯的功能单一性,增加夜光彩灯效果和温湿度提醒功能,从智能化上进一步完善了台灯本身。因为Arduino功能强大,且与Android的耦合性极佳,还可以进一步设计手机APP并扩展台灯的新增功能,丰富台灯的系统多样性。
本智能台灯系统的总体设计虽然仍处于开发阶段,但在实验调研已经多次调试及安全性检验后,使之具有成本较低,设计简单,安全可靠,携带方便等特点,可作为产品进行开发,应用于住宅家居、现代办公室等场所,有较强的实用性。