首页 > 微机单片机 >单片机制作 > 基于ESP8266微控制器的WiFi百叶窗开启器

基于ESP8266微控制器的WiFi百叶窗开启器

来源:互联网发布者:萌面大虾 关键词: 微控制器 WIFI ESP8266 更新时间: 2024/06/04

这是一个使用 ESP8266 微控制器的 WiFi 连接迷你百叶窗开启器。

这个项目的目标是为我的迷你百叶窗构建一个电动开启器,我可以使用 Android 应用程序控制它。第二个动力则是能够让我更多地了解电子硬件和软件开发。我也一直想在一个项目中使用 ESP8266 WiFi 集成微控制器。

我在这个项目中使用的百叶窗是典型的水平迷你百叶窗,一侧的魔杖可以倾斜百叶窗,另一侧的弦杆可以拉起百叶窗。这个项目只处理百叶窗的倾斜。

项目要求

使用 Android 应用打开和关闭百叶窗。

必须能够在没有应用程序的情况下打开百叶窗。

低能耗,仅在主动使用时才必须启用电机。

直观的控制。

必须可靠且安全。

由直流电源供电,没有电池。

百叶窗没有不可逆转的修改。

修改百叶窗

在百叶窗的上部外壳中是一根钢六角形杆,它沿着百叶窗的长度延伸。转动此杆会改变刀片的角度。我有一个步进电机,它安装在这个上部外壳内,几乎与六角形杆对齐。我能够使用联轴器将步进电机连接到杆上。

有一个齿轮箱,只允许通过扭转木棒来旋转该杆。我不得不卸下这个齿轮箱,以便步进电机可以转动杆。我还必须设计一种在电机未通电时保持杆位置的方法。如果没有东西来保持杆的位置,百叶窗的叶片会向下倾斜。

解决方案是以足够的摩擦力固定杆,这样杆就不会移动,除非电机以足够的扭矩旋转以克服这种固定摩擦力。这是通过取一块木头来完成的,该木头有一个孔用于六角杆,一个垂直于杆的螺纹孔用于固定螺钉。在固定螺钉的末端是一块橡胶,当固定螺钉被拧紧时,橡胶塞被压在杆上。通过反复试验,机器螺钉被调整到杆被牢固地固定但没有那么牢固以至于电机难以转动它。

电机用橡胶垫片固定到位。对百叶窗的修改成本不高,并且不需要对外壳进行不可逆转的修改。变速箱很容易拆卸,可以毫无问题地放回原处。

控件

步进电机改变百叶窗的倾斜角度。我用陀螺仪/加速度计传感器来测量叶片的角度;向步进电机提供反馈。我想我可以只跟踪步进电机所采取的步骤来确定位置,但我认为直接感应角度会更可靠。传感器简单地用双面胶带连接到上刀片之一。

我决定在伺服电机上使用步进电机,因为标准伺服在没有变速箱的情况下没有足够的角度行程。我还发现步进电机更容易使用,因为它们不需要精确的计时。我本可以使用带有编码器的直流电机,但这对于这项任务来说似乎过于复杂。

我使用了Pololu A4988 步进电机驱动器和Adafruit BNO055 绝对方向传感器。

电子外壳

在窗户旁边的墙上是一个包含两个界面按钮和电子设备的外壳。步进电机和方向传感器插入此外壳。该项目由插入外壳底部的 12V、3A 开关直流电源供电。

外壳由 3“ x 3” 钢箱梁截面切割而成。我担心钢铁会阻挡 WiFi 信号,不过并没有发现任何问题。

电机和方向传感器的电线隐藏在墙上。我使用屏蔽电缆将 EMI 的影响降至最低。在原型设计期间,步进电机导线的 EMI 导致方向传感器发生故障。

印刷电路板

所有PCB组件都是通孔组件,便于焊接。

主要组成

Adafruit HUZZAH ESP8266 突破

Pololu A4988 步进电机驱动器载体

