Repository con progetto - schemi elettrici, codici macchina per test - Github: Airsoft - DOMINATOR - Arduino
Se sei interessato all'acquisto del firmware per Configurable DOMINATOR, contatta in inglese a: martinius96@gmail.com
Arduino LCD Codificatore rotante Cronometro Schema Pulsante Menu Paintball DOMINATOR

DOMINATOR configurabile - cronometro per Airsoft Paintball


Entità nel progetto configurabili DOMINATOR:

Tím RED - tlačidlo pre používateľský vstup
Squadra RED
Tím GRE - tlačidlo pre používateľský vstup
Squadra GRE

Popis projektu:

DOMINATOR è un dispositivo - un cronometro per sport come Airsoft, Paintball, che consentono di misurare il tempo di occupazione di un punto con una risoluzione di secondi. Il cronometro è dotato di un display a caratteri LCD 16x2 / 20x4. Dopo l'accensione del dispositivo, è possibile passare da una voce di menu all'altra sul display utilizzando il codificatore rotante - KY-040. Tramite gli elementi è possibile avviare la modalità di gioco DOMINATOR, che risponde ai pulsanti (input) dell'utente, oppure è possibile impostare il tempo di occupazione della squadra prima della partita nella modalità configurabile. Questo parametro rappresenta la durata richiesta per tenere premuto il pulsante fino a quando la squadra occupa con successo il punto. Questo parametro configurabile è implementato per il numero di secondi. Il secondo parametro configurabile è la fine automatica del gioco per raggiungere un certo numero di ore del cronometro con l'opzione ILLIMITATO - quando il cronometro conta all'infinito, o dopo il tempo massimo di visualizzazione sul display - 99 ore, 59 minuti, 59 secondi. Il cronometro utilizza un microcontrollore di controllo Arduino (Arduino Uno / Nano) o un chip separato (Atmel) AtMega328P, che controlla l'intera logica del sistema. Ci sono 2 squadre nel gioco - RED squadra un GRE squadra, che giocano l'uno contro l'altro e occupano il punto immaginario formato da questo dispositivo - DOMINATORE. All'inizio del gioco, il display mostra i tempi 00 ore, 00 minuti, 00 secondi per RED squadra, GRE squadra. Il pulsante DOMINATORE utilizza l'input del pulsante per l'azione di occupare un punto da parte di un membro della squadra, nonché per l'input di un'entità arbitro. Pertanto, un totale di 2 pulsanti per 3 entità di sistema, vengono utilizzati i pulsanti di commutazione collegati nella modalità INPUT_PULLUP. Premendo il pulsante si invia il segnale GND al terminale di ingresso digitale di Arduino (segnale di commutazione Active-LOW). Vengono utilizzati pulsanti di commutazione, non pulsanti di commutazione (non reagirebbero alla logica del sistema, tutto il software verrebbe sempre "premuto"). Il DOMINATOR configurabile risponde alla lunghezza della pressa, che è impostata nel menu di configurazione tramite un encoder. È necessario tenere premuto il pulsante per un determinato periodo di tempo. Il sistema non risponde a pressioni brevi. Nella versione estesa, è anche possibile impostare la neutralizzazione del punto (fermando il tempo della squadra attiva nel punto se un membro dell'altra squadra tiene il pulsante almeno il 50% del tempo richiesto) I tempi sono visualizzati su un display a caratteri LCD che misura 16x2 o 20x4, che comunica con il microcontrollore di controllo tramite il bus I2C. Se un membro della squadra della squadra RED occupa un punto premendo un pulsante, viene attivato un cicalino, che annuncia un cambiamento nel punto con un breve segnale acustico. Quindi il LED della squadra ROSSA in questa stazione si accenderà e il display inizierà ad aggiungere tempo per quella squadra. Se il punto è occupato dalla squadra GRE e il membro della squadra preme il pulsante appropriato, il cicalino suona di nuovo, il LED della squadra GRE si accende, il tempo RED viene messo in pausa e viene conteggiato il tempo della squadra GRE che ha occupato il punto. L'arbitro deve fermare entrambi i pulsanti contemporaneamente per fermare entrambi i tempi. I tempi vengono fermati fino a quando il punto non viene rioccupato da alcune delle squadre del sistema Questo tipo di input è quindi adatto per iniziare una pausa, ma può anche terminare il gioco per la sua valutazione. Il nuovo gioco viene implementato resettando l'intera scheda Arduino tramite il pulsante RST, oppure scollegando e ricollegando l'alimentazione. Nel menu è inoltre possibile configurare l'attività / inattività del buzzer, che può essere inserito anche nel gioco. La modalità di gioco DOMINATOR utilizza un cicalino per annunciare l'attuale occupazione di un punto. La gomma non esiste in questo tipo di DOMINATOR. Un secondo gioco può essere implementato nel sistema: il conto alla rovescia, che consente di impostare un conto alla rovescia dei minuti mentre deve essere interrotto. Il giocatore interrompe il conto alla rovescia tenendo premuti entrambi i pulsanti per un certo tempo (in base al menu di configurazione per la durata della pressione da DOMINATOR).

