【小制作】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)


相关推荐

  • QQ群关系数据库处理

    QQ群关系数据库处理1.附加数据库1EXECsp_attach_single_file_db@dbname='GroupData1_Data',@physname='/media/

  • python的学生信息管理系统_学员信息管理系统设计

    python的学生信息管理系统_学员信息管理系统设计一.系统需求使用面向对象编程思想完成学员管理系统的开发,具体如下:系统要求:学员数据存储在文件中系统功能:添加学员、删除学员、修改学员信息、查询学员信息、显示所有学员信息、保存学员信息及退出系统等功能。程序文件如下:程序入口文件:main.py学员文件:student.py管理系统⽂文件:managerSystem.pymain.py#1.导入managerSystem模块frommanagerSystemimport*#2.启动学员管理系统if__name__

  • 光棍节程序员闯关秀(总共10关)

    光棍节程序员闯关秀(总共10关)程序员闯关大挑战:https://1111.segmentfault.com/仓鼠演示7k7k、4399小游戏:http://cdn.abowman.com/widgets/hamster/ha

  • [数据库] 一文搞懂case when所有使用场景「建议收藏」

    [数据库] 一文搞懂case when所有使用场景「建议收藏」前几天,为了给产品分析当前用户数据结构,写sql的时候使用到了casewhen,今天来总结一下casewhen的使用方法,以此为戒,感觉写的不好请拍砖,感觉写的还可以,给哥们点个赞,或者回复一下,让我意识到我不是一个人在战斗,好了废话不多说了,进入正题。关于casewhen的使用情况,我总结下来有三种,第一、等值转换,第二、范围转换,第三、列转行操作。等值转换咱们在设计数据库的…

  • win10游戏运行库合集(游戏运行库合集有什么用)

    大家好,今天给小伙伴们带来几套最新的微软常用运行库,解决多数程序莫名崩溃、游戏闪退问题。如果你遇到了莫名其妙的系统崩溃、无法判断或无法复现的win系统闪退崩溃等问题,或者你看见过以下画面:总之就是缺文件,打不开,当然,按照它的建议重新安装程序也是没什么卵用的。那么,把今天这个包里的东西,都安装一边,肯定100%解决问题!咱先说说原因。微软提供了大量的封装函数功能,让开发者们不需要再编写这些函数,在程序运行时直接调用就好了。但许多绿色或者简化的系统、软件、游戏为了..

  • mpu9250输出的数据是啥(r语言读取excel数据)

    MPU9250对初始数据的读取1.mpu9250介绍MPU9250是一款9轴运动跟踪装置,他在小小的3X3X1mm的封装中融合了3轴加速度、3轴陀螺仪、3轴磁力计以及数字运动处理器(DMP)并且兼容MPU6515。其完美的I2C方案,可直接输出9轴的全部数据。因此它也是四轴姿态解算的基础,所以正确获取MPU9250的原始数据显得尤为重要。注意:1.但…

发表回复

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

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