RFID помогите
- Войдите на сайт для отправки комментариев
Втр, 30/10/2012 - 17:40
Привет всем!
ПОмогите разобраться с подключение и кодом для считывателя на чипе htrc110 http://www.nxp.com/documents/data_sheet/ht037030.pdf. Пробовал и через SoftwareSerial и просто дрыгать ногами нифига молчит. Подключаю к Мега2650.
Мне вот интересно вы куда подключали TX и RX?
HTRC110 имеет 3 линии для связи с МК - DIN, DOUT и SCLK (вас наличие лишнего провода не смутило?) это что то типа SPI без SS, изучайте интерфейс SPI и протокол связи HTRC110, если то что я сейчас вам написал не понятно, то бросайте эту затею и купите какой-нибудь готовый модуль с готовой библиотекой.
Проще всего бросить задачу чем решить её. Хочу разобрасть и заставить работать. Там даташине написано что это типа последовательный порт, но он работает по другому. Для чтения данны нужен только DOUT, а CLK нужен для того чтобы подать сигнал на считывание и для начала и конца переждачи. Посылаем в CLK 111 и на низком уровне ждём ответа, а завершаем высоким уровнем. Вот только пока что у меня не получается. Толи резистор нужен толи ещё что.
Вы вообще сами понимаете, что вы пишите, что значит послать 111 в CLK? и в даташите такого не написано и использовать нужно все 3 вывода. В общем вы в корне двигаетесь не в том направлении, что вам делать я вам уже написал выше - или изучайте для начала SPI или брасайте, с теми знаниями, которыми вы обладаете сейчас вы ничего не добьетесь, ну разве что спалите микруху.
Этот ридер(СПКС-01) готовое устройство и он работает с другими контроллерами, но мне нужно его повесить на ардуино. На ридере нога CLK и DIN спаяны вместе.
Так сделано потому, что команда READ TAG имеет вид В111ХХХХХ, ридер пользуется только этой командой, поэтому DIN запараллелен с SCLK и с DIN всегда читаются единицы. И еще раз вам повторяю пока вы не разберетесь как работает синхронный последовательный интерфейс, вы ничего не добьетесь.
Я повесил спаяный контакт CLK на TX(pin 1), а DOUT вешаю на RX(pin 0). Запускаю SoftwareSerial на эти пины. Посылаю командой и write и print(пробовал) 111 и слушаю этот порт на предмет пережачи. Всё что должно прийти кидаю в serial monitor.
Да не мучайте Вы сериал!!! Попробуйте shiftIn(), просится же сюда!!!
Да пусть мучает, если нравится, уже 10 раз написал в какую сторону копать и все побую...(((
И кстати интересно как вообще работает ридер с запаралленными SCLK и с DIN на рисунке есть такой момент - начало передачи данных - initialization, (примерно так же организовано начало передачи в I2C) так вот как этого добиться с запараллеленными линиями для меня загадка.
Ничего загадочного. Просто устройство всегда (что бы мы не передали) получит FF, а потом слушаем и получаем ответ.
Спасибо большое за направление. Пацаны помогите. Помогите с кодом. Буду благодарен. С меня пиво и рыба или эквивалент. ???
Вот вам пример, но не знаю чем вам это поможет.
Ничего. В ответ FF FF FF FF FF FF FF FF (тишина)
У вас ридер от чего питается? Если дуина питается от USB, а ридер от отдельного источника и вы соединяете только две линии DOUT и SCLK, то естественно ничего работать не будет, нужно еще соединить земли (GND).
Питаю ридер от дуины. ПРобовал и от отдельного источника. Конечно же GND соединял между платами. ничего
Быть может shiftIn() читает данные в момент, когда линия тактирования имеет состояние 0, но даже если и так, то все равно читался бы какой нибудь мусор, но попробуйте
Да, и вот еще что попробуйте закоментировать 9 строку
потому как в даташите написано, что линия DOUT уже имеет внутреннюю подтяжку и если к земле то они тянут линию в разные стороны...
Ок. попробую. Отпишусь
Нифига. С коментом и без комента 9 строки нифига. Вот видео www.youtube.com/watch
А зачем у вас на макетке резисторная сборка на линиях DOUT и SCLK ???
И что там еще за клемы на ридере? они подписаны?
ЗЫ: сериал мнитор можно вот этой кнопочкой открывать
С лева на право. +12 GND +5 CND CLK DATA LedGreen LedRed. Резистор.сборка не подтянута к GND.
Я ошибся насчёт того что DIN и CLK спаяны вместе. Вот ещё одна фотка где видно ноги чипа DOUT+DIN вместе.
Так в макетке зачем сборка стоит?
Сборка просто так стоит. Я и без неё пробовал. Я ошибся насчёт того что DIN и CLK спаяны вместе. Там DOUT+DIN вместе.
Вот куда вы смотрели??? замкнуты между собой не DOUT и SCLK, а DOUT и DIN!!!!
Не успел. Поэтому и не работает.
Виноват ....
Опять с меня причитается.
При таком подключении, получается что-то типа урезанно-упрощенного I2C без адресации и подтверждения принятого байта.
Пробуйте
И уберите резисторную сборку.
Убрал всё и Нифига
Попробуйте так изменить функцию READER_begin()
Ничего не меняется. Всё теже FF FF FF FF FF FF FF FF
Максим, а вы откуда? Где живёте? В каком городе? Мож вам такой ридер передать?
Нижний Новгород, но он мне не нужен, что бы заставить его работать, нужно еще внимательнее смотреть даташит, может прежде чем читать метки его нужно как-то предварительно настроить... поэтому для начала нужно убедиться что есть связь и прочитать какую-нибудь настройку
Максим, что думаете по поводу ....
По поводу чего? Судя по картинке связь с ридером есть, а значит прежде чем читать ключи нужно как то сконфигурировать ридер, то есть предварительно что то в него отправить. Изучайте даташит, как правильно работать с ридером.
http://www.elektroda.pl/rtvforum/topic2267627.html#10766103 вот неплохой пример работы с этим чипом, но, к сожалению, и он не выдает ничего толкового на ардуине. правда примерчик расчитан на отдельную линию DOUT, но это легко решаемо, по моему, раз линия запаралелена с DIN
грешили и на задержки, все по инструкции...50милисекунд. Иницализация проще некуда.
Дальше передаем три еденицы и сразу должны получить 5 байт ответа (правда в даташите не совсем понятно описано, они пишут 5 bit response)