FastBond2阶段2-基于ESP32的智能家居窗帘设计
用ESP32控制窗帘的打开和关闭实现进门开窗,出门关窗的功能,利用密码锁的指纹解锁,增加功能,实现进门开窗
标签
嵌入式系统
看风景的人
更新2023-11-03
重庆电力高等专科学校
756

一、项目思路

窗帘是每家每户都会用到的东西,智能家居慢慢融入大众的生活,我目前研究的是一款加入了传感器控制,可实现进出门的同时让窗帘联动,用ESP32主控来控制电机转动,然后通过进出门时给的信号,判断高低电平。

二、方案框图介绍

本次使用得捷的Scheme-it来设计ESP32控制窗帘的框架图,ESP32是使用了FastBond2大赛中要求的厂商的芯片乐鑫科技(Espressif)。

本项目的主要框图,得捷网站链接如下:

https://www.digikey.cn/schemeit/project/detail/bc70696ad67240e79ac6429c3333a291

gHQubVedyIGiwAAAABJRU5ErkJggg==

 三、原理图和PCB介绍

   使用Scheme-it设计了流程图后,使用了KiCad绘制原理图和PCB

Fxo+la2nxnwAAAAASUVORK5CYII=

本次原理图绘制都是本人绘制,其中的元件也都是在KiCad中找到的,每个板块都已经归类,也是很好辨认的。

4E2WOWCEDAAAAAElFTkSuQmCC

本次PCB绘制中各个元件的封装大多数是在其中找到,也有没有找到元件封装,自己画的封装也有可能与实际的元件不匹配,也是遇到的一些问题,后面查找每个元件的参数,设置尺寸,把引脚的距离设置好,也是解决了问题;板子的排版相对比较美观,但后期还是得继续努力。


四、成品展示:

 最开始组装的样子,犹豫工具有限,表面看上有点简陋

IMG_256

进门时,用仿制密码锁的样子,录入指纹表示主人回家,打开窗帘

9

离开家,触发门口的红外,关闭窗帘。

IMG_256

以上是产品的展示


五、代码展示:

这段代码表示步进电机初始化

void setup() {
  const int motor_pin[4]={motor1_A, motor1_B, motor1_C, motor1_D};
  for(int i=0;i<4;i++)
  {
    pinMode(motor_pin[i],OUTPUT);
    }
    pinMode(serson_in,INPUT);
    pinMode(serson_out,INPUT);

}

读取传感器状态,正转,窗帘打开;

读取传感器状态,反转,窗帘关闭;

void loop() {
  volatile bool serson_instate=digitalRead(serson_in);
  volatile bool serson_outstate=digitalRead(serson_out);
  if(!(serson_outstate)){
    delay(2000);
    stepmotor(false,4000,motor1_A,motor1_B,motor1_C,motor1_D);
    }
    else if(!(serson_instate)){
   delay(2000);
      stepmotor(true,4000,motor1_A,motor1_B,motor1_C,motor1_D);
      }
}

以上部分介绍就是代码的核心内容。


六、心得体会:

通过本次参与 FastBond2 阶段2 活动,开发出智能窗帘的过程中有了一些心得体会。

制作这样的一个小东西,让我知道了ESP32的强大功能,众多引脚的分配,让我对电子产品越来越有兴趣

在参与活动的过程中,我学习到了很多关于智能窗帘的知识。接触到电子森林也体会到了电子森林为我们带来的资源如此丰富,在KiCad里面我也感受到了制作原理图的一些便捷,使我们更能节省时间,完成更多的产品。

附件下载
main.ino
智能窗帘代码程序
原理图.kicad_sch
智能窗帘原理图
PCB11.kicad_pcb
智能窗帘PCB
团队介绍
电子技术爱好者
团队成员
李瑞豪
爱好电子技术,积极向上
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号