【小制作】WIFI智能窗帘的制作[通俗易懂]

【小制作】WIFI智能窗帘的制作[通俗易懂]自从之前做了个智能插排后,近期事忙,也就没时间搞新东西(其实是懒),最近老婆说要装个窗帘,突发奇想,要不装个智能窗帘算了,上某宝搜了一下,这玩意还挺贵,后来想想,算了,不如自己开发一个算了,顺便练练手,以后连上我之前开发的控制端,还可以统一控制。

大家好,又见面了,我是你们的朋友全栈君。

        自从之前做了个智能插排后,近期事忙,也就没时间搞新东西(其实是懒偷笑),最近突发奇想,要不搞个智能窗帘算了,上某宝搜了一下,这玩意还挺贵,后来想想,算了,不如自己开发一个算了,顺便练练手,以后连上我之前开发的控制端,还可以统一控制。

        好事多磨,由于手头工具材料有限,很多部件根本没有现成的可以用,只能自己想办法弄,真羡慕那些创客工作室,可以自己3D打印需要的部件,这样更能做出满意的作品,牢骚不说了,有条件要上,没条件自己创造条件也一样要上~~~~

先来说说用到的零件

        首先是装窗帘用的铝材滑轨、滑轮、安装码之类的,这个直接在某宝淘就好,也不是很贵,一般商家都会配一套现成的给你。然后是线材,一些杜邦线,还需要一些长点的细线,用来进行模块控制,我直接用手头上有的跳线用的细线,太细了,容易断,可以用其它的细电线。这里主要是用于实验和方案研究,所以为方便编程和调试,我这里使用的控制板是某宝买的那种小黄板,上面已经焊接了电源和一些led灯,并引出了gpio接口。还有就是电机控制模块,我这里用的是以前智能小车上的L298N。还有就是需要一些亚克力板、同步带、同步轮、18650电池盒、还有就是小车用的那种黄色电机以及M3的螺丝螺母,还有就是手头需要一些必备的工具,小电钻、电烙铁之类的,下面是一些材料的照片。

【小制作】WIFI智能窗帘的制作[通俗易懂]

【小制作】WIFI智能窗帘的制作[通俗易懂]

【小制作】WIFI智能窗帘的制作[通俗易懂]

【小制作】WIFI智能窗帘的制作[通俗易懂]

【小制作】WIFI智能窗帘的制作[通俗易懂]

【小制作】WIFI智能窗帘的制作[通俗易懂]

【小制作】WIFI智能窗帘的制作[通俗易懂]

一、硬件部分

        首先是硬件组装,之前有考虑过小体积的N20减速电机来做动力,后来看了一下同步轮的尺寸,轴径差太远,不好组装,所以用了智能小车的那个黄色电机,接上12V的供电,扭力杠杠的,带动窗帘应该问题不大。其实硬件部分也没啥科技含量,主要的问题在于很多部件没有现成的,需要自己动手做,手头只有亚克力板,凑合用了,由于没有方便的切割工具,切割这种厚的亚克力手都快磨烂了。下面是电机固定的一些亚克力部件。

【小制作】WIFI智能窗帘的制作[通俗易懂]

【小制作】WIFI智能窗帘的制作[通俗易懂]

【小制作】WIFI智能窗帘的制作[通俗易懂]

【小制作】WIFI智能窗帘的制作[通俗易懂]

【小制作】WIFI智能窗帘的制作[通俗易懂]

        电机跟同步轮同步带的固定基本上就靠亚克力板和螺丝,窗帘两端需要装两个带柄的触控开关,用于停止电机,一开始手头没有,用了两个废鼠标上面的拆下来的微动开关,由于触点太小,实验失败。后来还是乖乖淘宝淘了几个换上了,用哥两好(AB胶)和亚克力固定,如下图。

【小制作】WIFI智能窗帘的制作[通俗易懂]

【小制作】WIFI智能窗帘的制作[通俗易懂]

        上面的是失败的,下面的是后来重新买的。还有一个比较难的部件就是动力滑轮,就是跟随同步带推拉窗帘的,这个部件设计了好久,测试了好几个方案效果都不好,一开始用亚克力板黏上滑轮做了一个,因为轨道尺寸不大,使用起来不是太顺畅,后来经过几次反复改造,最终直接用绳子绑上完事了,如果有3D打印的条件就好了,打印一个部件B格会高很多,反正凑合着用吧。

【小制作】WIFI智能窗帘的制作[通俗易懂]

【小制作】WIFI智能窗帘的制作[通俗易懂]

