RFID DOMINATION TIMER for Airsoft - Arduino + NXP RC522 + LCD

Introduction: RFID DOMINATION TIMER for Airsoft - Arduino + NXP RC522 + LCD

About: I am student of University interested in Arduino, ESP related IoT stuff.

Domination timer (DOMINATOR) is a stopwatch device designed for 2 teams that play against each other and try to occupy the point and keep it for as long as possible. The stopwatch is suitable for Airsoft / Paintball game mode DOMINATION, resp. Capture Hill. They consist of an ATmega328P microcontroller (AVR), which can be part of the Arduino development kit (Uno / Nano / Pro Mini). An LCD character display (size 16x2 or 20x4, chipset HD44780) is used to visualize times of both teams. The times are listed in two lines below each other and are dynamically updated if there is an active team at the point (a point occupied by a team). The stopwatch is equipped with indicator LEDs in team colors, which signal the active team at the point and a detector (piezo transducer), which announces the change at the point after attaching the RFID card. Teams are implemented in the game - RED team and GRE team who play against each other and try to occupy the point and then keep it for as long as possible. At the beginning of the game, the display shows the times 00 hours, 00 minutes, 00 seconds for RED team , GRE team . Each team member is equipped with an RFID chip that is integrated into the bracelet (or card / keychain). The RFID chip transmits its unique identifier - UID (unique ID), which is read by an RFID reader and verified in the logic of the system to which the entity (team) belongs. Individual bracelets can be color-coded (red, green by team and entity function), which allows them to be distributed more quickly to players, but also archived and stored by color. The RED team will occupy the point when the RED team member attaches their card to the RFID reader. This action triggers a buzzer that announces the change of point with a short beep. Subsequently, the LED of the RED team at this station will light up and the display will start adding the time for this team until the member's team card is inserted , Referee , or Eraser . If the point is occupied by a GRE player and the card is attached to an RFID reader, the buzzer will announce this change with a short beep, the GRE LED will light up (RED LED turns off), RED's current time stops , and GRE's time is scored.

If the Referee attaches his RFID card, the running time will stop at the current value. The point becomes neutral, the active team's LED goes out. The stoppage lasts until a member of the RED team or the GRE team presents their card. This type of card is thus suitable for temporarily stopping an ongoing game, controlling a player's intervention, or injuries. At the same time, the card can be used at the end of a round of the game, to evaluate the round, respawn teams before continuing. If Eraser attaches the card, both times will stop and reset to the initial value of 00 hours, 00 minutes, 00 seconds, which will be displayed. The Eraser card is used to restart the game, to initialize a new game without the need for a power-on cycle. The RFID reader responds to the insertion of an RFID card immediately, including the entire logic of the Dominator project. The project is suitable for Airsoft events, sports facilities, or Airsoft teams, which can build a Dominator device with their own hardware. Firmware is universal, which is based on the wiring diagram, it is also possible to use the available PCB design for the production of printed circuit boards. The advantage of the RFID Domination timer project is that the usage license authorizes the user to clone and create X points with the same configuration via machine code. Machine code (.hex) is a compiled firmware format for the RFID Dominator project for supplied UID RFID cards that are embedded in the code before compilation. It is thus possible to place any number of independently operating RFID Domination timer points in the game, which respond to identical RFID cards according to a uniform configuration. The RFID Dominator system is can be put into the game immediately. Firmware uploads within 10 seconds via XLoader .

