Project is not available for free download! If you are interested in purchasing the software part of the project with the functionality described on the given page, contact: martinius96@gmail.com
Arduino LCD RFID, NFC RC522 Stopwatch Schematics Airsoft Paintball DOMINATOR

RFID DOMINATOR - stopwatch for Airsoft | Paintball


Beware of RFID readers RC522 with false (non-original NXP RC522) chip! - report software version 0x12 - counterfeit (does not work for DOMINATOR!)

Functional principle:

  • At the start of the game, the display shows 00 hours, 00 minutes, 00 seconds for Team 1 (RED), Team 2, (BLUE).
  • Each team player has one RFID card / bracelet / tag
  • When the card is put on, the detector (card insertion indicator) beeps, the team LED lights up and the team starts counting.
  • The time is counted until the other team player puts the card. This will stop the time for the first team, start counting for the second team, change the active team LED on the point - DOMINATOR.
  • If the referee puts the card on, the times will stop, the LED will go out. Time is stopped until the card is presented by another team player.
  • If the card is erased, the times are reset, stopping. The game is restarting - preparing for a new game.
  • Hardware for project - RFID DOMINATOR:

  • Arduino Uno/NanoArduino Uno/Nano
  • RFID reader RC522 (13.56MHz)RFID reader RC522
  • ISO / IEC 14443-A keyrings / cards / bracelets13.56MHz ISO / IEC 14443-A key fobs, cards, bracelets
  • Passive buzzerBuzzer card attachments
  • 2x LEDsLEDs - indicator of the active team at the point
  • Principle of hardware functionality:

  • The RC522 RFID reader communicates with Arduin over the SPI bus. Retrieves UID (RFID) of RFID cards in range, forwards them to Arduino. It responds to the distance of the chip about 3cm from the antenna.
  • Arduino compares the cards address in a multi-condition, applies the digital states to the diodes, runs a universal counter every 100ms, and controls the counting of both times.
  • The time is sent over the I2C bus to the 20x4 character display where it is rendered. Listing takes up to 30ms.
  • Maximum time range: 99 hours, 59 minutes and 59 seconds
    Consumption: approx. 110mAh at 5V power supply. Suitable for powering via power bank, charger from a phone with USB output.

    Specify the project:

  • The project is suitable for teams, clubs, sports facilities, events.
  • Suitable for DOMINATION, Capture Point game modes.
  • Use for Sports Airsoft, Paintball, Nerf Wars

  • RFID DOMINATOR:


    Printed circuit board - (PCB) - RFID DOMINATOR - GERBER

    RFID DOMINATOR - DOSKA PLOŠNÝCH SPOJOV - DPS - PCB - RC522, Arduino - Nano, buzzer, LED, stopky, stopwatch

    Wiring diagram - RFID DOMINATOR:

    Airsoft Dominator RFID

    Program for reading RFID card addresses for DOMINATOR (This is not a program for RFID DOMINATOR!)

  • These addresses are inserted into the DOMINATOR paid project. The program serves only for their loading, does not contain programmed logic DOMINATOR, stopwatch ...
  • The card address is output to the serial (UART) monitor - 9600 baud / s.
  • //PROGRAM PRE NACITANIE UID RFID KARIET PRE DALSIE POUZITIE V DOMINATOR-e
    //https://arduino.php5.sk/airsoft-dominator.php
    //PRE PROJEKT RFID DOMINATOR (Airsoft, Paintball, Nerf Wars)
    //Autor: Bc. Martin Chlebovec
    
    #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);
        mfrc522[reader].PCD_SetAntennaGain(112); // set to max (00001110)
        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);
    }
    

    Libraries for RFID DOMINATOR project

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

  • Button DOMINATOR


  • It uses button input for teams, referees and eraser.
  • The program can be modified, verified the length of presses, hold buttons.
  • The buttons replace the RFID reader in the input method for DOMINATOR.
  • Logic, counter, printout is identical to RFID DOMINATOR.
  • Wiring diagram - Button DOMINATOR:

    Airsoft Dominator RFID