基于Android反馈控制的智能窗帘

时间:2022-09-18 02:08:20

基于Android反馈控制的智能窗帘

随着人们生活质量的提高以及科技的快速发展,传统窗帘已经不能满足人们对于智能生活的需求。本设计通过安卓操作系统手机和Arduino的通讯连接,在手机上就能实现控制窗帘的状态等功能。Arduino端接收室内外获取的天气、温度、湿度、亮度等参数以及Android发出的指令,通过蓝牙传送信息,达到手机与窗帘的信息交互。用户通过手机可实现对窗帘的实时调控,还可以选择多种模式。本智能窗帘还具备自主学习、记录用户喜好等功能,具备较大市场潜力。

【关键词】智能窗帘 手机应用 自动控制系统

信息化社会在改变人们生活方式与工作习惯的同时,也对传统的住宅提出挑战,社会、技术以及经济的进步更使人们的观念随之改变。本设计制作的智能窗帘,针对传统窗帘存在的问题,形成人为操控、信息传递、电路控制、机械运作一体化。用户通过Android手机,不仅能够实现对窗帘的状态进行操作,而且可以选择多种模式,可以方便、快捷地使用智能窗帘。本项设计功能强大、实用性较好,克服了传统窗帘功能单一、操作繁琐、智能化程度低等缺点,拥有较好的前景。

1 系统总体设计和工作原理

该系统结合传感器、Arduino和Android APP实现对窗帘的智能控制。既能够根据光照和温度自动开关,也能够通过手机APP人为操控。系统一共有六个模块:温度传感器、光照传感器、Arduino控制板、驱动电机、Android模块和蓝牙通讯模块。温度传感器与光照传感器作为系统感知端来采集窗外的光照和温度信息。Arduino控制模块对传感器采集来的信息进行处理。电机根据Arduino控制模块处理后的结果相应改变窗帘状态。Android模块主要提供一个人机交互界面,方便人工查看和改变窗帘状态。Arduino和Android两个模块之间的通信则借助蓝牙通讯模块完成,其要完成搜索蓝牙设备,与蓝牙设备配对,以及消息的发送接受处理,如图1所示。

2 硬件电路设计

Arduino UNO是Arduino USB接口系列的最新版本,为Arduino平台的参考标准模板。Arduino UNO的处理器核心是ATmega328,同时具有14路数字输入/输出口(其中6路可作为PWM输出),6路模拟输入,一个16MHz晶体振荡器,一个USB口,一个电源插座,一个ICSP header和一个复位按钮。

系统选择ArduinoUNO作为主控芯片,通过便捷的引脚设置,连接光敏电阻、湿度传感器、温度传感器等感应装置,使Arduino端接收到参数,进行相应处理。

在ArduinoUNO主控芯片上,6路模拟输入A0到A5:每一路具有10位的分辨率(即输入有1024个不同值),默认输入信号范围为0到5V,可以通过AREF调整输入上限。A0、A2、A5接口分别连接光敏电阻、湿度传感器、温度传感器,以便更好地感应外部环境。

Arduino UNO脉冲宽度调制PWM(3、5、6、9、10、11)可提供6路8位PWM输出,系统将窗帘的左右电机分别接在9、10两个引脚上,电机运行稳定。当硬件电路上的感应装置满足不同条件时,与电路所连接的电机开始进行相应的转动,如图2所示。

3 系统软件设计

3.1 Android模块

见图3。

该程序中名为initapp的Activity为程序的入口,判断哪个Activity是入口,只需看哪个Activity包含initapp中的标签即可,其中的内容确定了它是程序的入口。

MainActivity是程序的主界面,几乎所有的工作都在它里面执行及显示,它是与用户交互的窗口。

在MainActivity中我们启动了mainService,它集合了所有蓝牙通讯的操作,在Fragment的onCreateView中执行了大量的界面组件组件初始化以及点击事件监听工作,用户在点击组件时,例如按钮,在未设置监听的情况下,不能按需求响应指定的动作,所以我们要为组件设置监听,对相应的指令做出反应。

3.2 Arduino模块

首先在头文件中调用Servo.h文件,以便于对舵机的操作。将温度、湿度、光强等参数初始化,同时为了更好地操控窗帘,将窗帘状态置为固定状态。之后通过对各种传感器参数、手机发送的指令的判定,使窗帘处于不同状态,电机进行相应的D动。见图4。

程序的主函数通过不断检测缓冲池的数据量的变化,读取手机发送过来的字符,并存储,通过判断所接收的数据的长度和内容,若对应的数据长度为设置工作模式,则调整至相对应的模式。当窗帘调整为自动模式时,系统自动读取各传感器对外界的数值变化做出相应的反应;当窗帘调整为手动模式时,系统通过读取手机发送过来的数据用函数进行处理并做出相应的反应。

4 系统演示

Android界面具有蓝牙开关按钮,用户打开蓝牙按钮后,可以检测手机附近的蓝牙设备,搜索到窗帘的设备与其相连。界面有两种控制模式,用户可以根据自己的喜好来选择手动、自动两种模式。同时,用户可以选择临界温度来更好地操控窗帘,见图5。

5 结论

智能化是人们生活发展的一个趋势,本文基于Android操作平台,设计出一个智能窗帘系统。系统针对传统窗帘的弊端,通过对外界环境的监测与处理以及用户的喜好,实现了窗帘的智能化。通过实验,系统具备智能化程度高、操作简单、应用前景广等特点,达到了预期要求,相信此系统对于人们的生活会提供一些便利。

参考文献

[1]郑君里等.信号与系统[M].北京:高等教育出版社,2013.

[2]郭霖.第一行代码Android[M].北京:人民邮电出版社,2014.

[3]吴爱萍,黄振兴.基于AT89S52的智能窗帘群控系统[J].科技资讯,2007.

[4]向忠宏.智能家居[M].北京:人民邮政出版社,2004.

作者简介

吴昌健(1996-),男,南京工程学院自动化学院。

崔莉(1980-),女,实验师,指导教师。

作者单位

南京工程学院自动化学院 江苏省南京市 211167

上一篇:“互联网+教育”中“慕课”技术的应用 下一篇:生物识别技术在社保领域的应用