极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 37494|回复: 25

基于arduino的门禁系统。

[复制链接]
发表于 2012-11-23 17:42:28 | 显示全部楼层 |阅读模式
本帖最后由 cnkids 于 2012-11-23 17:44 编辑

协会要换锁,上门禁系统,{:soso_e135:}{:soso_e135:}找不到人焊锁。。囧囧的。。

使用的材料有:
电机锁 x1
MANGO x1
RFID读卡模块 x1
ID卡 若干
直流稳压电源板 x1
DC-DC固态继电器 x1

先来几张图~{:soso_e147:}{:soso_e147:}








上视频,不是很长,基本演示了一下功能。


贴个程序,有兴趣的一起研究哈~
  1. #include <EEPROM.h>
  2. #define EEPROM_write(address, p) {int i = 0; byte *pp = (byte*)&(p);for(; i < sizeof(p); i++) EEPROM.write(address+i, pp[i]);}
  3. #define EEPROM_read(address, p) {int i = 0; byte *pp = (byte*)&(p);for(; i < sizeof(p); i++) pp[i]=EEPROM.read(address+i);}

  4. const int ENPin = 2; // the number of the EN pin
  5. int ENState = 1; //default EN state was HIGH
  6. int lock = 3;

  7. void setup()
  8. {
  9. Serial.begin(9600);
  10. pinMode(ENPin, INPUT);
  11. pinMode(lock,OUTPUT);
  12. digitalWrite(lock,LOW);
  13. }
  14. void loop()
  15. {
  16. unsigned long ID = 0; //define a string variable
  17. unsigned long IDR = 0;
  18. for(ENState = digitalRead(ENPin) ; ENState == LOW && Serial.available() > 0; ) // read the state of the EN value,check if the EN is LOW,the output the data.
  19. {
  20. ID = ID * 10 + int(Serial.read()-'0'); //read the number from IDcard
  21. delay(2);
  22. }
  23. if(ID != 0) //if comdata gets the IDcard number,show it
  24. {
  25. Serial.println(ID);
  26. for(int addr = 0; addr <= 1020; addr = addr + 10)
  27. {
  28. EEPROM_read(addr, IDR);
  29. if(ID == IDR)
  30. {
  31. digitalWrite(lock, HIGH);
  32. delay(1000);
  33. digitalWrite(lock, LOW);
  34. delay(20);
  35. Serial.println("Welcome!"); break;
  36. }
  37. }
  38. if(ID != IDR) Serial.println("Sorry,you are not allowed!");
  39. ID = 0; //clean the comdata
  40. }
  41. }
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1 +1 收起 理由
幻生幻灭 + 1 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2012-11-23 17:52:23 | 显示全部楼层
抢沙发抢沙发,笑看2楼lu~~~~
回复 支持 反对

使用道具 举报

发表于 2012-11-23 18:09:36 | 显示全部楼层
好东西,应用不错啊!
回复 支持 反对

使用道具 举报

发表于 2012-11-23 18:19:49 | 显示全部楼层
不错啊,最增加个自动开锁后,将门弹开功能就绝了,
回复 支持 反对

使用道具 举报

发表于 2012-11-23 18:37:00 | 显示全部楼层
不错啊   实用
回复 支持 反对

使用道具 举报

发表于 2012-11-23 18:37:56 | 显示全部楼层
请问一下   那块板子后面的铜皮是怎么去掉的 ??
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-11-23 18:49:37 | 显示全部楼层
小黑 发表于 2012-11-23 18:37
请问一下   那块板子后面的铜皮是怎么去掉的 ??

热转印+腐蚀~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-11-23 18:49:56 | 显示全部楼层
pww999 发表于 2012-11-23 18:19
不错啊,最增加个自动开锁后,将门弹开功能就绝了,

加一个弹簧什么~考虑看看
回复 支持 反对

使用道具 举报

发表于 2012-11-23 18:52:19 | 显示全部楼层
cnkids 发表于 2012-11-23 18:49
热转印+腐蚀~

哦  雕刻行不    感觉那样来的更快啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-11-23 19:17:29 | 显示全部楼层
小黑 发表于 2012-11-23 18:52
哦  雕刻行不    感觉那样来的更快啊

买不起雕刻机。。。
回复 支持 反对

使用道具 举报

发表于 2012-11-23 21:12:51 | 显示全部楼层
这是上次的那个刷卡机程序,改过来的吧》?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-11-23 22:39:24 | 显示全部楼层
pww999 发表于 2012-11-23 21:12
这是上次的那个刷卡机程序,改过来的吧》?

嗯,那时候写的程序就是为了搞这个~
回复 支持 反对

使用道具 举报

发表于 2012-11-24 16:54:42 | 显示全部楼层
这个真不错,感谢分享
回复 支持 反对

使用道具 举报

发表于 2012-11-26 23:21:10 | 显示全部楼层
嗯,好东西,呵呵
回复 支持 反对

使用道具 举报

发表于 2013-4-28 09:59:39 | 显示全部楼层
你这个直流稳压电路是怎样的?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-30 10:46 , Processed in 0.047291 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表