FastBond2阶段2—用ESP32实现智能门锁
它利用了先进的ESP32芯片和智能密码验证系统,提供了高效、可靠的门锁控制。用户可以通过手机APP轻松操作该密码锁,享受便捷与灵活。此外,FastBond2注重安全性,采用了加密技术和多重验证,确保用户信息和系统的安全。
标签
嵌入式系统
FastBond第二季
wangye
更新2023-10-24
重庆电力高等专科学校
1102

FastBond2阶段2-基于ESP32完成的智能锁


项目介绍:

我所研发的是一个基于ESP32的智能锁项目,整合了多个模块,旨在为整个系统赋予更多的可编辑性和多样性。目前,主要实现了NFC解锁功能,支持使用卡片和手机进行解锁,同时也提供了常见的按键输入解锁方式,其中还结合了防破坏的安全保护系统,通过调整震动传感器的灵敏度可以达到实际需要。

更多信息可查看FastBond2阶段1-基于ESP3的智能锁


PCB和原理图介绍:

流程图初步设计都是由Scheme-it网页绘制,原理图设计在KiCad中进行汇总PCB以及原理图的绘制。

Fo4-oL9kJ10C-fsyYoWEDl84-Zyw

在原理图中我使用的是我自己绘制的ESP32的芯片进行的绘制,其余大多数的元器件都是在其中找到的,该原理图中将各个的功能进行了划分了,将各个的功能在原理图上清晰的呈现了出来,并且将接线的方式也表达的很明显。

FoL9RCIEbb1E6vzWRd_gW-0MaICC

在进行的PCB的绘制中由于没有找到合适的封装于是使用了排母进行了代替,在测量了实际的距离后进行了合适的规划,同时尽可能的让板子的布线更合理一些,在绘制中也有不少的问题,比如布线出了一点问题,导致过孔有时过多的,可能会让效果一点不好,我将vcc和gnd进行的铺铜,可以节约一些的空间。


成品展示:

FhDrTCKdmk-jljC2_7TVpizl9NEr

该板子组织完成后就是这样的,由于没有外壳还没有,外观展示是这样的。

Flx0GkX5jhUJXdKP4_AOt_kM76wF

通过oled进行显示,和反馈各个情况。

Ficw1ACDJ-pplfOxOC9Bv1ge3REU

通过nfc卡可以进行开锁,并且会亮起绿灯体现,而且在oled上会有反馈。

FpO4timEVZMRWQhTygR1D7ss7O4O

在有用不对的卡片打开的情况下也会进行反馈和警告。

FsVvO8V8udWhKK9oq1A3Upy97Jid

并且支持使用按键模块进行输入。


主要代码以及展示:

if(digitalRead(ZD)==0)
      for(a=0;a<4;a++)
      {
        for(b=0;b<200;b++)
      {
      state=!state;
      digitalWrite(FM,state);
      delayMicroseconds(5900);
      }
      delay(1000);
      }

这段代码主要是震动传感器的防破坏系统。

char read_key()
{
  char key[4][3]={
    {'1','2','3'},
    {'4','5','6'},
    {'7','8','9'},
    {'*','0','#'},
  };

  for(int j=0;j<3;j++)
  {
    digitalWrite(col_pin[j],0);
    for(int i=0;i<4;i++)

     if(!digitalRead(row_pin[i]))
     {
      digitalWrite(col_pin[j],1);
      delay(500);
      return key[i][j];
     }

      digitalWrite(col_pin[j],1);
    }
  return NULL;
}

这一段代码这定义按键模块的配置和调用方式。

if (rfid.PICC_IsNewCardPresent() && rfid.PICC_ReadCardSerial()) 
  {    // 获取卡片UID
    String uidStr = "";
    for (byte i = 0; i < rfid.uid.size; i++) {
      uidStr += String(rfid.uid.uidByte[i], HEX);
    }

NFC模块的主要核心的调用代码和提取出数据的方式。

其中我运用的是单独对其中的模块进行编程,然后就是组装在一起的方法,这种方法让我可以随时将程序根据情况进行编辑。


心得体会:

参与 FastBond2 阶段2 活动,我开发的基于 ESP32 的智能锁,并在这个过程中有了一些心得体会。

首先,ESP32 的强大功能为智能锁的实现带来了很多优势。使得智能锁可以拥有更多的功能,他的众多的引脚也可以给我更多的机会可以融合更多的模块和功能。

在参与活动的过程中,我学习到了很多关于智能锁开发的知识。电子森林为我们提供了丰富的资源和指导文件,帮助我并提供了示例代码和实验指导,在KiCad里面我也可以拥有方便的制作和便捷的使用体验,使我们能够快速上手进行开发。

此外,和其他开发者的交流与合作也是我收获很大的一部分。在活动中,我们共同解决问题、分享经验,相互学习,这极大地拓宽了我的视野,并且激发了我更多的创意和灵感。

 

附件下载
esp32.zip
程序
智能锁.kicad_pcb
PCB
智能锁.kicad_sch
原理图
团队介绍
团队成员
wangye
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号