Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 21.04.2014, 14:47  
IvanPuzirev
Прохожий
 
Регистрация: 21.04.2014
Адрес: Минск
Сообщений: 5
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
IvanPuzirev на пути к лучшему
Восклицание RFID на Arduino с использованием Parallax RFID reader/writer

Господа, появилось желание соорудить устройства для чтения и самое главное для ЗАПИСИ, RFID карт.

Собственно после долгих поисков и раздумий было принято решение использовать в качестве контроллера - Arduino ( о боже, как неожиданно ).

В качестве катушки был найден интересный шилд для него : Называется RFID Read/Write Module и выглядит так :

Я думаю есть и Китайские аналоги. Но я отталкивался от оригинала.

Цитата:
.....а это читатель/писатель RFID 125 kHz.
http://www.parallax.com/sites/defaul...?itok=f6Eu6HHQ

На официальном форуме Arduino нашелся и скетч для этого устройства :

Цитата:
Code for using the Arduino with the Parallax RFID reader/writer

This page is specifically for help with interfacing the Arduino with the newer, black read/write RFID modules from Parallax. If you need help with the blue, read-only module, please visit its page.

To learn more about the module itself, click here.

For the sample code below, the wiring should be set up as:

VCC -› +5V (arduino)
SIN -› digital pin 6 (this is the txPin)
SOUT -› digital pin 8 (this is the rxPin)
GND -› GND (arduino)
Here are three example codes. The first is for reading data from the older EM4100 RFID tags and displaying the value in the serial monitor.

//Code to read data from Parallax RFID reader/writer 28440 via Arduino
//Program reads data from the old EM4100-based tags and prints their value in the serial monitor.

//Writen by vgrhcp, uberdude, sebflippers and sixeyes

#include ‹SoftwareSerial.h›
#define txPin 6
#define rxPin 8
#define RFID_LEGACY 0x0F


SoftwareSerial mySerial(rxPin, txPin);
int val = 0;
char code[11]; //Note this is 11 for the extra null char?
int bytesread = 0;

void setup()
{
Serial.begin(9600);
mySerial.begin(9600);

pinMode(2, OUTPUT);
pinMode(4, OUTPUT);
pinMode(txPin, OUTPUT); //pin 6
pinMode(rxPin, INPUT); //pin 8

Serial.println("RFID Read/Write Test");
}

void loop()
{
mySerial.print("!RW");
mySerial.write(byte(RFID_LEGACY));

//mySerial.print(32, BYTE);

if(mySerial.available() › 0) { // if data available from reader

if((val = mySerial.read()) == 10) { // check for header
bytesread = 0;
while(bytesread‹10) { // read 10 digit code
if( mySerial.available() › 0) {
val = mySerial.read();
if((val == 10)||(val == 13)) { // if header or stop bytes before the 10 digit reading
break; // stop reading
}
code[bytesread] = val; // add the digit
bytesread++; // ready to read next digit
}
}

if(bytesread == 10) { // if 10 digit read is complete
Serial.print("TAG code is: "); // possibly a good TAG
Serial.println(code); // print the TAG code
}
bytesread = 0;

delay(500); // wait for a 1/2 second
}
}
}

The following code reads the newer EM4x50 tags and displays them in the serial monitor.


#include ‹SoftwareSerial.h›
#define RFID_READ 0x01
#define txPin 6
#define rxPin 8

SoftwareSerial mySerial(rxPin, txPin);
int val;
int runs = 0;

void setup()
{
Serial.begin(9600);
Serial.println("RFID Read/Write Test");
mySerial.begin(9600);
pinMode(txPin, OUTPUT);
pinMode(rxPin, INPUT);
}

void suppressAll() //suppresses the "null result" from being printed if no RFID tag is present
{
if(mySerial.available() › 0)
{ mySerial.read();
suppressAll();
}
}

