RFID Reader. Корректное чтение данных.

Тема в разделе "Arduino & Shields", создана пользователем Vir, 25 дек 2012.

  1. Vir

    Vir Гик

    Имеется у меня в наличии RFID Reader. Подключаю я его к ардуино, и пытаюсь считать данные. В wiki производителя, более-менее, понятно описан процесс подключения. Есть 2 вариант подключения:
    1. UART
    2. Wiegan
    Для этого, на плате есть джампер:
    [​IMG]

    Как видно по фотографии он стоит в режиме wiegan (хотя у производителя, на странице википедии, видимо ошибка, потому что в обоих случаях просят поставить джампер на "U", но здравый смысл подсказывает, что U - это UART).

    Так же приведу фото подключения к mega shield'у:
    [​IMG]

    Так вот вопросы:
    1. По идее, передача через Serial, должна происходит в режиме "U" (UART), но когда я переставляю джампер на этот режим - ничего не приходит на Serial, вообще. Может и здесь проихводитель ошибся в маркировке на плате? Может буквы стоило поменять местами?
    2. Когда я перетыкаю джампер в режим "W" (wiegan) на Serial данные приходят. Но, какие-то странные, не такие, как описано на wiki-странице.
    Так вот, когда я подношу карту на Serial приходят следующие данные:
    Код (Text):
    255
    255
    254
    255
    255
    254
    255
    254
    255
    254
    255
    Код следующий:
    Код (Text):
    void RFIDReaderInit()
    {
      Serial3.begin(9600);
    }
     
    void RFIDReaderHandler()
    {
      if (Serial3.available())
      {
        while(Serial3.available())
        {
          Serial.println(Serial3.read());
        }
      }
    }
    init запускается в setup'е, а handler запускается в loop'e. Если верить wiki-странице, то должны приходить тех. данные + номер карточки. Однако на моей карте написано: "0006152627 093.56879". Я так полагаю, что первая часть это и есть номер карты, но тогда он не совпадает с тем, что приходит по Serial.

    Подскажите, пожалуйста, где я туплю?
     
  2. nailxx

    nailxx Официальный Нерд Администратор

    А какой у вас `loop`? Вы там просто вызываете `RFIDReaderHandler()`? Данные по UART с RFID-сканнера приходят в 3 порции. Быть может вы пропускаете «важные» порции?
     
  3. Tony Stark

    Tony Stark Нерд

    если вас не устраивает конкретно то что вам приходит с компа по serial`у то посмотрите ASCII таблицы и найдите соответствие между числами приходящими вам и их значениями.
     
  4. Vir

    Vir Гик

    Меня не устраивает то, что мне отправляет Arduino. Это изначально не верные данные.
     
  5. Vir

    Vir Гик

    Проблема решена. Всё в очередной раз оказалось до смешного глупо. Я RX подключал к RX, ну а TX, соответственно к TX. А нужно наоборот. UART режим заработал как надо.