脑洞大开 怎样自制电动窗帘

2022-08-19 科技 90阅读
寒假接触了Arduino,做了个“智能窗帘”,发个帖把整个过程写下来,各位觉得有帮助就最好啦!
一、分析目的及流程
我想做的“智能窗帘”就是要实现一个功能——清晨能自己拉开,傍晚能自己拉住,简单实用。
大致的过程就是:
收集光敏电阻采集到的光强数据;
判断是否需要打开电机,并确定电机转动方向。
至于为什么不做个APP在手机上,是因为个人比较认同“智能手机并不是未来智能家居系统的核心”的说法。[我才不会说是因为我不会]
二、准备材料
要实现这个功能,材料方面包括:外加电源(5V以上)、光敏电阻、直流电机、L293D(H桥)和一些电阻、跳线。
三、动手实现
1.编写程序
在东西回来之前,先把程序写了,源码如下:
[C] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66




int enablepin=11;
int in1a=4;
int in2a=7;
int photocellPin = 2; // 光敏电阻接口
int photocellVal = 0; // 光敏输出值初始化
int curtainState = 0; //窗帘初始为拉开
int i=0,j=0;
void setup() {
//pinMode(ledPin, OUTPUT);
pinMode(enablepin,OUTPUT);
pinMode(in1a,OUTPUT);
pinMode(in2a,OUTPUT);
digitalWrite(enablepin,LOW);
Serial.begin(9600);
}

void loop() {
//串口输出读到的光敏输出模拟值
photocellVal = analogRead(photocellPin);
Serial.print(photocellVal);
Serial.print(" ");
// 光线不足且窗帘没拉
if (photocellVal< 80 && curtainState==0)
{
i++;
Serial.println(i);
// delay(2000);
}
//当光线不足超过15分钟时,关闭窗帘
if(i > 10 && curtainState == 0)
{
digitalWrite(in1a,LOW);
digitalWrite(in2a,HIGH);
digitalWrite(enablepin,HIGH);
Serial.print("i=");
Serial.print(i);
Serial.println(" fan zhuan,close the curtain");//反转拉上窗帘
delay(4000);
digitalWrite(enablepin,LOW);
curtainState = 1; //窗帘拉上
i=0;
}
// 光线充足且窗帘拉上
if (photocellVal >300 &&curtainState == 1)
{
j++;
Serial.println(j);
}
if(j > 10 && curtainState == 1){
digitalWrite(in1a,HIGH);
digitalWrite(in2a,LOW);
digitalWrite(enablepin,HIGH);
Serial.print("j = ");
Serial.print(j);
Serial.println(" zheng zhuan,open the curtain");//正转拉开窗帘
delay(2000);
digitalWrite(enablepin,LOW);
curtainState=0;
j=0;
}
delay(2000);
}

按图1、2所示连接各元件;
放张实物图:
连接完成后,再检查一遍电路。
3.烧写测试
手动改变光照强度,可从串口监视器中看到当前光强的准确值:
当光照小于80的次数多于10次(模拟实际使用中光线不足长达X秒)时,可以看到电机反转;大于300的次数多于10次(同理)时,看到电机正转,与预期一致,试验成功。
四、总结
本次尝试并没有将其用在真正的窗帘上,原因在于电机与窗帘之间的连接问题没有解决。本来的想法是用像自行车车链类似的齿轮连接电机和窗帘的一端,苦于一直没有找到可以试验的东西,所以仅用电机的正转反转来代表窗帘的拉开与关闭。关于这个问题各位朋友有好的建议的话可以一起讨论讨论。

360截图20160227134401319.jpg (60.15 KB, 下载次数: 14)
图1 光敏电阻的连接

360截图20160227134950564.jpg (97.88 KB, 下载次数: 15)
图2 H桥的连接

360截图20160227140855744.jpg (123.53 KB, 下载次数: 23)
实物图

串口.png (56.64 KB, 下载次数: 26)
串口监视器的数据
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com