APP下载

基于Arduino和APP Inventor 2的智能灯的设计与实现

2020-02-03张海生

电子技术与软件工程 2020年14期
关键词:电灯开发板亮度

张海生

(海南政法职业学院 海南省海口市 571100)

1 引言

随着信息技术的而不断进步发展和人们生活水平质量不断提升,在智能家居不断发展的背景下,传统的照明电灯很难同时满足家居照明对安全性、便利性、舒适性和环保节能的需求。传统的照明电灯一般只能实现开、关操作,也有能无线开关和调节亮度功能的照明电灯,但需要额外配备无线遥控器,多个电灯就需要多个遥控器,不仅增加成本、耗费资源而且无记忆存储功能,使用起来也不够便利,另外手动开关也存在一定的安全隐患,影响着人们的高质量生活。

本文设计的基于Arduino 和APP Inventor 2 的智能灯,具有通过手机APP 远程控制照明电灯的功能,具备系统运行流畅稳定、软硬件制作简单、手机APP 用户体验顺畅、物美价廉的优点,适合于在教学和生产生活中广泛应用。

2 系统设计

本系统主要由MCU 控制模块Arduino 开发板、电灯照明模块、蓝牙通信模块和手机APP 等部分构成。系统启动以后,首先打开手机APP 终端与系统进行互联配对,然后发送操作指令即可对电灯进行远程操作。操作指令数据先从手机APP传送到蓝牙通信模块;然后再传送到MCU 控制模块;MCU 控制模块接收操作指令后进行相对应的电灯控制。为了增加便利性和冗余性,系统还采用了通过手动按键方式控制电灯。系统设计结构图如图1 所示。

3 硬件设计

3.1 MCU控制模块

Arduino 是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino 板)和软件(Arduino IDE)[1]。Arduino 开源硬件平台把电子电路和底层驱动库打包集成为黑箱,进而省略了大部分与电路和硬件驱动相关的操作,最终只剩下简单的控制逻辑。这样产品原型设计人员无需学习复杂的电子基础就能够轻松制作出精良而可靠的电子创意作品[2]。

鉴于Arduino 开发板在开源的硬件平台、底层和驱动类库资源丰富、开发简单、成本低廉等优点,本系统采用Arduino UNO R3开发板作为主控板。Arduino UNO R3 板载资源布局如图2 所示。

3.2 蓝牙通信模块

蓝牙技术是一种无线数据和语音通信开放的全球规范,它是基于低成本的近距离无线连接,为固定和移动设备建立通信环境的一种特殊的近距离无线技术连接。蓝牙作为一种小范围(一般为10 米)无线连接技术,能在设备间实现方便快捷、灵活安全、低成本、低功耗的数据通信和语音通信,因此它是目前实现无线个域网通信的主流技术之一[3]。

图1:系统设计结构图

图2:Arduino UNO R3 板载资源布局

图3:蓝牙通信模块连接示意图

图4:电灯照明模块

图5:下位机程序流程图

图6:程序初始化

图7:选择蓝牙设备

常用的蓝牙通信模块有两种工作方式:主机模式和从机模式。主机模式用来搜索从机设备,不能被其他设备搜索;从机模式用来被搜索,不能主动搜索其他设备。本设计采用HC05 蓝牙通信模块,只要设置相关的AT 指令该模块既能工作于主机模式也能工作于从机模式。模块有4 个引脚:VCC(+5V)、GND(地)、TXD(发送端)、RXD(接收端)。Arduino 的TX(发送端)和RX(接收端)分别连接蓝牙通信模块的RXD 和TXD,如图3 所示。

3.3 电灯照明模块

家庭用电一般是220V 的交流电,本设计采用+15V/9W 直流供电的电灯,为了能给电灯合适的工作电压,先用变压器将220V 交流电降压,然后进行整流、滤波、稳压,最后得到+15V 的直流电。

图9:发送控制指令

图10:手机APP 界面

图11:系统实物图

为了使得Arduino 能对电灯进行开关控制,采用+15V 继电器。当Arduino 收到开关灯信号时,将发出高电平或者低电平信号通过NPN 三极管来控制继电器的闭合或者断开;为了能对电灯进行亮度调节,采用了L29 驱动芯片,通过Arduino 的PWM 功能进而控制功率输出的大小调节。电灯照明模块如图4 所示。

4 软件设计

系统软件设计主要分为上位机和下位机两部分,其中下位机即Arduino 程序设计,上位机即手机APP 的设计。

4.1 Arduino程序设计

MCU 控制模块Arduino 开发板的程序设计流程图如图5 所示。

4.2 APP设计

App Inventor 是一个可视化的安卓应用制作平台,App Inventor 简称 ai,为了和人工智能(Artificial Intelligence)区别,简称用小写。最初由谷歌公司开发,后来谷歌公司移交给MIT 维护,MIT 发布了ai 2,ai1 成为历史不再使用。本设计使用App Inventor 2 WxBit 汉化版,这是作者基于MIT App Inventor 2 源代码优化定制的汉化版,并修正了ai 架构的若干缺陷。这款软件不需要具备一定专业知识也可以使用,软件已经事先将按钮、文字输入输出等软件代码编写成不同的模块,用户只需根据自己的需求拼装就可以[4]。

程序初始化如图6 所示。

选择蓝牙设备如图7 所示。

开始连接选择的蓝牙设备如图8 所示。

发送控制指令如图9 所示。

手机APP 界面如图10 所示。

5 系统测试

系统测试分为手机APP 测试和按键测试。首先,打开手机蓝牙功能和APP 应用程序,让手机和蓝牙通信模块进行配对,配对成功后,点击“开灯按钮”,灯泡亮;点击“灯光增强”,灯泡亮度增加;点击“灯光减弱”,灯泡亮度减弱;点击“关灯按钮”灯泡灭。系统实物图如图11 所示。

6 结论

本文设计的基于Arduino 和APP Inventor 2 的智能灯,解决了传统照明电灯在安全性、便利性、舒适性和环保节能等方面的局限性,通过测试证明了系统的稳定可靠、低成本等诸多优点。为智能家居和物联网学习提供了学习案例。系统只对电灯进行了开关灯和亮度调节,还可以扩展更多的功能,例如定时开关灯、检测人体自动亮灯和电量显示等功能。

猜你喜欢

电灯开发板亮度
电灯突然不亮了
亮度调色多面手
电灯是谁发明的
亮度一样吗?
Microchip最新推出两款PIC32 Curiosity开发板
浅析单片机开发板的设计与制作
基于斩波调制的LED亮度控制
人生的亮度
Mouser为您呈上开发关键之STMicroelectronics Nucleo开发板
Arduino和Atmel发布Arduino Zero开发板