Hardware del progetto - DOMINATOR configurabile:

  • Arduino Uno/NanoArduino Uno/Nano
  • Encoder rotativo a 360 ° (KY-040)Rotačný enkóder - KY-040
  • Display a caratteri LCD 20x4LCD znakový displej 20x4
  • Convertitore I2C per display LCDLCD znakový displej 20x4
  • CicalinoHlásič priloženia karty
  • 2x LED diodiLED diódy - indikátor aktívneho tímu na bode
  • 2x interruttore (pushbutton)LED diódy - indikátor aktívneho tímu na bode

  • Schema elettrico - Configurabile DOMINATOR


    Konfigurovateľný DOMINATOR - schéma zapojenia - Arduino / Airsoft, stopwatch, DOMINATION

    DOMINATORE configurabile durante l'esecuzione del sistema - test


    Konfigurovateľné stopky - Arduino pre Airsoft, Paintball

    Tabella collegamento morsetti - Configurabile DOMINATORE - corrisponde pienamente allo schema elettrico:

    Arduino Uno / Nano (AtMega328P) Convertitore I2C per display LCD
    GND GND
    5V Vcc
    A4 SDA
    A5 SCL
    Arduino Uno / Nano (AtMega328P) Codificatore a rotazione - KY-040
    GND GND
    5V +
    D3 CLK
    D4 DT
    D5 SW
    Arduino Uno / Nano (AtMega328P) LED diodi
    GND GND
    D6 IN (RED)
    D7 IN (GREEN)
    Arduino Uno / Nano (AtMega328P) Bottoni (INPUT_PULLUP)
    GND GND
    D8 IN (RED)
    D9 IN (GRE)
    Arduino Uno / Nano (AtMega328P) Cicalino
    D10 IO
    GND GND

    Programma di test (Shareware) - Configurabile DOMINATOR con codice macchina


    Una versione Shareware (.hex) è disponibile per il progetto DOMINATOR configurabile. La versione consente di misurare un massimo di 60 secondi per ogni squadra. Quando questo tempo è raggiunto, il cronometro si ferma. L'obiettivo della versione è verificare la compatibilità con il tuo hardware. I codici macchina basati sull'indirizzo del convertitore I2C per il display LCD sono disponibili nel repository Github. Gli indirizzi più utilizzati sono 0x27 e 0x3F. Se non conosci l'indirizzo del tuo convertitore, usa l'esempio integrato in Arduino IDE -> I2C Scanner, che scriverà l'indirizzo sull'interfaccia UART (monitor seriale). Il codice macchina può essere caricato sul microcontrollore Arduino Uno tramite il software AVRDUDE - parte dell'IDE Arduino, o con un'interfaccia GUI tramite XLoader - più facile da usare.

  • AVRDUDE deve essere eseguito tramite il CMD (riga di comando) installato con l'IDE di Arduino. Situato in C: /Users/User/Documents/ArduinoData/packages/arduino/tools/avrdude/6.X.X-arduino/bin
  • Comando di esempio per caricare un programma su Arduino Uno / Nano (AtMega328P):
  • Per firmware con indirizzo display I2C 0x27 (esempio porta COM 21 e 115200 baud / s): avrdude -CC: avrdude.conf -v -patmega328p -carduino -PCOM21 -b115200 -D -Uflash:w:encoder_0x27.ino.hex:i
  • Per firmware con indirizzo display I2C 0x3F (esempio porta COM 21 e 115200 baud / s): avrdude -CC: avrdude.conf -v -patmega328p -carduino -PCOM21 -b115200 -D -Uflash:w:encoder_0x3F.ino.hex:i
  • XLoader è un'applicazione Windows (strumento eseguibile .exe) con una semplice interfaccia grafica che consente di selezionare il firmware - codice macchina (.hex), la piattaforma di destinazione e può mostrare dinamicamente la porta COM su cui si trova il dispositivo individuato.
  • Facendo semplicemente clic su Carica, il codice macchina può essere caricato automaticamente (XLoader utilizza lo strumento AVRDUDE simile all'IDE di Arduino). La finestra XLoader informa dell'avvenuto caricamento sotto forma di un elenco di byte caricati.
  • Il firmware può essere scaricato dal repository: Qui. Il firmware si trova nella cartella Github del repository del progetto / firmware / button_dominator / diviso in base all'indirizzo del convertitore I2C (lo hai scoperto dall'output dello scanner I2C all'interfaccia UART).

    Firmware disponibile - Pulsante configurabile DOMINATOR

    Nome firmware (nella cartella encoder_dominator) Disegnato per Scarica
    encoder_0x27.ino.hex Display a caratteri LCD formato 16x2 o 20x4 con convertitore I2C, che comunica all'indirizzo 0x27 Scarica
    encoder_0x3F.ino.hex Display a caratteri LCD formato 16x2 o 20x4 con convertitore I2C, che comunica all'indirizzo 0x3F Scarica