6046| 0
|
[求教]UNO 实现 Wiegend RFID读卡头时遇到的问题 |
本帖最后由 windice 于 2013-12-26 18:46 编辑 先声明,虽然是程序员(虽然不是大牛,但自认有些水平,大大小小也建了几十个站点,处理过实时Lv2证券数据),但是电路也就一初中物理的小白水平 发生了什么请看我慢慢码来~~ 主要需求是要由2个刷头头来控制同一个门锁,并且记录是进门时刷还是出门时刷 虽然某宝有现成的控制板,但是太贵了(1K+)而且还有些零零散散奇奇怪怪的需求无法满足,所以打算自己倒腾。 前言到此 =我=是=分=割=线============================================== 总之从最基础的来,买来板子和各种组件,Git去找读卡头的控制库,最终靠着传感器扩展版+Wiegand-Protocol-Library-for-Arduino-master.zip的库,实现了输出。 (随便画的接线,用了Nano的原件图能放的比较大,不浪费版面,其它还有开关门磁用的继电器和开关以及显示输出用的LCD,记录时间的时钟等模块就不画了) 我得意的笑~{:3_52:}意的笑~{:3_52:} 第二个读卡头不是收到擒来吗?打开wiegnd库文件,把D0(黄色)和D1(白色)的针脚定义从静态的2/3,改成可配置的动态变量,代码在初始化时分别设置 S1(2,3),S2(7,8); update,上电,刷卡..........NO~~~二号头读不到东西啊~为什么~~ 一定是代码问题,.......没错,看.cpp和.h去.........
这是什么。。e文不好,看不懂,不过直觉告诉我,一定是这边有问题。万能的google~~~ 什么什么。。。我看看我看看~~ 外部中断?什么玩意?读数据用的?不管了,只要知道是干什么的就可以了,既然0,1能读,那么还2,3不就好了吗?。。。等等。。。为什么是0和1,明明让我接2和3的啊,这数字是怎么来的???万能的google~~~ http://arduino.cc/en/Reference/AttachInterrupt 我的天~~~Uno, Ethernet只有一组可以引起中断的针脚,只有2,3~摔那我玩什么啊~ =头=脑=冷=静=一=下=============================================== 冷静了2天的我突然发现,既然我能从按钮那边读取到信号,那么我在加上一个标志位,在中断的时候读取标志不就好吗,于是又开始敲打代码
在中断时读取2个针脚的电平信号 然后update,上电,刷2号头~输出A1st=0,A2St=1 ,哈哈哈哈~~~成功了~~成功啦~~~哈哈哈哈 ~~~让爷多玩几次, 刷1#~A1st=1,A2St=0 刷2#~A1st=0,A2St=1 刷1#~A1st=1,A2St=0 刷2#~A1st=0,A2St=1 刷1#~A1st=1,A2St=0 刷2#~A1st=0,A2St=1 刷1#~A1st=1,A2St=0 刷2#~A1st=0,A2St=1 刷1#~A1st=1,A2St=1 刷2#~A1st=1,A2St=1 刷1#~A1st=1,A2St=1 刷2#~A1st=1,A2St=1 怎么回事,怎么2个识别针脚都有电了。。。 我抓耳朵啊~~~我挠腮帮子啊~~~我看着电路想破头啊。。。 啊,用D1(白色线)做识别的 1St(紫色)和2St(棕色) 是在一个回路里,估计是逆流之类的了。。。知道问题以后就。。。。就没办法啦~~ ========================================================================== 重点来啦。实现目标的原理我是懂啦,但是怎么去实现他,知识量有些捉急啊~~~,我想想法整理如下 1.1#,2# 的D1分出一条信号到4,5针脚,用来区分设备 2..由于D1共用 3号针脚,任意D1有信号后都影响到了用来做标记的4,5针脚。 3.怎么让 某D1有信号时切断另外一条D1的链路 4.数字针脚AX怎么用,能实现这种需求吗?或者有没有基于数字针脚来实现Wiegend26读卡头的库的 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed