来看看单片机学生有多卷,基于esp32的简易宿舍开门神器
相信很多人都有忘带钥匙的经历,我也经常看到有同学因为忘带钥匙而不得不在宿舍门口当门神。在入门了esp32后,自然而然地就想利用这款集成了wifi和蓝牙还便宜的芯片解决这个生活中的痛点~
这个应该很多人都做过,我看过有用arduino开发板结合射频模块做的,有用stm32做指纹的,甚至还有做人脸识别的。可以说八仙过海,各显神通了。
我的方案就没啥技术了(太菜了~)
开门具体方案是用esp32控制一个12V减速电机拉动扶手(试过舵机,拉不动~)
一.所需材料:
1.esp32-Wroom开发板(20元左右)
2.12v双路继电器(6块钱)
3.升压模块(3块钱)
4.面包板(3元)
5.12v直流减速电机(13元)
6.充电宝(容量越大越好)
(杜邦线若干,电烙铁等常见工具)
二.原理
一开始我是想用esp32跑个web局域网页开门和RC522刷卡开门,但是功耗和稳定性感人~
于是把wifi改用蓝牙了,发现传统蓝牙功耗感人~
改用BLE低功耗蓝牙,发现功耗依旧感人,于是把刷卡开门功能阉了~
esp32作为主控,通讯方式为BLE低功耗蓝牙,手机端连接至服务端并向服务端发送信息,服务端接收到信息后执行开门代码,控制电机开门。
完整的原理图
需要注意的是我这里是用充电宝供电,所以尽可能降低功耗来增加续航。
关于电机控制,我试过用L298n来控制,失败了(理论上是可以的,不知为什么),后来用双路继电器来控制正反转原理如下图
关于电机我采用的是25GA370直流减速电机(12v60转每分钟),淘宝上一搜就能看到。实测下来扭力说是够了但缺点是转的太慢了~电机长这个样子~
三.代码:开发环境是arduino
[code]
int Buzzer = 5; //GPIO5蜂鸣器,提示音
long int ww = 0;
/**********************舵机***************************************************/
void servo(){
digitalWrite(2,HIGH);
delay(12500);
digitalWrite(2,LOW);
digitalWrite(Buzzer, 1);
delay(1000);
digitalWrite(Buzzer, 0);
delay(2000);
&n