void loop()
{
int val;
mySerial.print("!RW");
mySerial.write(byte(RFID_READ));
mySerial.write(byte(32));

if(mySerial.available() › 0)
{
val = mySerial.read(); //The mySerial.read() procedure is called, but the result is not printed because I don't want the "error message: 1" cluttering up the serial monitor
if (val != 1) //If the error code is anything other than 1, then the RFID tag was not read correctly and any data collected is meaningless. In this case since we don't care about the resultant values they can be suppressed
{suppressAll();}
}


if(mySerial.available() › 0) {
val = mySerial.read();
Serial.print("1st:");
Serial.println(val, HEX);
}

if(mySerial.available() › 0) {
val = mySerial.read();
Serial.print("2nd:");
Serial.println(val, HEX);
}

if(mySerial.available() › 0) {
val = mySerial.read();
Serial.print("3rd:");
Serial.println(val, HEX);
}

if(mySerial.available() › 0) {
val = mySerial.read();
Serial.print("4th:");
Serial.println(val, HEX);
Serial.println("-----------------");
}

delay(750);
}



The following code is for writing 4 bytes of data (as defined by first, second, third, and fourth) to a specific address (as defined by whichSpace). Upon successful write operation, a confirmation is printed in the serial monitor.

//Code to write data to Parallax RFID reader/writer 28440 from Arduino
//Program writes to one of the 29 user-defined addresses (3-31) as define by whichSpace
//The four bytes to be written are defined by first, second, third, and fourth
//Coded by vgrhcp, adapted to arduino 1.0 by sebflippers

#include ‹SoftwareSerial.h›
#define RFID_WRITE 0x02
#define txPin 6
#define rxPin 8

#define whichSpace 4

#define first 1 // first, second, thrid, and fourth are four arbitrary values which will be written to the RFID tag at address whichSpace
#define second 26
#define third 3
#define fourth 27

SoftwareSerial mySerial(rxPin, txPin);

void setup()
{
Serial.begin(9600);
Serial.println("RFID Write Test");
mySerial.begin(9600);
pinMode(txPin, OUTPUT);
pinMode(rxPin, INPUT);
}


void suppressAll() //Keeps error code & the "write confirmation" codes from being printed in the serial monitor
{
if(mySerial.available() › 0)
{ mySerial.read();
suppressAll();
}
}

void loop()
{
int val;

mySerial.print("!RW");
mySerial.write(byte(RFID_WRITE));
mySerial.write(byte(whichSpace));
mySerial.write(byte(first));
mySerial.write(byte(second));
mySerial.write(byte(third));
mySerial.write(byte(fourth));

if(mySerial.available() › 0) {
val = mySerial.read();
if (val == 1) //If data was written successfully
{ Serial.println("Data written succesfully!");
suppressAll();
}
else suppressAll(); //If an error occured during writing, discard all data recieved from the RFID writer
}
delay(250);
}
Собственно как вариант можно и использовать обыкновенную катушку :

Видео:


В это видио показано как считывать.


Может кто-нибудь может описать код С, русским языком и посоветовать все-таки как это реализовать именно для того, что бы можно было записывать информацию на карту.

Возможно кто-то это уже собирал, поделитесь опытом, может схемами т .д. Заранее спасибо.
Реклама:

Последний раз редактировалось IvanPuzirev; 22.04.2014 в 08:24.
IvanPuzirev вне форума  
Непрочитано 21.04.2014, 20:53  
novodrodskiy
Гражданин KAZUS.RU
 
Регистрация: 08.03.2013
Сообщений: 549
Сказал спасибо: 23
Сказали Спасибо 80 раз(а) в 55 сообщении(ях)
novodrodskiy на пути к лучшему
По умолчанию Re: RFID на Arduino с использованием Parallax RFID reader/writer.

