Помогите с RFID Mifare RC522 module

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем hiallbb, 21 фев 2013.

  1. hiallbb

    hiallbb Нуб

    Купил такую штуку на ebay. Может программировать/считывать rfid карты

    [​IMG]

    Не могу разобраться с подключением к arduino uno и не нашел никакого внятного объяснения как заставить эту штуку работать. Может кто из форумчан работал с таким устройством. Помогите, а?
     
  2. hiallbb

    hiallbb Нуб

    Это я сделал, но как запрограммировать карту не понятно, потому что все комментарии к скетчу на китайском языке :(
     
  3. Unixon

    Unixon Оракул Модератор

  4. hiallbb

    hiallbb Нуб

    Не находил такую. Спасибо большое за помощь!
     
  5. shoitov

    shoitov Нуб

    смотри тут
    http://robocraft.ru/blog/3004.html
     
  6. zsm

    zsm Гик

    Как программировать карты так и не понял , все молчат как партизаны))
    на считывание работает с данной библиотекой.

    Присоединяюсь к вопросу про перезапись карт, неужели никто не пробовал?

    Вот пример кода (не мой)

    Код (Text):
    * MOSI: Pin 11 / ICSP-4
    * MISO: Pin 12 / ICSP-1
    * SCK: Pin 13 / ISCP-3
    * SS: Pin 10
    * RST: Pin 9
    */

    #include <SPI.h>
    #include <RFID.h>

    #define SS_PIN 10
    #define RST_PIN 9
    #define BLUE_LED 6
    #define YELLOW_LED 7

    RFID rfid(SS_PIN, RST_PIN);

    unsigned char reading_card[5]; //for reading card
    unsigned char master[5] = {156,204, 194, 180, 38}; // allowed card
    unsigned char master2[5] = {162, 189, 20, 190, 181}; // allowed card
    unsigned char i;

    void indication(int led);
    void allow();
    void denied();

    void setup()
    {
      Serial.begin(9600);
      SPI.begin();
      rfid.init();
      pinMode(BLUE_LED, OUTPUT);
      pinMode(YELLOW_LED, OUTPUT);
    }

    void loop()
    {
        if (rfid.isCard())
        {
            if (rfid.readCardSerial())
            {
                    /* Reading card */
                    Serial.println(" ");
                    Serial.println("Card found");
                    Serial.println("Cardnumber:");
                    for (i = 0; i < 5; i++)
                    {  
                      Serial.print(rfid.serNum[i]);
                      Serial.print(" ");
                      reading_card[i] = rfid.serNum[i];
                    }
                    Serial.println();
                    //verification
                    for (i = 0; i < 5; i++)
                    {
                      if (reading_card[i]!=master[i] & reading_card[i]!=master2[i])
                      {
                        break;
                      }
                    }
                    if (i == 5)
                    {
                      allow();
                    }
                    else
                    {
                      denied();
                    }
            }
        }
        rfid.halt();
    }

    void allow()
    {
      Serial.println("Access accept!");
      indication(BLUE_LED);
    }
    void denied()
    {
      Serial.println("Access denied!");
      indication(YELLOW_LED);
    }
    void indication(int led)
    {
      digitalWrite(led, HIGH);
      delay(1000);
      digitalWrite(led, LOW);
    }
     
  7. MegaVolt

    MegaVolt Нерд

    Доброго времени суток.
    Приобрел на aliexpress вот такой модуль:
    [​IMG]
    Проблема в том, что используя разные библиотеки (в том числе известную MFRC522.h) данный модуль считывает только родные, идущие в комплекте карты, никак не реагируя на транспортные карты.
    В чем может быть проблема ?
    P.S. подключаю этот модуль к Arduino Leonardo.