We are all ‘outside the box’ thinkers, but which side of the box are you looking from ?
I am busy with a swim pool timer project for the local kids club bi-annual gala.
We are not using the costly touch pads, but rather simply push buttons to end each timed event.
The project consists of a web based event management system run on a local PC using xampp as the server.
Swimmers are captured, record times stored in the database, lane allocations and multiple heats scheduled, etc, etc.
The web side is just about completed and busy with testing.
The start is triggered by an Arduino which activates the start siren, tracks the start time millis, as well as uploads data to the PC using ethernet.
Each of the 6 lanes has 2 timer buttons at the finish end.
Question : from the 2 possible options below, which would you consider to be the most reliable :
Both option require the laying of an ethernet cable from one end of the pool to the other. Wireless / RF is not an option at the moment due to cost and availability.
2 Arduinos, 1 at each end of the pool ( distance 45 meters / 140 ft ), both connected to an ethernet router ( PC also connected to router ) , with the ‘starter’ unit telling the ‘finish’ unit the millis ( A ) when the event was started, as well as the millis ( B ) when the data is sent to the ‘finish’ unit ( so the finish unit can receive the data, calculate that the start time was ’ CurrentMillis - ( B - A ) ’ ) and then wait for the input pin for each lane to be pressed ( LOW ) and calculate the actual swim time. Then upload the finished times to the PC over ethernet.
Is this too complicated / complex ?
A mountain out of a mole-hill ?
Using the second Arduino where it is not needed ?
Too many steps making system failure more possible ?
Run 2 lengths of cat5e cable from the finish back to the start, and have only 1 Arduino at the start end, connected to the router to upload data to the PC. Floating Lines in the cat5e cable would need to be pulled HIGH, and the press of each button would Ground the line back to the input pin.
Of the 8 core in each cat5e cable, 2 can be ground, and the other 6 to each of the 6 lane buttons. Running 2 cables means that we have 2 sets of ground lines, and each of the 2 buttons for each lane are connected back to the Arduino on different cables - so if one cable is damaged, we only lose 1 button on each lane, and still have the second button for timing.
My thought is that this option does not require me to run any power to the other end of the pool, as the lines for the buttons are all Ground lines. Sounds safer to me.
If this is the more simple and reliable option, would you :
Use a separate 12VDC power supply ( at the Starter end ) for the Ground signal and return inputs that has to go the 140ft ( and back to the start unit ), and connect the ground signals from the buttons to optocouplers ( to trigger the input pins on the arduino ) ?
What size pull-up resistors should I be looking at on the floating return lines while the button is ‘open’ ?
Does length of the cable affect this resistor size ?
Any other factors that you can think of that would / could affect the viability of these options ?
Maybe I am looking at the options with blinkers on, so all input greatly appreciated.