Как Подключить Rfid-Считыватель К Arduino

28-07-2013, 10:27 От: admin Посмотрели: 1188
Здравствуйте. Не могу заставить работать RFID-считыватель, подключенный к Arduino...



Есть следующий комплект:

1. Arduino Mega 1280: http://www.aliexpres...1011446998.html

2. RFID-считыватель RDM630: http://www.alibaba.c...z_134_2KHz.html

Спецификации на этот считыватель в PDF можно посмотреть здесь: http://www.seeedstud...DM630-Spec..pdf

3. RFID-карты на 125 кГц: http://devicter.ru/g...25kHz-RFID-Card



Подключаю RFID-считыватель к Arduino как написано здесь: http://www.instructa...ep2/Seeed-RFID/

и здесь: http://www.instructa...edstudio/#step1



RFID -> Arduino:

Pin 1 -> 2 (цифровой)

Pin 2 -> 3 (цифровой)

Pin 4 -> GND

Pin 5 -> +5V

Как Подключить Rfid-Считыватель К Arduino

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


/* 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.wor...-module-rdm630/

2. http://blog.iteadstu...0-with-arduino/

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



В чем может быть проблема?

Может кто-нибудь сталкивался с RFID-считывателем RDM630 и знает как решить проблему?
Раздел: Arduino и Raspberry Pi

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться, либо войти на сайт под своим именем.

Обсудить на форуме


На момент добавления Как Подключить Rfid-Считыватель К Arduino все ссылки были рабочие.
Все публикации статей, книг и журналов, представлены на этом сайте, исключительно для ознакомления,
авторские права на эти публикации принадлежат авторам статей, книг и издательствам журналов!
Подробно тут | Жалоба

Добавление комментария

Ваше имя:*
E-Mail:*
Текст:
Вопрос:
Решите уравнения x+2x=789
Ответ:*
Введите два слова, показанных на изображении:



Опрос

Ваши предпочтения в TRX


Одинарное преобразование
Двойное преобразование
Прямое преобразование
SDR
Другое
Мне всё равно

Популярные новости
Календарь новостей
«    Май 2024    »
ПнВтСрЧтПтСбВс
 12345
6789101112
13141516171819
20212223242526
2728293031