Проект недоступен для бесплатного скачивания! Если вы заинтересованы в приобретении программной части проекта с функциями, описанными на данной странице, свяжитесь с: martinius96@gmail.com
Zakúpiť projekt / Buy project
Arduino LCD RFID, NFC RC522 Stopwatch Schematics

RFID DOMINATOR


  • В течение нескольких часов в экстремальных играх, таких как Airsoft / Paintball / Nerf, играют разные режимы, такие как King of The Hill, для которых этот проект разработан (классический DOMINATOR). Каждая команда зарабатывает очки на время размещения или на время, которое она удерживает. Я использовал Arduino, считыватель RFID, ЖК-дисплей, детектор и реле / отдельные регистры.
  • Два независимых времени для двух команд, которые работают после добавления одной из карточек команды только для начала командного времени. На практике каждый член команды RFID имеет клавиатуру, которая может быть прикреплена к считывателю и активировать время.
  • Максимальный временной диапазон:
  • 999 часов, 59 минут и 59 секунд
  • Время добавляется к моменту, пока его / ее не остановит вторая команда, добавив свою карту или организатора / арбитра, которые могут приостановить или специальный ключ / карта для сброса.
  • Детектор сигнализирует о прикреплении карты к считывателю, а светодиоды / реле указывают, что текущий статус секундомера сигнализирует цвет команды, к которой добавлено время.
  • Проект предназначен для (почти) неограниченного количества ключей, поэтому можно вызвать все команды, организаторы мероприятий, клиринговые карты. Также подходит для клубов, которые регулярно играют в подобные мероприятия или для поставщиков услуг в отрасли.
  • Брелки обычно отличаются от цвета для этой команды. Реле используются, когда более сильные индикаторы / диоды используются для указания активной команды, к которой добавлено время.
  • Время отображается на дисплее 16x2 или 20x4 символов.
  • Просто добавьте ключ к читателю, время начнет отсчитываться, а другая команда остановится. Организатор останавливает оба раза и начинает складываться после добавления одного из ключей игрока в команду. Eraser будет удалять оба раза сразу после установки карты (перед новой игрой).
  • Решение универсально, как только коды клавиш добавляются в код, и он работает постоянно. Я также добавлю в проект схему, необходимые библиотеки и эскиз Arduino в формате .ino.
  • Оборудование для проекта:
  • Arduino Uno Arduino Uno
  • RFID читатель RC522 (13.56MHz) - (NFC) RFID читатель
  • Брелки / карты / сочетание Брелки / карты / сочетание
  • Детектор (пассивный) Детектор
  • 2-канальные реле, диоды 2-канальные реле, диоды

  • процесс


  • Загрузите прилагаемую программу Arduino для получения адресов каждой карты
  • Записывать адреса, различать цвета (желательно через Excel) по командам, организаторам, ластикам
  • Отправьте электронную таблицу и дождитесь завершения вашей программы DOMINATOR с адресами вашей карты

  • результат


    Программа для чтения адресов карт RFID - (Это не программа для DOMINATOR!)

    #include <SPI.h>
    #include <MFRC522.h>
    #define RST_PIN         9
    #define SS_1_PIN        10
    #define NR_OF_READERS   1
    byte ssPins[] = {SS_1_PIN};
    MFRC522 mfrc522[NR_OF_READERS];
    void setup() {
      Serial.begin(9600);
      while (!Serial);
      SPI.begin();
      for (uint8_t reader = 0; reader < NR_OF_READERS; reader++) {
        mfrc522[reader].PCD_Init(ssPins[reader], RST_PIN);
        Serial.print(F("Reader "));
        Serial.print(reader);
        Serial.print(F(": "));
        mfrc522[reader].PCD_DumpVersionToSerial();
      }
    }
    
    void loop() {
      for (uint8_t reader = 0; reader < NR_OF_READERS; reader++) {
        if (mfrc522[reader].PICC_IsNewCardPresent() && mfrc522[reader].PICC_ReadCardSerial()) {
          Serial.print(F("Reader "));
          Serial.print(reader);
          Serial.print(F(": Card UID:"));
          dump_byte_array(mfrc522[reader].uid.uidByte, mfrc522[reader].uid.size);
          Serial.println();
          Serial.print(F("PICC type: "));
          MFRC522::PICC_Type piccType = mfrc522[reader].PICC_GetType(mfrc522[reader].uid.sak);
          Serial.println(mfrc522[reader].PICC_GetTypeName(piccType));
          mfrc522[reader].PICC_HaltA();
          mfrc522[reader].PCD_StopCrypto1();
        }
      }
    }
    
    void dump_byte_array(byte *buffer, byte bufferSize) {
      for (byte i = 0; i < bufferSize; i++) {
      }
      Serial.print("Kod:");
      unsigned long kod = 10000 * buffer[4] + 1000 * buffer[3] + 100 * buffer[2] + 10 * buffer[1] + buffer[0]; //finalny kod karty
      Serial.print(kod);
    }
            

    Knižnice

  • RFID - https://github.com/miguelbalboa/rfid
  • I2C --> LCD - https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library
  • Schéma zapojenia:

    Airsoft Dominator RFID