littlebot
Published on 2025-04-03 / 3 Visits
0

【源码】基于ESP8266的窗帘电机控制器项目(Chaos Blinds Motor)

项目简介

本项目实现了基于ESP8266 MCU的窗帘电机控制器,用户可通过通用红外遥控器手动控制窗帘开关,也能借助HomeAssistant网关远程遥控窗帘。与传统产品相比,该项目成本低、完全开源且教育性强。

项目的主要特性和功能

  • 成本低:零部件采购与3D打印外壳总成本低于50元,是市售商品的1/4 - 1/5。
  • 完全开放:电路、代码及外壳CAD模型全开源,零部件均可在市面采购,可随意修改添加新功能。
  • 教育性强:结构简单,适合亲子动手DIY。
  • 远程控制:支持通过HomeAssistant网关进行远程控制。
  • 手动控制:支持通过通用红外遥控器进行手动控制。

安装使用步骤

1. 硬件组装

  1. 按接线图用杜邦线连接各部件,测试功能正常后拆线继续组装。
  2. 用4枚M3x4的沉头自攻螺丝将NodeMCU板背面朝上固定在外壳内,使MicroUSB口卡在底部长方形开孔中。
  3. 用热熔胶将DRV8833模块固定在NodeMCU背面靠近MicroUSB口处。
  4. 用4枚M3x6的沉头螺丝将减速电机固定在外壳上。
  5. 按接线图用杜邦线连接各部件,用塑料扎带捆好塞在外壳中。
  6. 用4枚M3x12的沉头自攻螺丝将背板固定在外壳上。
  7. 将拉珠牵引轮安装到电机轴上,挂上百叶窗拉珠后找合适安装位置和角度,确保拉珠绷紧不缠绕且升窗器可自由滑入滑出背板固定片,标记位置角度。
  8. 用膨胀螺丝或3M厚双面胶将背板固定片固定在标记处,拉珠套在升窗器牵引轮上,将升窗器插入背板固定片固定好。
  9. 从MicroUSB口接入5 - 7.2V外接DC电源,电压越高窗帘升降速度越快。

2. 固件编译与上传

  1. 在Visual Studio Code中安装PlatformIO IDE插件。
  2. 打开仓库目录,默认USB串口上传,若使用ArduinoOTA无线上传需修改platformio.ini解开相关设置前的注释。
  3. 使用PlatformIO的Upload命令(默认快捷键Ctrl + Alt + U)编译上传固件代码。

3. 网络配置

初次上电后等待5秒,用手机搜索形如ESP - xxxxxx的热点并连接,自动跳出无线和MQTT配置界面,填写无线SSID和密码、MQTT服务地址、端口、登录用户名和密码后保存关闭,升窗器将自动连接无线热点及对应的HomeAssistant服务。

4. 行程校准

  1. 遥控器左右键强制控制电机运动,正常左键升起右键放下,按OK键电机停止。若运动方向相反,顺序按遥控器的0、#两个键设置电机反向运动。
  2. 控制电机使百叶窗到完全打开位置,顺序按0、1两个键保存该位置;再让百叶窗到完全关闭位置,顺序按0、3两个键保存该位置,行程校准完成。

5. 使用方法

  • 遥控器上键:百叶窗完全打开
  • 遥控器下键:百叶窗完全关闭
  • 遥控器OK键:停止电机
  • HomeAssistant服务连接成功后,可在Web或手机App中进行相同控制,也能在HomeAssistant中用自动化规则定时开关百叶窗。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】