Как подключить Rfid-Считыватель к Arduino? Не считывает...

использование и разработка плат расширения

Как подключить Rfid-Считыватель к Arduino? Не считывает...

Сообщение Pegaseg » 28 июл 2013, 07:22

Здравствуйте. Не могу заставить работать RFID-считыватель, подключенный к Arduino...

Есть следующий комплект:
1. Arduino Mega 1280: http://www.aliexpress.com/item/for-Ardu ... 46998.html
2. RFID-считыватель RDM630: http://www.alibaba.com/product-gs/52904 ... _2KHz.html
Спецификации на этот считыватель в PDF можно посмотреть здесь: http://www.seeedstudio.com/depot/datash ... -Spec..pdf
3. RFID-карты на 125 кГц: http://devicter.ru/goods/EM4100-125kHz-RFID-Card

Подключаю RFID-считыватель к Arduino как написано здесь: http://www.instructables.com/id/Twitter ... eeed-RFID/
и здесь: http://www.instructables.com/id/Arduino ... dio/#step1

RFID -> Arduino:
Pin 1 -> 2 (цифровой)
Pin 2 -> 3 (цифровой)
Pin 4 -> GND
Pin 5 -> +5V

Изображение

Скетч следующий:

Код: Выделить всё
/* Modified from
* Crazy People
* By Mike Cook April 2009
* An RFID reader outputing 26 bit Wiegand code to pins:-
* Reader attached to Pins 2 & 3
* Interrupt service routine gathers Wiegand pulses (zero or one) until 26 have been received
* Then a string is sent to Serial
*/
volatile long reader1 = 0;
volatile int reader1Count = 0;
void reader1One(void) {
         reader1Count++;
         reader1 = reader1 << 1;
         reader1 |= 1;
}
void reader1Zero(void) {
         reader1Count++;
         reader1 = reader1 << 1;
}
void setup()
{
         Serial.begin(9600);
         // Attach pin change interrupt service routines from the Wiegand RFID readers
         attachInterrupt(0, reader1Zero, RISING);//DATA0 to pin 2
         attachInterrupt(1, reader1One, RISING); //DATA1 to pin 3
         delay(10);
         // the interrupt in the Atmel processor misses out the first negitave pulse as the inputs are already high,
         // so this gives a pulse to the reader input line to get the interrupts working properly.
         // Then clear out the reader variables.
         // The readers are open collector sitting normally at a one so this is OK
         for(int i = 2; i<4; i++){
                 pinMode(i, OUTPUT);
                 digitalWrite(i, HIGH); // enable internal pull up causing a one
                 digitalWrite(i, LOW); // disable internal pull up causing zero and thus an interrupt
                 pinMode(i, INPUT);
                 digitalWrite(i, HIGH); // enable internal pull up
         }
         delay(10);
         // put the reader input variables to zero
         reader1 = 0;
         reader1Count = 0;
}
void loop() {
         if(reader1Count >=26){
                 int serialNumber=(reader1 >> 1) & 0x3fff;
                 int siteCode= (reader1 >> 17) & 0x3ff;
                 Serial.print(" Reader 1:");
                 Serial.print(reader1,HEX);
                 Serial.print(" ");
                 Serial.print("Reader 1 converted to DEC:");
                 Serial.print(reader1& 0xfffffff);
                 Serial.print(" ");
                 Serial.print("siteCode:");
                 Serial.print(siteCode);
                 Serial.print(" ");
                 Serial.print("serial number:");
                 Serial.println(serialNumber);
                 reader1 = 0;
                 reader1Count = 0;
         }
}


В итоге в мониторе COM-порта (в независимости от того какую карту я прикладываю к антенне) выводится следующий текст:
Reader 1:0 Reader 1 converted to DEC:0 siteCode:0 serial number:0

Пробовал также подключать как написано в следующих ссылках:
1. http://maniacbug.wordpress.com/2011/10/ ... le-rdm630/
2. http://blog.iteadstudio.com/play-rdm630-with-arduino/

И он либо вообще не реагирует на прикладывание карты, либо показывает каракули или нули.

В чем может быть проблема?
Может кто-нибудь сталкивался с RFID-считывателем RDM630 и знает как решить проблему?
Pegaseg
 
Сообщения: 1
Зарегистрирован: 28 июл 2013, 06:24
programming: нет

Re: Как подключить Rfid-Считыватель к Arduino? Не считывает.

Сообщение source » 24 сен 2013, 12:16

Вы с кодом немного перемудрили. Все проще.
Я писал для Arduini Mega 2560. Тут можете посмотреть http://chingachgook.net/arduino/podklyu ... -2560.html
Все работает.
У меня так выводит:
Изображение
Аватара пользователя
source
 
Сообщения: 1
Зарегистрирован: 09 апр 2013, 11:05
programming: Delphi


Вернуться в Шилды (Shields)

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron
© 2009-2021 |  Top.Mail.Ru О проекте  |  Политика Конфиденциальности  |