Projekt-Repository - Firmware-Shareware für RFID-Domination-Timer: Airsoft Domination Timer firmware
Wenn Sie an der vollständigen Firmware für den RFID Stoppuhr der Dominanz interessiert sind, wenden Sie sich bitte an den Autor des Projekts auf Englisch unter:

martinius96@gmail.com

Arduino LCD RFID, NFC RC522 Stopwatch Schematics Airsoft Paintball Stoppuhr der Dominanz

RFID Stoppuhr der Dominanz - Stoppuhr für Airsoft | Paintball


Die neue Version des RFID Stoppuhr der Dominanz-Projekts (Stoppuhr der Dominanz) unterstützt diese Arten von Firmware-RFID-Lesegeräten NXP RC522:
  • Firmware version: 0x12 = counterfeit chip - (Nicht originaler NXP-Chip, Ersatz)
  • Firmware version: 0x91 = Version 1.0 - (Original NXP Semiconductors Chip)
  • Firmware version: 0x92 = Version 2.0 - (Original NXP Semiconductors Chip)
  • Benutzerentitäten in einem farbcodierten RFID Stoppuhr der Dominanz-Projekt:

    RFID-Armband nach ISO / IEC 14443-A - Mannschaft RED
    Mannschaft RED
    RFID-Armband nach ISO / IEC 14443-A - Mannschaft GRE
    Mannschaft GRE
    RFID-Armband nach ISO / IEC 14443-A - Schiedsrichter
    Schiedsrichter
    RFID-Armband nach ISO / IEC 14443-A - Radiergummi
    Radiergummi

    Projektbeschreibung - RFID Stoppuhr der Dominanz:

    Stoppuhr der Dominanz ist ein Gerät, das für 2 Mannschaft entwickelt wurde, die gegeneinander spielen. Die Stoppuhr ist geeignet für den Airsoft / Paintball Spielmodus DOMINATION, bzw. Hügel erobern. Sie bestehen aus einem ATmega328P-Mikrocontroller (AVR), der Teil des Arduino-Entwicklungskits (Uno / Nano / Pro Mini) oder eigenständig verwendet werden kann. Zur Visualisierung der Zeiten dient ein LCD-Zeichendisplay (Größe 16x2 oder 20x4), das mit dem Mikrocontroller verbunden ist und mit diesem kommuniziert. Die Zeiten werden in zwei Zeilen untereinander aufgelistet und werden dynamisch aktualisiert, wenn sich ein aktives Mannschaft an dem Punkt befindet (ein von einem Mannschaft besetzter Punkt). Die Stoppuhr ist mit Anzeige-LEDs in Form einzelner Mannschaften ausgestattet, die das aktive Mannschaft am Punkt signalisieren und einem Detektor (Piezowandler), der nach Aufstecken der RFID-Karte den Wechsel am Punkt ankündigt. Mannschaften werden im Spiel implementiert - RED Mannschaft und GRE Mannschaft die gegeneinander spielen und versuchen, den Punkt zu besetzen und dann so lange wie möglich zu behalten. Zu Beginn des Spiels zeigt das Display die Zeiten 00 Stunden, 00 Minuten, 00 Sekunden für RED Mannschaft , GRE Mannschaft . Jedes Mannschaftsmitglied ist mit einem RFID-Chip ausgestattet, der in das Armband (oder die Karte / den Schlüsselanhänger) integriert ist. Der RFID-Chip überträgt seine eindeutige Kennung - UID (unique ID), die von einem RFID-Lesegerät gelesen und in der Logik des Systems verifiziert wird, zu dem die Entität (das Mannschaft) gehört. Einzelne Armbänder können farblich gekennzeichnet werden (rot, grün nach Mannschaft- und Entity-Funktion), wodurch sie schneller an die Spieler verteilt, aber auch farblich archiviert und gespeichert werden können. Das RED Mannschaft besetzt den Punkt, an dem das RED-Mannschaftsmitglied seine Karte am RFID-Lesegerät anbringt. Diese Aktion löst einen Summer aus, der den Punktwechsel mit einem kurzen Piepton ankündigt. Anschließend leuchtet die LED des RED Mannschaft an dieser Station und das Display beginnt die Zeit für dieses Mannschaft zu addieren, bis die Mannschaftkarte des Mitglieds eingesteckt wird , Schiedsrichter oder Radiergummi . Wenn der Punkt von einem GRE-Spieler besetzt ist und die Karte an einem RFID-Lesegerät befestigt ist, kündigt der Summer diese Änderung mit einem kurzen Piepton an, die GRE-LED leuchtet (RED LED erlischt), REDs aktuelle Zeit stoppt und GREs Zeit wird gewertet.


    Wenn der Schiedsrichter seine RFID-Karte anlegt, stoppt die Laufzeit beim aktuellen Wert. Der Punkt wird neutral, die LED des aktiven Mannschaften erlischt. Die Unterbrechung dauert an, bis ein Mitglied des RED Mannschafts oder des GRE Mannschafts seine Karte vorlegt. Dieser Kartentyp ist somit geeignet, ein laufendes Spiel vorübergehend zu unterbrechen, Eingriffe eines Spielers oder Verletzungen zu kontrollieren. Gleichzeitig kann die Karte am Ende der Spielrunde verwendet werden, um die Runde zu bewerten, Mannschaften neu zu spawnen, bevor es weitergeht. Wenn der Radierer die Karte anbringt, werden beide Zeiten angehalten und auf den Anfangswert von 00 Stunden, 00 Minuten, 00 Sekunden zurückgesetzt, der angezeigt wird. Die Radiergummikarte wird verwendet, um das Spiel neu zu starten, um ein neues Spiel zu initialisieren, ohne dass ein Einschaltzyklus erforderlich ist. Der RFID-Reader reagiert sofort auf das Einstecken einer RFID-Karte, inklusive der gesamten Logik des Dominator-Projekts. Das Projekt eignet sich für Airsoft-Events (MilSim, LARP), Sportstätten oder Airsoft-Mannschaften, die mit eigener Hardware ein Dominator-Gerät bauen können. Die Firmware ist universell, basierend auf dem Schaltplan, es ist auch möglich das vorhandene PCB-Design für die Herstellung von Leiterplatten zu verwenden. Der Vorteil des RFID Stoppuhr der Dominanz-Projekts besteht darin, dass die Nutzungslizenz den Benutzer berechtigt, X-Punkte mit gleicher Konfiguration über Maschinencode zu klonen und zu erstellen. Maschinencode (.hex) ist ein kompiliertes Firmware-Format für das RFID Dominator-Projekt für gelieferte UID-RFID-Karten, die vor der Kompilierung in den Code eingebettet werden. Damit ist es möglich, beliebig viele unabhängig voneinander arbeitende RFID-Stoppuhr der Dominanz-Punkte im Spiel zu platzieren, die nach einer einheitlichen Konfiguration auf identische RFID-Karten reagieren. Das RFID Dominator System ist abgestimmt, es kann sofort ins Spiel eingesetzt werden. Firmware-Uploads innerhalb von 10 Sekunden über XLoader .


    Liste der Zeiten auf der LCD-Zeichenanzeige 20x4:


    Liste der Zeiten auf der LCD-Zeichenanzeige 20x4

    Kompatible Steuerungshardware für RFID Stoppuhr der Dominanz:



    Kompatible Peripheriegeräte für RFID Stoppuhr der Dominanz:


    RFID Stoppuhr der Dominanz - DOMINATION TIMER

    Funktionsprinzip auf der Hardwareseite:

    Der NXP RC522 RFID Reader kommuniziert mit dem Mikrocontroller (Arduino / Standalone ATmega328P Chip) über den SPI Bus mit einem Taktsignal (SCLK) von 4 MHz. Der RC522-Reader reagiert auf den RFID-Chip in einem Abstand von ca. 3 cm von der Antenne mit einem konfigurierbaren Antennengewinn im Bereich von 18 bis 48 dB (48 dB wird in der Endanwendung für Stoppuhr der Dominanz verwendet). Liest die UID (Identifier) von RFID-Chips in Reichweite, leitet diesen Identifier an Arduino weiter. Arduino vergleicht die gelesene Kartenadresse in einem Multi-Zustand, löst einen Summerton aus, wendet digitale Zustände an die LEDs an, führt einen universellen Zähler aus, der von der internen Funktion millis() gesteuert wird, die für das Zählen beider Zeiten verantwortlich ist. Aufgrund der erfüllten Bedingung wird der Zähler auf das angegebene Mannschaft angewendet, zu dem die UID gehört und der Zeitzähler läuft. Die Zeit wird auf einem 16x2 oder 20x4 LCD-Zeichen-Display angezeigt. Die Zeitdaten werden über den I2C-Bus mit einem Taktsignal (SCL) von 100 kHz (Standard Speed) gesendet. Um die Anzeige möglichst schnell wiederherzustellen, wird nur die Zahl an der angegebenen Stelle (vorgegebenes Zeichen) überschrieben. Stunden und Minuten und Sekunden werden nur bei Änderung und immer nur für ein bestimmtes Mannschaft neu geschrieben. Bei ernsthaftem Interesse kann im Maschinencode für ATmega328P Firmware erstellt werden, um für andere Arten von RFID-Lesegeräten zu messen: RDM6300, PN532, Wiegand W26, Erhöhung des I2C-Bus-Taktsignals auf 400 kHz (Fast Speed). Mögliche Firmware-Erweiterung für das Stoppuhr der Dominanz-Spiel auf 3 oder 4 Mannschaften.

    RFID Dominator - hra pre 4 tímy
    Maximaler Zeitbereich, der im System aufgelistet werden kann: 99 Stunden, 59 Minuten und 59 Sekunden
    Verbrauch: ca. 50 mAh mit 5V Stromversorgung. Geeignet für die Stromversorgung über Power Bank, Ladegerät von einem Telefon mit USB-Ausgang.

    So geben Sie ein RFID Stoppuhr der Dominanz-Projekt an:

  • Das Projekt eignet sich für Mannschaften, Vereine, Sportanlagen und Veranstaltungen.
  • Wenn RFID-Karten, Armbänder oder Schlüsselanhänger farbcodiert sind, sind sie sehr einfach und universell an die Spieler verteilt.
  • Tabs sind für alle Altersgruppen einfach zu verwenden. Der Chip ist in einem Kunststoffgehäuse geschützt, es macht nichts gegen Schmutz, Wasser ...
  • Geeignet für DOMINATION-Spielmodi, Capture Point (mehr als ein Stoppuhr der Dominanz kann im Spiel verwendet werden), ein Spielmodus mit einer ausgeglichenen Anzahl von Spielern.
  • Die Verwendung ist hauptsächlich für Sportarten wie Airsoft, Paintball und Nerf Wars.

  • Funktionsdemonstration - RFID Stoppuhr der Dominanz:



    Leiterplatte - (PCB) - RFID Stoppuhr der Dominanz


    Das PCB-Design sieht die Verwendung einer Arduino Nano-Platine vor
  • Die Leiterplatte ist doppelseitig mit Überzügen, Abmessungen: 104x101 mm
  • Leiterplattenfertigung für RFID Stoppuhr der Dominanz

    Das PCB-Design für das Projekt RFID Stoppuhr der Dominanz (1.0) ist im .lppz-Format (LibrePCB) verfügbar. Das Archiv kann auf die Website der deutschen Firma AISLER hochgeladen werden, die eine Leiterplatte maschinell herstellen kann, einschließlich Bohren und Gewindeschneiden. Der Standardproduktionspreis beträgt 23 € für drei Stück, das ist die Mindestbestellmenge (7 € / Stück). Der Preis ist auch mit Porto und geringer Priorität bei Lieferung innerhalb von 3 Wochen nach Bestellung. Es wird empfohlen, auf der Platine eine Stiftleiste zu verwenden, da im Fehlerfall die Hardware ohne Lötaufwand ausgetauscht werden kann. Abstandshalter können auch durch Gewindestangen ersetzt werden. Die Box für das Projekt ist nicht ausgelegt. Die Platine kann in einer Box oder an der Wand durch 4 Befestigungslöcher in den Ecken der Platine montiert werden. Die Produktion kann auch bei chinesischen Herstellern realisiert werden - JLCPCB / PCBWAY ...

    Stiftkopf im PCB-Design:

  • 2x weiblicher Pin-Header 15-polig (für Arduino Nano)
  • 1x 8-polige Pin-Header-Buchse (für RFID-Lesegerät RC522)
  • 1x 90 ° -Pin-Kopfbuchse 4-polig (für I2C-LCD-Display-Wandler 20x4)
  • Abstandshalter in der Designplatine:

  • 4x Distanzsäule für LCD-Zeichenanzeige 20x4 (M3 15x6 mm), 4x M3 Schraube, 4x M3 Mutter
  • 2x Distanzpfosten für RFID NXP RC522 (M3 15x6 mm), 2x M3 Schraube, 2x M3 Mutter
  • 2x Befestigungslöcher (M3 Schraube / Gewindestange)
  • Teileabmessungen:

    Ein PDF-Dokument mit Teileabmessungen ist verfügbar: HIER
    DPS pre Airsoft Stoppuhr der Dominanz - AISLER Osadená DPS s komponentami pre RFID Dominator

    Die Verkabelung der Klemmen - RFID Stoppuhr der Dominanz - entspricht vollständig dem Schaltplan:

    Arduino Uno / Nano (ATmega328P) NXP RFID Leser RC522
    GND GND
    3V3 3V3
    D9 RST
    D10 SDA (SS)
    D11 MOSI
    D12 MISO
    D13 SCK
    Arduino Uno / Nano (ATmega328P) I2C-Wandler für LCD-Anzeige
    GND GND
    5V Vcc
    A4 SDA
    A5 SCL
    Arduino Uno / Nano (ATmega328P) Buzzer
    GND GND
    5V Vcc
    D5 IN
    Arduino Uno / Nano (ATmega328P) LED Dioden
    GND GND
    D4 IN (RED)
    D3 IN (GREEN)

    Schaltplan - RFID Stoppuhr der Dominanz:


    Airsoft Dominator RFID

    Testprogramm (Shareware) - RFID Stoppuhr der Dominanz mit Maschinencode


    Für das RFID Stoppuhr der Dominanz-Projekt steht eine Shareware-Version in Form von Maschinencode (.hex) für den Arduino-Mikrocontroller (ATmega328P) zur Verfügung. In der Version können Sie zunächst 4 verschiedene UID-RFID-Karten aufzeichnen, die den Mannschaften RED, GRE, Schiedsrichter und Radiergummi zugeordnet sind. Die Aufforderung zur Eingabe einer bestimmten Karte wird auf dem LCD-Zeichendisplay 16x2 oder 20x4 mit I2C-Wandler angezeigt. Anschließend ist es möglich, die Spielmechanik und die Reaktion des Lesegeräts auf die RFID-Karte mit Zeitvisualisierung auf dem Display zu testen. Es ist möglich, für jedes Team maximal 15 Sekunden Spielzeit zu messen, mit der Möglichkeit, es mit einer Radiergummi-Karte zurückzusetzen und erneut für 15 Sekunden zu messen. Maschinencode kann über die AVRDUDE-Software - Teil der Arduino IDE - oder mit einer GUI-Schnittstelle über XLoader auf den Arduino Uno-Mikrocontroller hochgeladen werden - einfacher zu bedienen.

  • AVRDUDE muss über das mit der Arduino IDE installierte CMD (Befehlszeile) ausgeführt werden. Befindet sich in C:/Users/User/Documents/ArduinoData/packages/arduino/tools/avrdude/6.X.X-arduino/bin
  • Beispielbefehl zum Hochladen eines Programms auf Arduino Uno / Nano (ATmega328P):
  • avrdude -CC: avrdude.conf -v -patmega328p -carduino -PCOM21 -b115200 -D -Uflash:w:sketch.ino.hex:i
  • XLoader ist eine Windows-Anwendung (ausführbares .exe-Tool) mit einer einfachen grafischen Oberfläche mit dem Sie die Firmware auswählen können - Maschinencode (.hex), die Zielplattform und kann dynamisch den COM-Port anzeigen, auf dem sich das Gerät befindet.
  • Durch einfaches Klicken auf Hochladen kann Maschinencode automatisch hochgeladen werden ( XLoader verwendet ähnlich wie Arduino IDE-Tool AVRDUDE). Das Fenster XLoader informiert Sie über einen erfolgreichen Upload, indem es die Anzahl der hochgeladenen Bytes auflistet.
  • Die Firmware kann aus dem Projekt-Repository heruntergeladen werden: HIER . Die Firmware befindet sich im Github-Ordner des Projekt-Repositorys /rfid_dominator/ aufgeteilt nach der Adresse des I2C-Konverters (das haben Sie aus der I2C-Scanner-Ausgabe auf der UART-Schnittstelle herausgefunden).

    Verfügbare Firmware (Shareware) - RFID Stoppuhr der Dominanz


    Firmware-Name (im Ordner rfid_dominator) Designed für Herunterladen
    Shareware_RFID_DOMINATOR.hex LCD-Zeichenanzeigegröße 16x2 oder 20x4 mit I2C-Konverter Firmware herunterladen

    Demonstration der Funktionalität - Shareware RFID Stoppuhr der Dominanz:


    RFID Dominator für Airsoft / Paintball - Shareware Arduino-Firmware
    Bei den neuesten chinesischen Arduino-Nano-Klonen, die einen "Old Bootloader" besitzen, muss mit 57600 Baud/s aufgenommen werden! Für andere Versionen mit dem neueren Bootloader 115200 Baud/s (diese Geschwindigkeit wird auch im AVRDUDE-Befehl zum Laden von Maschinencode verwendet).

    Programm zum Lesen von UID-Adressen von RFID-Karten für Stoppuhr der Dominanz


  • Mit dem Programm werden Kennungen (UID) von RFID-Tags abgerufen, Karten, die im Programm für RFID Stoppuhr der Dominanz verwendet werden
  • Die Kartenadresse ist im seriellen (UART) Monitor aufgeführt - 9600 Baud / s werden verwendet.
  • Es ist eine gute Idee, den Bericht in einem übersichtlichen XLS-Dokument (EXCEL) zu speichern und zu überschreiben, um die Verwaltung der zugewiesenen RFID-Karten für bestimmte Mannschaften und Entitäten zu vereinfachen.
  • Um den Quellcode zum Laden von UID-Karten erfolgreich hochzuladen, muss die MFRC522-Bibliothek in Ihre Arduino IDE-Umgebung importiert werden.. Laden Sie das RFID Stoppuhr der Dominanz-Projekt-Repository herunter (auf das durch den ersten Link oben auf der Seite verwiesen wird) und kopieren Sie den Inhalt des Ordners /src/ (Ordner MFRC522) in den Ordner / Arduino / library / (Pfad zum Ordner) hängt davon ab, wo Sie die Arduino IDE installiert haben), am häufigsten in Dokumenten / Programmdateien unter älteren Windows-Betriebssystemen.

    Verfügbare Bibliotheken für Mikrocontroller


    Bibliotheksarchiv (.zip) erweitern auf C:/Users/[User]/Documents/Arduino/libraries
    Name der Bibliothek Bibliotheksfunktion Herunterladen
    MFRC522

    Bibliothek für AVR-Mikrocontroller (ATmega328P) Arduino Uno / Nano / Mega. Es ermöglicht die Kommunikation mit dem RFID-Lesegerät NXP RC522 über den SPI-Bus.

    Herunterladen

    Beispiel für gespeicherte UID-RFID-Karten in Excel-Dokumenten (.xls):

    Physische UID von RFID-Karten gespeichert in einem übersichtlichen Excel-Dokument
    Softwareimplementierung - DOMINATION TIMER RFID
    Vorlage zum Speichern von Identifikatoren (UID) von RFID-Karten: On-line Schablone Google Spreadsheets Offline Schablone .xlsx
    /*|-------------------------------------------------|*/
    /*|Title: Reading RFID cards UID (unique identifier)|*/
    /*|Compatible for Arduino Uno / Nano / ATmega328P   |*/
    /*|Author: Martin Chlebovec (martinius96@gmail.com) |*/
    /*|E-mail: martinius96@gmail.com                    |*/
    /*|Revision: 28. July 2022                          |*/
    /*|-------------------------------------------------|*/
    
    
    //Template for writing RFID codes for RFID DOMINATION TIMER - Google SpreadSheet: https://docs.google.com/spreadsheets/d/1EHpdJi8v84eJ-6ExEPT6JuPkxI9Tfbm8v85zGRFvJ1Q/edit?usp=sharing
    
    #include <SPI.h>
    #include <MFRC522.h>
    #define SS_PIN 10
    #define RST_PIN 9
    MFRC522 rfid(SS_PIN, RST_PIN); // Instance of the class
    void setup() {
      Serial.begin(9600);
      Serial.println(F("Reading of RFID cards for RFID Domination Timer"));
      SPI.begin();
      rfid.PCD_Init(); // Init MFRC522
      rfid.PCD_SetAntennaGain(rfid.RxGain_max);
      rfid.PCD_DumpVersionToSerial(); //Write version of Firmware to UART
    }
    
    void loop() {
      if (rfid.PICC_IsNewCardPresent() && rfid.PICC_ReadCardSerial()) {
        dump_byte_array(rfid.uid.uidByte, rfid.uid.size);
        rfid.PICC_HaltA();
        rfid.PCD_StopCrypto1();
      }
    }
    
    void dump_byte_array(byte *buffer, byte bufferSize) {
      for (byte i = 0; i < bufferSize; i++) {
      }
      Serial.print(F("Detected UID (code) of RFID CARD: "));
      unsigned long code = 10000 * buffer[4] + 1000 * buffer[3] + 100 * buffer[2] + 10 * buffer[1] + buffer[0]; //finalny kod karty
      Serial.println(code);
    }