【小制作】WIFI智能窗帘的制作[通俗易懂]

        上面两张是一开始的方案,不过不太好用,后来直接用下面的方式拿绳子绑上固定了,这绳子是不是有点眼熟,没错就是绑粽子用的偷笑,机械部分,大概就是这样了,也没啥好说的,这里主要来说说控制部分。

        控制部分的思路是使用ESP8266模块通过TCP协议接收电脑传输过来的指令,控制L298N来操纵电机的正反转来达到打开关闭窗帘的功能,微控开关主要是告知控制端窗帘是否已经打开关闭完毕,当窗帘到轨道两端后,停止电机。

这里只用到了L298N的两路中的一路,通过控制IN1、IN2的高低电平来控制电机的正反转。ESP8266主要用到四个GPIO口,GPIO3、GPIO4接微控开关,接受停止信号,GPIO12、GPIO13接L298N的IN1、IN2,根据控制指令输出高低电平,电路图如下。

【小制作】WIFI智能窗帘的制作[通俗易懂]

        灵魂画手的图大家凑合看吧,电路也是很简单,先凑合用,以后将电源重新设计一下。以下是实物图。

【小制作】WIFI智能窗帘的制作[通俗易懂]

【小制作】WIFI智能窗帘的制作[通俗易懂]

        控制电路部分也就这样了,因为本身客户端功能也比较简单,主要也就是接受指令执行GPIO控制,就没有再使用单片机进行逻辑处理了,直接使用esp8266的mcu控制,然后剩下的就是代码部分了。

二、软件部分

        这里软件部分就不提供完整的代码了,就将其中用到的一些要点跟大伙提一下,里面用到的代码其实也不复杂,自己上官网或者百度一下,里面涉及到的大部分代码都能找到。

        首先是说说网络控制部分,我这里用的是TCP协议进行通信,服务端用的是有人科技有限公司的串口转网络调试助手,8266客户端配置好连接的服务器IP地址和服务端口后,通过TCP协议与服务端连接,服务端发送指令控制8266的GPIO的高低电平,然后通过L298N模块对电机进行控制。

【小制作】WIFI智能窗帘的制作[通俗易懂]

        里面主要涉及到的技术内容包括网络的配置及连接(可参考乐鑫官网的案例代码)、8266GPIO的输出及输入状态的获取技术(可参考本人之前整理的《关于ESP8266 GPIO中断使用的总结》文章,里面涉及到了这方面的内容)、定时器的使用(乐鑫官网网络连接代码里面涉及到了这一部分内容,并结合官方的SDK开发文档)、L298N的控制(没啥好说的,度娘很多资料)

        这里说一下软件开发中遇到的一些问题,由于本人连接网络部分参考了官方的案例代码,代码中使用了定时器来获取连接,本来微动开关控制部分打算用中断来实现的,测试发现单独使用中断没有问题,但是集成到我的代码里面后,一直没法正常工作,不知道是不是跟里面的定时器有冲突,后来也改用了定时检测的方式来做,虽然做法不是太优雅,但是也算实现了功能,日后再做测试改进,其它的就真的没啥了,倒是双手割亚克力板割得痛不欲生。


有兴趣的朋友也可以加入企鹅群(254267969)一起学习讨论。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/152465.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Spring AOP 详解

    Spring AOP 详解

  • 维度建模——数据仓库初步[通俗易懂]

    维度建模——数据仓库初步[通俗易懂]本文是《维度建模》后续文章的基础。我们首先从宏观层面上考察数据仓库和商业智能(DataWarehousingandBusinessIntelligence,DW/BI)系统。DW/BI系统首先应该仔细考虑的问题是业务需求。《维度建模》系列文章将紧紧抓住业务需求这一要点,逐步深入探讨逻辑设计、物理设计以及采用有关技术和工具的决策等问题。本文将详细考察数据仓库及商业智能的主要目标,辨析DW/…

  • ROC及AUC计算方法及原理「建议收藏」

    ROC及AUC计算方法及原理「建议收藏」1.非均衡分类问题在大多数情况下不同类别的分类代价并不相等,即将样本分类为正例或反例的代价是不能相提并论的。例如在垃圾邮件过滤中,我们希望重要的邮件永远不要被误判为垃圾邮件,还有在癌症检测中,宁愿误判也不漏判。在这种情况下,仅仅使用分类错误率来度量是不充分的,这样的度量错误掩盖了样例如何被错分的事实。所以,在分类中,当某个类别的重要性高于其他类别时,可以使用Precison和Recall多个比…

  • python 多进程 提高运行效率

    python 多进程 提高运行效率

    2021年11月10日
  • curl源码编译安装

    curl源码编译安装平台:Ubuntu20方法一:apt-get使用内置的apt下载工具进行安装,sudoapt-getinstallcurl方法二:从官网下载压缩包在官网可以找到curl的多个版本,http://curl.haxx.se/download/wgethttps://curl.haxx.se/download/curl-7.55.1.tar.gztar-xzvfcurl-7.55.1.tar.gzcdcurl-7.55.1./configurema

  • word-wrap同word-break的区别

    word-wrap同word-break的区别

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号