Introduction: Airsoft DOMINATOR - Button - Arduino + I2C LCD

Today's article will look more closely at the DOMINATOR system for Airsoft sports, Paintball, which was created as an equivalent to the RFID DOMINATOR I have done in the past. DOMINATOR uses digital inputs via four buttons.

Button functions:

  • Team (RED) - When the button is pressed, the red LED lights up (the green team LED goes out), the red team time starts counting on the display
  • Team (GREEN) - When the button is pressed, the green LED lights up (the red team LED goes out), the green team time on the display starts counting
  • Referee - Press the button to stop the time on the display
  • Eraser - When you press the button, the time on the display stops and the times are reset to 00:00:00 The individual buttons are connected by an internal 20k ohm resistor to 5V Arduino, so they switch against the ground. It is therefore an Active low signal that Arduino verifies.

    The system is designed for millis, which returns milliseconds since the processor was started. Thanks to this, the system can be managed on the basis of time-oriented actions and the possibility to handle different time events - events in parallel.


Hardware for projects:

  • Arduino Uno / Nano
  • LCD 20x4 / 16x2 with I2C converter
  • 4x pushbuttons
  • 2x LED diodes

Step 1: Logic of DOMINATOR Stopwatch

The stopwatch logic of the system is performed every 100 milliseconds. A simple incrementer increases the number of tenths until an overflow of seconds occurs, followed by an overflow of seconds to minutes and an overflow of minutes to hours. The maximum time range of the system is 99 hours, 59 minutes and 59 seconds.

It is also suitable for several daily events, such as Fort Benning in the Czech Republic with a duration of 2 days and similar events where this game mode can be interesting. As well as for sports facilities that can offer such a game mode to their portfolio.

In addition to the system logic, other time-based events can be triggered, for example, to verify the length of a button press. Each team can occupy a point by holding the button for a certain period of time, for example 10 seconds. The second team must hold the button for 20 seconds when the point is occupied, as the point will be neutral in the first 10 seconds and then hold the button for the next 10 seconds to occupy the point.

The concept of a stopwatch can also serve, for example, to calculate the number of points that a team has earned, for example, from the number of point occupations, the number of minutes / seconds of a point occupation. In my implementation, I decided to make the implementation as simple as possible without looking at the length of the button presses. That is, immediately after pressing the button, the system status changes (team indicator - LED, timing is activated for the team).

Step 2: Video & Schematics of DOMINATOR (Buttons)


More about DOMINATOR projects: