Repository mit Projekt - Schaltplänen, Maschinencodes zum Testen - Github: Airsoft - RFID DOMINATOR - Arduino
Wenn Sie Software für DOMINATOR kaufen möchten, wenden Sie sich an: martinius96@gmail.com
Arduino LCD RFID, NFC RC522 Stopwatch Schematics Airsoft Paintball DOMINATOR

RFID DOMINATOR - Stoppuhr für Airsoft | Paintball


Die neue Version des RFID DOMINATOR-Projekts (Domination Timer) 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 Chip)
  • Firmware version: 0x92 = Version 2.0 - (Original NXP Chip)
  • Benutzerentitäten in einem farbcodierten RFID DOMINATOR-Projekt:

    RFID-Armband nach ISO / IEC 14443-A - Tím RED
    Mannschaft RED
    RFID-Armband nach ISO / IEC 14443-A - Tím GRE
    Mannschaft GRE
    RFID-Armband nach ISO / IEC 14443-A - Rozhodca
    Schiedsrichter
    RFID-Armband nach ISO / IEC 14443-A - Eraser
    Radiergummi

    Projektbeschreibung:

    DOMINATOR ist eine Gerätestoppuhr für Sportarten wie Airsoft, Paintball. Die Stoppuhr verwendet einen Arduino Control-Mikrocontroller (Arduino Uno / Nano) oder einen separaten Chip (Atmel) AtMega328P, der die gesamte Systemlogik steuert. Die Stoppuhr enthält eine 16 x 2 (16 Zeichen x 2 Zeilen) oder 20 x 4 große LCD-Zeichenanzeige, auf der die Zeiten einzelner Teams angezeigt werden. Es gibt 2 Teams im Spiel - RED Mannschaft und GRE Mannschaft die gegeneinander spielen und den imaginären Punkt einnehmen, der von diesem Gerät gebildet wird - DOMINATOR. Zu Beginn des Spiels zeigt das Display die Zeiten 00 Stunden, 00 Minuten, 00 Sekunden für RED Mannschaft , GRE Mannschaft . Jedes Mitglied des Teams ist mit einer Karte, einem Armband oder einem Schlüsselanhänger ausgestattet, der mit einem RFID-Lesegerät auf der Frequenz 13,56 MHz kommuniziert, wenn es sich in Reichweite befindet. Schlüsselanhänger und Armbänder können farbcodiert werden (grün, rot je nach Team und Funktion ...), wodurch sie effizienter an die Spieler verteilt werden können, aber auch deren Archivierung und Speicherung. Wenn das RED Mannschaft einen Punkt belegt, hängt der Teamspieler seine Karte an den Leser an und belegt damit den Punkt. Diese Aktion löst einen Summer aus, der eine Änderung des Punkts ankündigt. Dann leuchtet die LED des ROTEN Teams an dieser Station auf und die Anzeige fügt Zeit für dieses Team hinzu. Wenn ein GRE Mannschaft einen Punkt belegt und ein Mitglied dieses Teams die Karte am Lesegerät anbringt, ertönt erneut ein Summer, die LED des Teams leuchtet auf, die Teamzeit von RED wird angehalten und Teamzeit zählt. GRE, das den Punkt besetzte. Wenn die Karte / der Schlüsselanhänger vom Veranstalter (Schiedsrichter) angebracht wird, werden beide Male angehalten, bis eines der Teams die Karte einlegt. Dieser Kartentyp eignet sich daher zum Starten einer Pause, kann aber auch am Ende des Spiels verwendet werden, wenn die Zeit angehalten werden muss, um das Spiel zu bewerten. Es gibt noch einen vierten Kartentyp in DOMINATOR - Radiergummi, der beide Male pausiert und wie nach dem Starten der DOMINATOR-Stoppuhr auf die Anfangswerte zurückgesetzt wird. Zum Neustarten des Spiels wird ein neues Spiel initialisiert. Das Projekt eignet sich für Airsoft-Veranstaltungen, Sportanlagen oder Airsoft-Teams, die die Ausrüstung bauen können. Der Vorteil des DOMINATOR-Systems besteht darin, dass das System geklont werden und X-Punkte mit derselben Konfiguration über einen Maschinencode erstellen kann, der unabhängig im Spiel bekämpft werden kann, während die RFID-Karten auf allen DOMINATOR-Geräten vollständig funktionieren. Das System ist getestet, funktionsfähig und wartungsfreundlich. Der NXP RC522-Leser arbeitet mit einer Frequenz von 13,56 MHz, registriert RFID-Tags bei ca. 3 Zentimetern (fast physischer Kontakt mit dem Leser ist erforderlich) und kompatibles ISO / IEC 14443-A-Tag-Format. Der angegebene Tag-Standard umfasst auch ISIC-Buskarten, die als NFC-Karten fungieren und ihre physische Adresse - UID - an einen Leser in Reichweite übermitteln können.

    Hardware für das Projekt - RFID DOMINATOR:

  • Arduino Uno/NanoArduino Uno/Nano
  • RFID Leser RC522 (13.56MHz)RFID čítačka RC522
  • ISO / IEC 14443-A Standard-Schlüsselanhänger / Karten / ArmbänderKľúčenky, karty, náramky na 13.56MHz štandardu ISO/IEC 14443-A
  • BuzzerHlásič priloženia karty
  • 2x LED DiodenLED diódy - indikátor aktívneho tímu na bode
  • RFID DOMINATOR - DOMINATION TIMER

    Funktionsprinzip auf der Hardwareseite:

  • Der RF5-Leser RC522 kommuniziert mit dem Arduino über den SPI-Bus. Es liest die UID (Kennung) von RFID-Karten in Reichweite und leitet diese Kennung an Arduino weiter, das die Programmlogik ausführt. Der Leser reagiert auf den Abstand des Chips etwa 3 cm von der Antenne.
  • Arduino vergleicht die Adresse der gelesenen Karte in einer Mehrfachbedingung, wendet digitale Zustände auf Dioden an, führt alle 100 ms einen Universalzähler aus (zählt in Zehntelsekunden) und steuert die Zählung beider Male.
  • Die Zeit wird über den I2C-Bus an die 20x4-Zeichenanzeige gesendet, wo sie aufgezeichnet wird. Das Display hält bis zu 30 ms bei einer I2C-Busgeschwindigkeit von 100 kHz - Standardgeschwindigkeit.
  • Maximaler Zeitbereich, der im System aufgelistet werden kann: 99 Stunden, 59 Minuten und 59 Sekunden
    Verbrauch: ca. 110mAh mit 5V Stromversorgung. Geeignet für die Stromversorgung über Power Bank, Ladegerät von einem Telefon mit USB-Ausgang.

    So geben Sie ein RFID DOMINATOR-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 DOMINATOR 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 DOMINATOR:



    Leiterplatte - (PCB) - RFID DOMINATOR - GERBER / Produktion auf Fotoroute


    Das PCB-Design sieht die Verwendung einer Arduino Nano-Platine vor
  • Die Leiterplatte ist doppelseitig mit Überzügen, Abmessungen: 100 x 105 mm
  • Leiterplattenproduktion in China

    PCBs können in der Slowakei unter hergestellt werden PB Spoj, oder auch in China - Maschinenproduktion aus GERBER-Dateien. Einer der beliebtesten und billigsten Hersteller ist: JLCPCB. GERBER-Dateien können direkt als Archiv hochgeladen werden, während die Leiterplatte visualisiert wird, die von ihr aufgezeichneten Schichten automatisch festgelegt werden und die Abmessungen der Leiterplatte festgelegt werden. Die Produktion dauert 1-2 Tage. Dieser Hersteller war berühmt für die Herstellung von 10 Stück Leiterplatten für 2 US-Dollar. Heute können Sie mit JLCPCB 5 Stück dieser Leiterplatte für RFID DOMINATOR für 6,96 € und 10 Stück für 10,16 € herstellen. Transport - Die günstigste Alternative ist für 7,44 € bis DHL mit Lieferung innerhalb von 3-5 Werktagen erhältlich, während die Transportkosten 23,16 € betragen. JLCPCB verwendet automatisch einen Rabattgutschein in Höhe von 8 € für den Versand, der Ihnen nach der Registrierung zugewiesen wird. Mit der günstigsten Versandalternative mit Lieferung innerhalb von 25 Tagen ist dieser Versand beim ersten Kauf kostenlos. Es ist auch möglich, andere verfügbare Hersteller zu verwenden, zum Beispiel: PCBWay, AllPCB, NextPCB, SeeedStudio, die über die Technologie für die maschinelle Herstellung von Leiterplatten aus GERBER-Dateien verfügen.

    DPS pre Airsoft DOMINATOR - JLCPCB

    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 Abstandhalter für Zeichen-LCD-Anzeige 20x4 (Ø max 2,5 mm)
  • 2x Abstandhalter für RFID RC522 (Ø max 3,5 mm)
  • Teileabmessungen:

    Ein PDF-Dokument mit Teileabmessungen ist verfügbar: HIER
    RFID DOMINATOR - DOSKA PLOŠNÝCH SPOJOV - DPS - PCB - RC522, Arduino - Nano, buzzer, LED, stopky, stopwatch
    RFID DOMINATOR - DOSKA PLOŠNÝCH SPOJOV - DPS - Výroba fotocestou

    Die Verkabelung der Klemmen - RFID DOMINATOR - 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 DOMINATOR:


    Airsoft Dominator RFID

    Programm zum Lesen von UID-Adressen von RFID-Karten für DOMINATOR


  • Mit dem Programm werden Kennungen (UID) von RFID-Tags abgerufen, Karten, die im Programm für RFID DOMINATOR 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 Teams 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 DOMINATOR-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.

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

    Fyzické UID RFID kariet uložené v prehľadnom Excel dokumente

    Programmausgabe an die UART-Schnittstelle:

    Výpis UID RFID tagu, karty na UART rozhranie s vypísaním typu karty

    Software-Implementierung für RFID DOMINATOR:

  • UID-Daten für RED, GRE, Referee und Eraser, eingebettet in Felder, die einfach skaliert werden können, um die Anzahl der Spieler zu erhöhen
  • Software-Implementierung - DOMINATION TIMER RFID
    /*|-------------------------------------------------|*/
    /*|Názov: Načítanie UID RFID kariet                 |*/
    /*|Popis: Načíta prostredníctvom RFID čítačky RC522 |*/
    /*|adresu RFID karty, ktorá je priložená a vypíše   |*/
    /*|UID na UART rozhranie.                           |*/
    /*|Zaznamenané UID kariet sa použijú v DOMINATOR-e  |*/
    /*|Autor: Martin Chlebovec                          |*/
    /*|E-mail: martinius96@gmail.com                    |*/
    /*|Licencia pouzitia: MIT                           |*/
    /*|Revízia: 12. Marec 2021                          |*/
    /*|-------------------------------------------------|*/
    
    #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);
      while (!Serial);
      SPI.begin();
      rfid.PCD_Init(); // Init MFRC522
      rfid.PCD_SetAntennaGain(112); // set to max (00001110)
      rfid.PCD_DumpVersionToSerial();
    }
    
    void loop() {
      if (rfid.PICC_IsNewCardPresent() && rfid.PICC_ReadCardSerial()) {
        Serial.print(F("Card UID: "));
        dump_byte_array(rfid.uid.uidByte, rfid.uid.size);
        Serial.println();
        Serial.print(F("PICC type: "));
        MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak);
        Serial.println(rfid.PICC_GetTypeName(piccType));
        rfid.PICC_HaltA();
        rfid.PCD_StopCrypto1();
      }
    
    }
    
    void dump_byte_array(byte *buffer, byte bufferSize) {
      for (byte i = 0; i < bufferSize; i++) {
      }
      Serial.print("Nacitany kod: ");
      unsigned long kod = 10000 * buffer[4] + 1000 * buffer[3] + 100 * buffer[2] + 10 * buffer[1] + buffer[0]; //finalny kod karty
      Serial.println(kod);
    }
    

    I2C-Scanner - ein Programm zum Lesen der Adresse des I2C-Wandlers für das LCD-Display


    Erwartete Ausgabe des I2C-Scanners:

    Výpis I2C adresy, na ktorej komunikuje I2C prevodník pre displej 16x2 / 20x4
    Die Wire-Bibliothek ist in die Arduino IDE integriert. Eine Installation ist nicht erforderlich. Das Programm kann sofort hochgeladen werden. Es wird empfohlen, den Hardware-I2C-Konverter für die 16x2 / 20x4-Anzeige auch ohne Anzeige anzuschließen, bevor Sie das Programm starten.
    #include <Wire.h>
     
     
    void setup()
    {
      Wire.begin();
     
      Serial.begin(9600);
      while (!Serial);             // Leonardo: wait for serial monitor
      Serial.println("\nI2C Scanner");
    }
     
     
    void loop()
    {
      byte error, address;
      int nDevices;
     
      Serial.println("Scanning...");
     
      nDevices = 0;
      for(address = 1; address < 127; address++ )
      {
        // The i2c_scanner uses the return value of
        // the Write.endTransmisstion to see if
        // a device did acknowledge to the address.
        Wire.beginTransmission(address);
        error = Wire.endTransmission();
     
        if (error == 0)
        {
          Serial.print("I2C device found at address 0x");
          if (address < 16)
            Serial.print("0");
          Serial.print(address,HEX);
          Serial.println("  !");
     
          nDevices++;
        }
        else if (error==4)
        {
          Serial.print("Unknown error at address 0x");
          if (address < 16)
            Serial.print("0");
          Serial.println(address,HEX);
        }    
      }
      if (nDevices == 0)
        Serial.println("No I2C devices found\n");
      else
        Serial.println("done\n");
     
      delay(5000);           // wait 5 seconds for next scan
    }