Latest version of the RFID Domination Timer project supports these types of firmware RFID readers NXP RC522:

  • Firmware version: 0x12 = counterfeit chip - (non - original NXP chip, replacement)
  • Firmware version: 0x91 = Version 1.0 - (original NXP Semiconductors chip)
  • Firmware version: 0x92 = Version 2.0 - (original NXP Semiconductors chip)
  • Supplies

    Hardware for the project - RFID DOMINATOR:

    • Arduino Uno / Nano / standalone ATmega328P chip
    • LCD character display 16x2 / 20x4
    • I2C converter for LCD display
    • RFID reader NXP RC522 (13.56 MHz)
    • Keychains / cards / wristbands compatible with standard ISO/IEC 14443-A
    • 2x LED diodes with resistors
    • Passive buzzer - optional
    • Pullup resistors for I2C bus - optional

    Step 1: How It Works From Hardware Side

    Principle of hardware functionality:

    The RFID reader RC522 communicates with the Arduino via the SPI bus. It reads the UID (identifier) of RFID cards in range, forwards this identifier to Arduino, which executes the program logic. The reader responds to the distance of the chip about 3 cm from the antenna.

    Arduino compares the read card address in a multi-condition, applies digital states to diodes, runs a universal counter every 100ms (counts in tenths of a second), controls the counting of both times.The time is sent via the I2C bus to the 20x4 character display, where it is plotted. The display takes up to 30ms at an I2C bus speed of 100 kHz - Standard speed.Maximum time range that can be listed on the system: 99 hours, 59 minutes, and 59 seconds Consumption: approx. 110mAh with 5V power supply.

    Convenient to power via power bank, charger from a phone with USB output. To specify an RFID DOMINATOR project: The project is suitable for teams, clubs, sports facilities, events.If RFID cards, bracelets or key fobs are color-coded, they are very easy and universally distributed to players.Tabs are easy to use for all ages. The chip is protected in a plastic case, it does not mind dirt, water ...Suitable for DOMINATION game modes, Capture Point (more than one DOMINATOR can be used in the game), a game mode that has a balanced number of players.The use is mainly for sports Airsoft, Paintball, Nerf Wars.

    Step 2: PCB Design for RFID DOMINATOR

    PCB is double-sided with overlays, dimensions: 104x101 mm The PCB design for the RFID Domination Timer (1.0) project is available in .lppz format (LibrePCB). The archive can be uploaded to the website of the German company AISLER, which can produce a printed circuit board by machine, including drilling and tapping holes. The standard production price is 23 € for three pieces, which is the minimum order (7 € / piece). The price is also with postage and low priority with delivery within 3 weeks of ordering. It is recommended to use a pin headre on the PCB, as it is possible to replace the hardware in the event of a fault without the need for soldering. Spacers can also be replaced by threaded rods. The box for the project is not designed. The PCB can be mounted in a box or on the wall through 4 mounting holes in the corners of the PCB. Production can also be realized at Chinese manufacturers - JLCPCB / PCBWAY ...

    Pin headers in PCB design:

    • 2x female pin-header
    • 15-pin (for Arduino Nano)
    • 1x female pin-header
    • 8-pin (for RFID reader RC522)
    • 1x female 90 ° pin-header 4-pin (for I2C LCD display converter 20x4)

    Spacers in the design PCB:

    Step 3: Wiring Diagram - RFID DOMINATOR

    Schematics (wiring diagram) for RFID DOMINATION TIMER - Eagle Export

    Step 4: Program for Retrieving UID of RFID Card Addresses for DOMINATOR

    The program is used to retrieve identifiers (UID) of RFID tags, cards that will be used in the program for RFID DOMINATOR This is not source code for RFID DOMINATOR main app project! The card address is listed in the serial (UART) monitor - 9600 baud / s used. It's a good idea to save and overwrite the report in a clear .xls (EXCEL) document that makes it easier to manage the assigned RFID cards for specific teams and entities

    You must import the MFRC522 library into your Arduino IDE to successfully load the source code to load UID cards. Download the RFID DOMINATOR project repository (referenced by the first link at the top of the page), copy the contents of the / src / folder (MFRC522 folder) to the / Arduino / libraries / folder (the path to the folder depends on where you have the Arduino IDE installed), most commonly in Documents / Program Files on older Windows operating systems.

    Program is availableat: https://github.com/martinius96/Airsoft-DOMINATOR-RFID/blob/master/examples/GET_UID/GET_UID.ino

    These UIDs of RFID cards can be used in main RFID DOMINATOR APP!

    There is also available template where you can write UID of your RFID cards for storage, archive:
    https://docs.google.com/spreadsheets/d/1EHpdJi8v84eJ-6ExEPT6JuPkxI9Tfbm8v85zGRFvJ1Q/edit?usp=sharing

    Step 5: RFID Domination Timer App

    RFID Domination Timer is not available for free. It is paid project that I have developed last 2 years.

    Project have its own webpage:
    https://martinius96.github.io/Airsoft-DOMINATOR-RFID/en/

    At webpage you can find Shareware version of project that let you to measure up to 15 seconds for each team. You can use 4 RFID different cards for entities (1 card per entity). It is mainly used for testing compatibility with hardware before buying full version. Full version available only in machine code - .hex, I don't offer source code .ino.

    Be the First to Share

      Recommendations

      • Clocks Contest

        Clocks Contest
      • Cold Challenge

        Cold Challenge
      • Game Design: Student Design Challenge

        Game Design: Student Design Challenge

      2 Comments

      0
      57th Cork
      57th Cork

      1 year ago on Step 5

      Link in Step5 doesn;t work. Otherwise great instructible.

      1
      martinius96
      martinius96

      Reply 1 year ago

      thanks, fixed, should work now.