首页 > 微机单片机 >单片机制作 > 基于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-21 19:09

Altium Designer 输出哪个文件给商家做板子?
本帖最后由 五加一等于六 于 2014-7-10 23:13 编辑 楼主第一次画板子,板子已然画好了,不知道输出那个文件给商家做板子?刚刚在淘宝上通过旺旺问了下老板,估计也是打酱油的,他也不太清楚,还望各位大侠给小弟指点指点,楼主用的额Altium Designer 6.
 五加一等于六PCB设计
堆叠技术
由于微型化以及性能发展趋势,设计者们一直努力在最小可能的空间内实现最高可能的电子产品的功能与性能。而典型的两大限制因素分别是:集成水平和I/O焊点的限制。硅片在空间和连接上的限制可在两个层次上得以解决。一是在芯片上通过编程压缩实现更高的集成性。二是通过多芯片堆叠、堆叠封装或者板
 oych1017嵌入式系统
菜鸟求51单片串口编程中断方式发送字符串代码!!
单片机为51单片机,编程语言为Keil C51 问题如下: 我从串口接收6字节的字符串,然后将其原封不动的发还给源端,因为主程序机时的限制,无法用查询方式发送,必须在串口中断中发送。 问题急待解决,我的代码现在无法解决这个问题,请哪位大侠伸手拉我一把,先在这里谢了。下面是我的串口
 milanmaldini嵌入式系统
【米尔-芯驰D9国产车规级开发板】1、开箱和板子外设芯片介绍、串口保护电路疑问
开发板简介 本次体验的D9开发板是深圳市米尔科技有限公司推出的myd-jd9340开发板,搭配myc-jd9340核心板。 芯驰D9处理器是一款工业级应用芯片,芯驰D9处理器集成了4个ARM Cortex-A55高性能CPU和2个ARM Cortex-R5 DCL
 walker2048汽车电子
私藏资料大公开——数字设计原理与实践
私藏资料大公开——数字设计原理与实践,跟大家一起分享 私藏资料大公开——数字设计原理与实践 去 这篇介绍的比较详细有用,对学习数字设计有很大的帮助,这里总结的很好,有参考价值。
 swx9588DIY/开源硬件专区
12864多级菜单设计
看到网上有个视频,用的是12864做的菜单,很花哨,自己也心痒痒想做一个,收集了 很多关于这方面的东西,但是都是五花八门,没有一个完整的可以共大家参考的程序,所以决定写偏文章供大家参考,希望读者下去自己优化,改进。有什么不足之处还请多多包涵。好了,废话不多说,直接进入正题吧。
 tcvsdonnnie51单片机

 
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