爱科技、爱创意、爱折腾、爱极致,我们都是技术控
您需要 登录 才可以下载或查看,没有账号?立即注册
x
这个想法的背景是家里的大门锁不太好用,是那种老式锁,开锁要拧好几圈还特别难拧,钥匙还是铜的好像,有一次就把钥匙拧断在锁里了。就是这种老式锁,现在估计很少用了
就是这种老式锁,现在估计很少用了
也尝试换新锁。过了一段时间还是很难开,为此我就想用电动的来开锁。开始设想用指纹锁,指纹模块大概好几十块,还要配合单片机开发使用,算算成本有点高。看到网上有人用esp8266wifi模块只需要十几块钱还支持二次开发,这样就省掉单片机的钱了,忍不住买了开发板回来玩玩。
这就是esp8266WiFi模块,有很多家卖的,价格都差不多
这就是esp8266WiFi模块,有很多家卖的,价格都差不多
板子到手后还要进行软件开发,代码方面有很多成熟的例子共我们参考;esp8266默认的是AT指令固件我们用不到, 我用的是lua开发的,要刷nodemcu的固件才能二次开发
nodemcu固件可以在线选择需要的功能,建议参考 大神galaxyzwj这篇文章。
不过lua语言期间版本升级了一次,导致以前的有些语法变了,如果要用在线生成的固件就要学习新版本的语法;我尝试了几个语法之后感觉对新手不太友好。就从网上找了老版本的固件参考 大神chinachenlu
后里面讲的挺详细的,后面还讲了连接阿里云,这个我们以后再说。到现在估计大家都安装好了开发环境,ESPlore应该也会用了,下面就要写程序了。
因为nodemcu固件会造成板子丝印上的引脚编号与芯片里的IO口不一致,所以我们先搞清楚板子上的引脚对应的程序里面的IO口,
IO口对应图
IO口对应图
IO口对应图
门锁动作部分我用的是舵机,一般的小舵机力气不够(门锁太死了),我用的是25kg的舵机,虽然慢了点但是力气是真的大。驱动舵机需要50HZ的pwm波(也就是周期为20ms),8266正好可以满足。舵机可以参考这篇文章 秒懂舵机角度控制原理
舵机参数:工作电压:4.8V-7.2V
角度:90度-180度通用(遥控器90度,单片机180度)
值得注意的是驱动舵机的pwm波要求的是20ms周期内0.5ms-2.5ms才是有效动作,对应的占空比为:2.5%~12.5%;esp8266设置50hz的pwm波时占空比范围是:0-1023来对应占空比(0-100%),对应的有效区间为:25-128,这个可以固定舵机后可以来微调行程,最好用圆舵盘,这样往哪边转都可以。
下面是制作过程:
锁体外壳开个缺口用于穿铁丝
锁体外壳开个缺口用于穿铁丝
锁体外壳开个缺口用于穿铁丝
用的是衣柜的铝管
用的是衣柜的铝管
把圆管捏扁用于固定舵机
把圆管捏扁用于固定舵机
弯好外形后打两个孔用自攻钉固定
弯好外形后打两个孔用自攻钉固定
组装好的外形
组装好的外形
板子的D4就是pin4脚
板子的D4就是pin4脚
供电用的是手机USB充电头
供电用的是手机USB充电头
功能演示 链接家里的WiFi,打开网络助手
链接家里的WiFi,打开网络助手
切换到tcp客户端模式,点击增加填写IP地址和端口号
切换到tcp客户端模式,点击增加填写IP地址和端口号
添加完成后会返回一个ok
添加完成后会返回一个ok
输入一个1发送过去门就开了(3秒后舵机会自动回位)
输入一个1发送过去门就开了
代码分享
|