5V降压稳压器

3.3V降压稳压器

Neopixel LED(背面)

我还创建了一个插入主板的小型调试模块,允许我将 ESP8266 置于引导加载程序模式并访问串行线路而无需取下外壳。

两个板的 gerber 文件和原理图可在此处获得https://gitlab.com/pfjare/wifi-blinds-pcb。

BOM 可在此处获取https://docs.google.com/spreadsheets/d/1uPH0UYzaFl-pABCBGOthaaIexG82jPdf_6R0eSZoJQ4/edit?usp=sharing

ESP8266 代码

在 ESP8266 上运行的代码相当简单。在允许步进电机移动之前,我会采取措施确保方向传感器完全运行。我在代码中使用以下库:

Adafruit_BNO055

Adafruit_Sensor

arduinoWebSockets

Adafruit_NeoPixel

安卓应用

该应用程序与 ESP8266 建立 websocket 连接,并在应用程序未显示时断开连接。当按下按钮时,一条包含所需百叶窗角度的消息将发送到 ESP8266。有四个按钮 Closed Up、Full Open、Part Open 和 Closed Down。

我使用了nv-websocket-client WebSocket 库。

该应用程序的源代码可以在本文下方找到

提问/讨论

这里还没有内容,您有什么问题吗?

我要提问/讨论

推荐帖子 最新更新时间:2024-11-13 08:55

大神帮帮忙
怎样用51的定时器产生1000hz到2000hz的正弦波啊,重点计算过程,小弟查了几天资料,还是做不出来啊,希望大家共同想想办法 大神帮帮忙 不考虑用DA吗? 本帖最后由 huo_hu 于 2014-8-11 22:48 编辑 重点不在频率,你的幅值和变频有什么要求? 还
 十五哥51单片机
什么是 FRAM?
FRAM,亦称为铁电随机存取存储器,是一种将闪存的非易失性与 SRAM 的灵活性和低功耗结合在一起的存储器技术。MSP430 超低功耗微控制器 (MCU) 集成了这项成熟的存储器技术,可为现实应用提供独特优势。 为什么在您的系统中集成 FRAM? 具有接近无限数据
 火辣西米秀微控制器 MCU
关于CreateDIBSection方法,我一次执行成功后,第二次执行失败了
在使用CreateDIBSection后我按msdn上说明的deleteobject由CreateDIBSection创建的HBITMAP对象,然后再一次执行该方法,再执行到CreateDIBSection时,程序退出,没有任何异常表现,有谁碰到过吗? 关于CreateDIBSe
 user8786嵌入式系统
一起分析下这个AD时序
SPI的CPOL=0,CPHA=1,下降沿数据从控制器写入芯片,上升沿数据从芯片读出到控制器。第一个时钟的下降沿写入数据的MSB,之后的上升沿(第二个上升沿)读出数据的MSB。最后一个下降沿写入数据的LSB,最后是不是缺少一个上升沿读出数据的LSB呢? 一起分析下这个AD时序
 gaorz_51单片机
vcredist_x86.exe 每次我一安装都出现这个提示,请问这是怎么回事,该怎么解决?谢谢
vcredist_x86.exe 每次我一安装都出现这个提示,请问这是怎么回事,该怎么解决?谢谢 无法访问 Windows Installer 服务 Windows Installer 没有正确安装时可能发生这种情况。 请与技术支持人员联系以获得帮助。 vcredis
 STORMcDIY/开源硬件专区
模拟/数模混合电路加速仿真技术(一)
模拟/数模混合电路加速仿真技术(一) 【来源:电子工程专辑】【作者:卢振庭、宋磊】【时间: 2006-1-17 8:58:49】【点击: 80】 如今,涉及模拟和数模混合电路的SoC设计日益增多。由于电路规模增大和复杂度提高
 fighting模拟电子

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

EEWORLD 电路图 站点相关: 下载中心 Datasheet 参考设计

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved