Firesport stopwatch via Arduino with LCD display

Today I will introduce you briefly the fire stubs, or the timekeepers I created it as huge firesport fan.
The competition firefighters team is guessing every village or part of the city.
Every week, especially in the summer season, competitions take place in the villages, and the teams attribute valuable points, successes and failures decided by hundreds or thousands of seconds.
Hasičské stopky cez Arduino s displejom
For this purpose, I have created simple stopwatches, which to a certain extent allowed me to measure time, for example, in the training of domestic firefighters.
For the whole logic of the system, I used the millis, which is the function of the internal Arduin timer, which returns milliseconds from the start of the processor. So we can measure time to 3 decimal places (1000 ms = 1 second). We can therefore determine the accuracy of one thousandth (not real....).
Hasičské stopky cez Arduino s displejom
This means that we can measure time. We need some initial impulse - something we take down the start time and run the whole logic of the system. So I used a physical button that needs to be manually pressed. This time is saved and times are counted from this moment.

The refresh rate is set to 10ms, though the data could be sent every millisecond to the display, which would mean 1000Hz refreshrate, but it would of course not be able to process the display and the text on it would resemble spilled tea. Arduino is able to send data even in millisecond intervals thanks to the high-speed bus that is connected to the LCD display. These are only a few byte data.
(Program time counting):
Hasičské stopky cez Arduino s displejom
The program runs 2 subroutines, one for the left, the other for the right stream, where it is examined whether the time has been stopped and the individual data (minutes, seconds, tenths, hundreds, thousands) are displayed in the display.
(Sending data to the line - for one of the attacks):
Hasičské stopky cez Arduino s displejom
For the impulse of the fallen target, I used a contact that kicks the target for the fall. Similarly for both targets. Time stops practically immediately (if we neglect the lead delay, etc.).
In the event that a team misbehaves with an invalid attempt, the stopwatch can be reset immediately by the second button and immediately ready for start. Functionality is very simple.
So what do we need for a project after a technical (hardware) page?

  • Arduino, or a separate AtMega chip
  • LCD display 16x2 or 20x4 with I2C converter
  • 2 buttons
  • 2 switch contacts

In order to minimize used electrical components, I used internal pullup resistors Arduin, which can switch contact against ground and simply record change, pin is active-high. When using a resistor, a 10kΩ resistor is used if the contact is switched against the 5V Arduin RAW pin.

Why did I talk about 1 ms accuracy is not real?
Almost everyone who plans to buy Arduino looks at the price. Giving 30 € for the original Arduino, or 3 € for the Chinese clone, the answer is clear...

Chinese clones are hardware identical to the originals. But it's a difference in the quality of the oscillator that gives Arduin a beat. The original Arduino uses an accurate 16MHz oscillator. Clones use the same, but not as accurate, can be seen as 15.9998MHz.

This means that after a certain period of time, accuracy is reduced to thousands, for longer measurements, and for hundredths, tenths, seconds. Another attenuation is represented by the lead after which the signals arrive. Arduino stopwatches never replace a certified timekeeper that is used for firefighting sports!
Hasičské stopky cez Arduino s displejom
The whole system can also be powered on batteries or power bank, its total subscription is up to 60mA at 5V.
More about similar projects can be found on my site: https://arduino.php5.sk/hasicske-stopky.php

Comments

Popular posts from this blog

Web scraper via Arduino & NodeMCU & ESP32

ESP32 control via UDP datagrams

Biking on Google Maps - Arduino Leonardo (32u4) - HID device