А поиском на этом сайте не пробовали искать похожие темы?
Если просто нужен копир карт/брелков, вот на пике https://kazus.ru/forums/showthread.php?t=101597 , без исходников, если просто собрать.
Вот на Атмеге8 и 16 https://kazus.ru/forums/showthread.php?t=101565 с исходниками.
У этого автора есть страничка serg22.sibgtu.ru там проекты serg22.sibgtu.ru/radio/RFID-mega16-writer-freeware.rar и serg22.sibgtu.ru/radio/RFID-mega8-writer-freeware.rar
novodrodskiy вне форума  
Непрочитано 21.04.2014, 22:49  
RECTO
Супер-модератор
 
Регистрация: 09.06.2011
Сообщений: 2,633
Сказал спасибо: 73
Сказали Спасибо 1,795 раз(а) в 647 сообщении(ях)
RECTO на пути к лучшему
По умолчанию Re: RFID на Arduino с использованием Parallax RFID reader/writer.

novodrodskiy, мне кажется, ТС хочет вовсе не домофонные ключи копировать...

А поскольку он не сказал, какие именно карты ему нужны, могу предположить, что речь идет о MIFARE...
RECTO вне форума  
Непрочитано 21.04.2014, 23:08  
novodrodskiy
Гражданин KAZUS.RU
 
Регистрация: 08.03.2013
Сообщений: 549
Сказал спасибо: 23
Сказали Спасибо 80 раз(а) в 55 сообщении(ях)
novodrodskiy на пути к лучшему
По умолчанию Re: RFID на Arduino с использованием Parallax RFID reader/writer.

MIFARE сейчас уже все производители домофонов взяли на вооружение, так что можно домофонными считать .

P.S. ТС ссылается вот на эту продукцию parallax http://www.parallax.com/product/28440 а это читатель/писатель RFID 125 kHz.

Последний раз редактировалось novodrodskiy; 21.04.2014 в 23:16.
novodrodskiy вне форума  
Непрочитано 22.04.2014, 08:22  
IvanPuzirev
Прохожий
 
Регистрация: 21.04.2014
Адрес: Минск
Сообщений: 5
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
IvanPuzirev на пути к лучшему
По умолчанию Re: RFID на Arduino с использованием Parallax RFID reader/writer.

Дело в том, что бы реализовать ус-во, готовое и проверенное, которое могли-бы использовать многие, с использованием универсальных средств (Arduino). А не создавать аналоги.
Дело в том, что я не имею возможности все это воедино согрести, не хватает опыта работы с этим. Вот и прошу помощи.
IvanPuzirev вне форума  
Непрочитано 22.04.2014, 08:46  
novodrodskiy
Гражданин KAZUS.RU
 
Регистрация: 08.03.2013
Сообщений: 549
Сказал спасибо: 23
Сказали Спасибо 80 раз(а) в 55 сообщении(ях)
novodrodskiy на пути к лучшему
По умолчанию Re: RFID на Arduino с использованием Parallax RFID reader/writer.

IvanPuzirev, моё ИМХО, если уж осваивать программирование Атмеловских МК, то осваивать их конкретно, и никаких Arduino, они для убогих юзеров .
Посмотрите исходники из темы https://kazus.ru/forums/showthread.php?t=101565, с автором поговорите в личке, может чего и прояснится.
novodrodskiy вне форума  
Непрочитано 22.04.2014, 08:54  
IvanPuzirev
Прохожий
 
Регистрация: 21.04.2014
Адрес: Минск
Сообщений: 5
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
IvanPuzirev на пути к лучшему
По умолчанию Re: RFID на Arduino с использованием Parallax RFID reader/writer.

Сообщение от novodrodskiy Посмотреть сообщение
IvanPuzirev, моё ИМХО, если уж осваивать программирование Атмеловских МК, то осваивать их конкретно, и никаких Arduino, они для убогих юзеров .
Посмотрите исходники из темы https://kazus.ru/forums/showthread.php?t=101565, с автором поговорите в личке, может чего и прояснится.
Arduino хорошо тем, что получается готовое ус-во, хорошего товарного вида и достаточно надежное, а САМОЕ глаавное, не нужно травить , утюжить и т.д. Никакого хлорного железа, фоторезиста и т.д., надоело. За Ссылку спасибо.
IvanPuzirev вне форума  
Непрочитано 22.04.2014, 09:02  
novodrodskiy
Гражданин KAZUS.RU
 
