简单几步:用Arduino改造废旧风扇-实现手机控制(简单智能家居)

TonyCode 2018-08-07

Hello,我起爱的伙计们,好久不见了。已经两个多月没有更新文章了,看到大家还在,鄙人心里是十分的感动啊!

由于前段时间在忙一些项目(搞不好要蹚一下智能家居的浑水),最近呢又忙着给我的学员备课(关于网络安全编程的,感兴趣的可以讨论一下)一直没来更新文章,对于私信也都没来得及回。

还请伙计们海涵!鄙人不周到之处还请恕罪恕罪...

现在“智能家居”这个词是很火热,各大厂家也都纷纷推出了自己的产品,那作为平民的我们,买的时候还是会考虑一下,家里的老设备,食之乏味弃之可惜,那能不能改装一下呢?

没错,答案是能,而且很简单(要求不复杂的情况下),我们今天就来实现改造一台废旧的风扇。原理也简单,代码也简单。

上演示视频:

视频加载中...

如果亲爱的伙计们,你们感觉有意思的话,那么这篇文章可以继续看下去了。

做一些简单的实验,可以让没入门的小兄弟感受到创客的奇妙,说不定就进了改造世界的坑了呢~

准备工具:

arduino nano(其它型号也行)

bth蓝牙模块(推荐HC-05)

跳线若干

继电器模块 *n个

arduino扩展板(最好有)

Android手机

Amarino蓝牙调试助手

设计初衷:

有伙计可能问,你改造啥不好,偏偏改造这么个玩意。

其实呢,前段时间回老家。我母亲跟我讲,家里的风扇坏掉了,天热了,你看看能不能找人去修理一下子。

要换做现在的年轻人,那没得说。破风扇还修啥?开空调多好,不行买个新的也行啊。

可我老母亲,简朴了一辈子,省点钱都是为了儿女,这么热的天也就开个风扇。一时心酸,我就回答道,不用了,这点小事我来就行了,找人修还得花钱。

于是就有了今天的文章。

拆卸分析:

把风扇拆开之后,测了测电路板,推断应该是电容不行了。家里又没有,淘宝一个吧又不值当的,一想,抽屉里还有几块arduino的开发板,还有几个继电器没用,那合得来了,改装一下吧。

简单几步:用Arduino改造废旧风扇-实现手机控制(简单智能家居)

当然,如果你的风扇的PCB板子不是这样的也没关系,找到关键点就行,其实都差不多构造。

板子上有四个点,分别对应着高中低四个风速以及一个摆头。

简单几步:用Arduino改造废旧风扇-实现手机控制(简单智能家居)

虽然电容坏掉了,但如果直接把风扇的电源接到上图四个点上,风扇同样可以工作。那这就放心了,直接在这几个点与电机的连接上加一个继电器不就可以控制了嘛。

继电器:

简单几步:用Arduino改造废旧风扇-实现手机控制(简单智能家居)

继电器模块

这里我们再来补充一下关于继电器的一些小知识:

继电器输出端:

1、NO: 继电器常开接口,继电器吸合前悬空,吸合后与COM短接

2、COM:继电器公用接口

3、NC: 继电器常闭接口,继电器吸合前与COM短接,吸合后悬空

因为继电器里面是线圈,是通过上电后吸合来来控制导通的,所以我们可以用单片机供给高低电平来控制。

继电器上的IN:接收单片机管脚传来的高低电平,高或低电平控制继电器吸合。

高低电平触发选择端:

1、跳线与LOW短接时为低电平触发;

2、跳线与HIGH短接时为高电平触发。

接线:

简单几步:用Arduino改造废旧风扇-实现手机控制(简单智能家居)

(接线图)

以上是花的草图,大体上表示的就那么个意思。

注:

由于继电器有常开常闭两个端,且有一端通电导通,我们的风扇由于考虑到控制问题所以接常开,上电才能工作。

其次,继电器不能全部导通,比如我们要调到抵挡的风速,那么中高档的继电器需要断开,否则容易烧坏风扇,其它档位同理。

继电器说完了,接下来就是arduino跟蓝牙串口通讯了。

串口通讯:

简单几步:用Arduino改造废旧风扇-实现手机控制(简单智能家居)

(连接HC-05)

由于Arduino跟蓝牙模块的通讯是串口模式,所以arduino的RX/TX要接蓝牙模块的TX/RX(注意是反着的)

然后就是arduino串口读取蓝牙模块串口的数据了,这里我们用到Serial.available() 这个方法:

void setup(){

Serial.begin(9600); //设置波特率

}

void loop(){

while(Serial.available()) //接收来自蓝牙模块的数据

{

data = Serial.read(); //读取数据

Serial.print(data); //打印数据

}

}

一个简单的串口通讯程序就写出来啦,是不是很简单。

接下来我们说几个常见的函数做拓扑就直接上代码了。

pinMode() //定义管脚输入输出

digitalWrite() //控制管脚输出高低电平

注意:由于单片机的引脚有的加了上拉,所以初始状态下,不一定都是低电平(导致都是低电平效果有的继电器导通,有的不导通),这个自己测试。

代码:

简单几步:用Arduino改造废旧风扇-实现手机控制(简单智能家居)

(上部分)

简单几步:用Arduino改造废旧风扇-实现手机控制(简单智能家居)

(下部分)

我们将代码通过arduinoIDE烧录上去之后,然后用安卓手机打开蓝牙调试工具(这个随便下载一个即可)推荐Amarino挺好用的。

简单几步:用Arduino改造废旧风扇-实现手机控制(简单智能家居)

(Amarino蓝牙助手)

然后连接蓝牙模块(HC-05默认的密码为:1234),之后就发送ABCDE来测试效果就OK了。

测试:

简单几步:用Arduino改造废旧风扇-实现手机控制(简单智能家居)

简陋的APP

顺便自己写了一个简陋的APP来控制,效果还是可以的,我这边一天24小时运行,开了好多天了。稳定性不错!

后续:

有些人很不待见arduino这个平台,这里简单表示下鄙人的看法。作为一个新兴的平台,我觉得arduino的存在是很好的,它十分轻便容易上手,在一些企业产品的架构阶段,有很多人都喜欢用arduino来实现功能。

毕竟现在市场竞争越来越大,很多中小企业追求的是产品开发上架的速度,如果把握不好,很可能就被别人抢占市场。再加上现在的很多芯片厂商都喜欢跟arduino沾点边,一些厂商直接标识“支持arduino编程”,可见arduino已经慢慢开始走向台面。

这就跟当年python不受开发者待见一样,未来的发展好坏谁也不能预测,大家喜欢就去深究吧。

相关推荐