Arduino schéma - arduino.sk

Airsoft DOMINATOR - Tlačidlový - Arduino + I2C LCD

Kompletné projekty s návodom a zdrojovým kódom
Príspevky: 84
Registrovaný: Uto 23. Dec 2014 2:15:50

Airsoft DOMINATOR - Tlačidlový - Arduino + I2C LCD

Poslaťod martinius96 » Sob 22. Feb 2020 0:27:11

Dnešný článok sa bude bližšie zaoberať systémom DOMINATOR pre športy typu Airsoft, Paintball, ktorý bol vytvorený ako ekvivalent k RFID DOMINATOR-u, ktorý som realizoval v minulosti.
Článok o RFID DOMINATOR-e je aj na tomto fóre: https://www.pcforum.sk/airsoft-paintball-dominator-arduino-rfid-vt201278.html
Tlačidlový DOMINATOR využíva digitálne vstupy prostredníctvom štyroch tlačidiel pre interakciu používateľa so zariadením. DOMINATOR ako taký predstavuje stopky, ktoré na základe vstupu pripočítavajú čas jednému z tímov napríklad pri hrách typu Capture point či DOMINATION.
Obrázok
Funkcie tlačidiel:
    Tím (RED) - Po stlačení tlačidla sa rozsvieti červená LED dióda (dióda zeleného tímu zhasne), začne sa počítať čas červeného tímu na displeji
    Tím (GREEN) - Po stlačení tlačidla sa rozsvieti zelená LED dióda (dióda červeného tímu zhasne), začne sa počítať čas zeleného tímu na displeji
    Rozhodca - Po stlačení tlačidla sa čas na displeji zastaví
    Eraser - Po stlačení tlačidla sa čas na displeji zastaví a časy sa vyresetujú na 00:00:00
Jednotlivé tlačidla sú pripojené interným rezistorom hodnoty 20kΩ k 5V Arduina, teda sa spínajú proti zemi (Pri využití dlhého kábla pre vstup je nutné využiť externý rezistor s nižšou hodnotou, ktorý by eliminoval zákmity. Jedná sa teda o Active low signál, ktorý Arduino overuje. Systém je navrhnutý na funkcii millis(), ktorá vracia počet milisekúnd od štartu procesora. Vďaka tomu je možné systém riadiť na základe časovo orientovaných akcií a možnosť obsluhovať paralélne rôzne časové akcie - eventy.
Obrázok
Logika stopiek systému sa vykonáva každých 100 milisekúnd. Jednoduchý inkrementátor navyšuje počet desatín, až dôjde k pretečeniu na sekundy, následne pretečeniu sekúnd na minúty a pretečeniu minút na hodiny. Najväčšou položkou z pohľadu času je prepis znakového LCD displeja, ktorý sa používa. Prepis oboch riadkov, ktorý sa realizuje trvá cca 20-30 milisekúnd. Maximálny časový rozsah systému je 99 hodín, 59 minút a 59 sekúnd. Vhodný je teda aj pre niekoľko denné akcie, napríklad Fort Benning v Česku s trvaním 2 dni nepretržite a podobné akcie, kde môže byť tento herný mód zaujímavý. Rovnako tak i pre športové areály, ktoré môžu takýto herný mód ponúknuť do svojho portfólia hier, ktoré prevádzkujú.

Okrem logiky systému je možné spúšťať aj iné časovo orientované eventy, napríklad overovať dĺžku stlačenia tlačidla, či počet stlačení / držanie tlačidla. Každý tím môže obsadzovať bod držaním tlačidla po určitú dobu, napríklad 10 sekúnd. Druhý tím pri obsadení bodu musí držať tlačidlo 20 sekúnd, nakoľko sa za prvých 10 sekúnd dostane bod do neutrálneho stavu (nikomu sa nebude počítať čas) a následným držaním tlačidla ďalších 10 sekúnd už bod obsadí tento tím.

Koncept stopiek môže slúžiť napríklad aj na vyrátanie počtu bodov, ktoré tím obsadením získal napríklad z počtu obsadení bodu, počtu minút/sekúnd obsadenia bodu. V mojej implementácii som sa rozhodol pre čo najjednoduchšiu implementáciu bez skúmania dĺžky časových stlačení tlačidiel. Teda ihneď po stlačení tlačidla sa zmení stav systému (indikátor tímu - LED dióda, časomiera sa aktivuje pre tím).

Video na ukážku funkčnosti: https://www.youtube.com/watch?v=KN6RXZYUcI4
Viac o projektoch DOMINATOR: https://arduino.php5.sk/airsoft-dominator.php
Schéma zapojenia pre tlačidlový DOMINATOR
Obrázok

Späť na Hotové projekty