介绍
现如今,智能家居行业发展迅速,得益于物联网和人工智能技术的迭代发展,各类智能家居设备已不知不觉的走进我们的生活中。
今天分享制作的一款遥控控制屋中灯光、风扇(排风机)、加湿器(消防喷头)的产品,是依托于机智云平台制作的设计,旨在带领物联网及智能家居行业初学者制作一款自己的智能设备。
我们在上一篇文章里已经将开发板配置网络了,这篇我们具体来控制设备。
库文件及头文件准备
因为我们这里主要是使用RGB灯的不同颜色代替了是进行LED灯亮还是喷头工作,实际上实现这些功能更加简单,只需要定义相关引脚后,输出高电平或者低电平就可实现相应功能。但我们这里为了使实验现象更加明显,利用RGB不同颜色来表示LED灯和加湿器,在风扇转动部分利用纯粹的供电,这样更有利于理解。
- 更改头文件
将工程文件中simpleTry.ino中的文件的#include <Gizwits.h>
更改成#include “Gizwits.h”
- 移植库文件
我们直接移植RGB有关的库,可以很大的简化我们的开发,大家如果想要了解RGB灯的开发,也可以看一下库文件。
我们将库文件放在:文档–Arduino–libraries中即可
功能实现
- 我门需要引用一些库文件,并且添加RGB LED控制函数
#include "Gizwits.h"
#include <Wire.h>
#include <SoftwareSerial.h>
#include <ChainableLED.h>
ChainableLED leds(A5, A4, 1);
void LED_RGB_Control(byte red, byte green, byte blue)
{
leds.setColorRGB(0, red, green, blue);
}
- 定义管脚类型
pinMode(5,OUTPUT);
pinMode(4,OUTPUT);
pinMode(SDA,OUTPUT);
pinMode(SCL,OUTPUT);
digitalWrite(5,LOW);
digitalWrite(4,LOW);
- 实现功能
通过获取手机APP发送的指令,进行不同的操作,最终实现手机控制风扇转动、RGB LED灯亮灭不同颜色。
bool varR_LED = 0;
if(myGizwits.hasBeenSet(EVENT_LED))
{
myGizwits.read(EVENT_LED,&varR_LED);
if(varR_LED==1)
{
LED_RGB_Control(0,0,100);
}
else
LED_RGB_Control(0,0,0);
}
bool varR_FengShan = 0;
if(myGizwits.hasBeenSet(EVENT_FengShan))
{
myGizwits.read(EVENT_FengShan,&varR_FengShan);
if(varR_FengShan==1)
{
digitalWrite(5,HIGH);
}
else
digitalWrite(5,LOW);
}
bool varR_PenTou = 0;
if(myGizwits.hasBeenSet(EVENT_PenTou))
{
myGizwits.read(EVENT_PenTou,&varR_PenTou);//Address for storing data
if(varR_PenTou==1)
{
LED_RGB_Control(0,100,0);
}
else
LED_RGB_Control(0,0,0);
}
myGizwits.process();
我们现在,就可以按下手机APP的按钮,控制这些设备了。
|