Регистрация: 08.03.2013
Сообщений: 549
Сказал спасибо: 23
Сказали Спасибо 80 раз(а) в 55 сообщении(ях)
novodrodskiy на пути к лучшему
По умолчанию Re: RFID на Arduino с использованием Parallax RFID reader/writer

Arduino плохо с точки зрения программирования, не экономно память МК используется, лоадер его кушает, среда программирования........ А от травить утюжить и пр. можно как то уйти, готовые платы покупать, в ДИП на готовых макетках собирать, в конце концов используйте эти самые Arduino, но программируйте в нормальной среде, как обычный МК. ИМХО.
novodrodskiy вне форума  
Непрочитано 22.04.2014, 09:44  
IvanPuzirev
Прохожий
 
Регистрация: 21.04.2014
Адрес: Минск
Сообщений: 5
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
IvanPuzirev на пути к лучшему
По умолчанию Re: RFID на Arduino с использованием Parallax RFID reader/writer

Ну вот собственно это и есть цель всей этой работы, разработать систему, и хочется это сделать как можно более профессионально. Я так полагаю среду для программирования лучше использовать MS VS, или может существует что по лучше. Кстати было-бы не плохо еще какие-нибудь ссылки и название литературы почитать что-нибудь. Для начинающих, более-менее читабельное... Я сам программист, (учусь), а вот что касается микроконтроллеров тут не хватает знаний.

Последний раз редактировалось IvanPuzirev; 22.04.2014 в 09:45. Причина: Дополнение.
IvanPuzirev вне форума  
Непрочитано 22.04.2014, 10:59  
Wiza_
Почётный гражданин KAZUS.RU
 
Регистрация: 29.12.2012
Адрес: Питер
Сообщений: 982
Сказал спасибо: 131
Сказали Спасибо 230 раз(а) в 157 сообщении(ях)
Wiza_ на пути к лучшему
По умолчанию Re: RFID на Arduino с использованием Parallax RFID reader/writer

И, как частенько бывает, опять сплелись мухи и котлеты. Начнём сортировать.
Сообщение от IvanPuzirev Посмотреть сообщение
выглядит так :
Непонятно как выглядит, но будем полагать что этот - http://www.parallax.com/sites/defaul...?itok=f6Eu6HHQ
Ардуино тут совсем не нужен. А нужен преобразователь USB‹-›TTL UART. Чтобы не путать вас в проводах: вот пример преобразователя именно с нужным вам количеством - www.ebay.com/itm/301004701296, но подойдёт и любой другой. Имейте ввиду что на приведённой мной ссылке не просто провод, а ПРЕОБРАЗОВАТЕЛЬ.
Подключаете всё в кучу, втыкаете в комп, появляется виртуальный ком порт - он и будет средством связи с вашим модулем. Дальше пишите программу на любом языке, какой вам больше нравится.
Сообщение от IvanPuzirev Посмотреть сообщение
Может кто-нибудь может описать код С, русским языком и посоветовать все-таки как это реализовать именно для того, что бы можно было записывать информацию на карту.
Открываете ком порт с параметрами 9600,8,N,1 пишите в него "!RW", 0x02, 0x04, first, second, third, fourth. Где последние четыре байта - номер, который хотите записать. В случае успеха модуль вернёт 0x01

Последний раз редактировалось Wiza_; 22.04.2014 в 11:03.
Wiza_ вне форума  
Сказали "Спасибо" Wiza_
IvanPuzirev (22.04.2014)
 

Закладки

Метки
arduino, parallax, rfid, shield
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 11:29.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot