Перейти к содержанию

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


Рекомендуемые сообщения

Здравствуйте. Не могу заставить работать 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

0_c9c93_ad7caad_XL.jpg

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

/* 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 и знает как решить проблему?

Ссылка на комментарий
Поделиться на другие сайты

  • 1 год спустя...

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

для тех кто с яндекса - если ноль поменяйте местами пины 2 и 3

или

attachInterrupt(0, reader1Zero, RISING);//DATA0 to pin 2

attachInterrupt(1, reader1One, RISING); //DATA1 to pin 3

на

attachInterrupt(1, reader1Zero, RISING);//DATA0 to pin 2

attachInterrupt(0, reader1One, RISING); //DATA1 to pin 3

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Присоединяйтесь к обсуждению

Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...