Wife driven timing project, on a budget

Hi Guys

I'm an old school electronics guy used to design cmos 4000 series logic systems in a previous life, machine controllers, energy management systems and stuff. Not been involved for many years, being doing other stuffs.

My wife is the secretary for local riding club and they have a requirement for some wireless event timing gear, but they have a budget of 3 buttons and a milk bottle top.

I'm fascinated by this new fangled Arduino modular gizmos.

What I'm thinking is the following:

Couple of pairs of IR beam detectors: http://www.ebay.co.uk/itm/Wired-IR-Alarm-Active-Infrared-Double-Beam-Sensor-Detector-Invisible-Fence-100m-/301176485961?pt=UK_Burglar_Alarms&hash=item461f847849

Couple of RF modules: http://www.ebay.co.uk/itm/121340055206?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649

These 2 modules welded together with a 12v rechargeable battery on tripods for the start and finish detectors - these will need local processing I guess to generate a detector address to distinguish between the start and finish and also if more than one timing point required - split timing for example.

A desk top/ lap top 'box of tricks' to bring the thing together - will need to display the time and record it for record keeping, maybe even print it out.

'Box of tricks' will need a few switches to enable the timing, disable remote sensors if the course goes back thro the start/finish timing marks on the way to the final finish - which often happens in jumping events - they snake around often going thro timing detectors before the whole course is done. It will need a clear display, showing minutes, seconds, and milliseconds and event number - ie first on course, second on course etc - would be nice to name these with the rider/horse name? This would require a full keyboard interface? Whole unit again running from battery. Plus a printer. How about the ability to sort the results, into first, second, third etc?

I guess should be fairly easy to knock this up for a less that £200?

What say you guys?

Nothing like jumping in the deep end for my first Arduino project.............

Johnb

I assume there will only be one horse on the course at one time. Timing multiple targets would be much more complex.

Has that IR detector a sufficiently narrow beam to give accurate timing? (I suspect it has, for horses).

If you are using 2 Arduinos you will have to find a scheme to sycnchronize them to measure the time between the start and end beams accurately. This is not a trivial problem. There was another Thread on this very recently. It would be very much easier if the two beams could be directly connected to a single Arduino.

Those IR modules will allow communication between two Arduinos but not (as far as I know) between an Arduino and a PC.

How do you intend to communicate with the PC? Using the USB cable?

You will need software on the PC to receive the data from the Arduino and to store and make sense of the data.

If you can control the system from the PC then the PC software can take care of identifying the competitors and stuff like that. The Arduinos would just to the physical beam-breaking stuff.

...R

To echo Robin, I'd have all the smarts in software on a laptop and just use arduinos (if they're even necessary) to read the sensors and transmit/receive data from them. The laptop program can have the GUI buttons that establish whether the course is live and menus to configure how many sensors there are.

The sensors can each send a different letter to indicate that the beam was broken and the laptop can decide what that means. You might want to send the letter several times or continuously until a response is received.

I'd also want to have a test mode that you use when the sensors are in place to ensure that the RF communication is functioning.

All in all, this sounds rather tricky to get foolproof; depending on how upset a rider is going to be if their time isn't captured, I'd be inclined to stick with a human and a stopwatch.

johnbuz:
My wife is the secretary for local riding club and they have a requirement for some wireless event timing gear, but they have a budget of 3 buttons and a milk bottle top.

Johnb

is the milk bottle top paper ? those are so rare, you might be able to fund the entire project if you find a collector.

heck, if the milk bottle is in good condition, you might be able to auction that off for to fund the cost of the project.

is the sensor technology up to the task ?

can you put a GPS on the horse and send that to the receiver ? my gps in my car gives the apparency of working at 80 mph.
is the update rate fast enough ?

before GPS, they used to use LORAN, a radio sensor that would use multiple towers and triangulate the location.

GPS works on a similar principal, triangulate location of the sensor based on output of remote radio signals. it would seem that this is theoretically possible.

a track would have the boundaries set pretty well. one could put up towers

alas, it would seem that a photo finish might be the best thing. have a beam sensor a couple meters in front of the finish line, and have it start recording when the beam is broken. it would eliminate disputes.

Many thanks for your responses.

I was going to use a simple gizmo in the sensing heads just to generate a unique ID so you know that a particular beam has been cut, ie address 001 would be the start and 002 the finish, plus maybe 003 the split time or whatever. So the sensor heads only transmit when they are cut, as the horse goes thro the beam. Only one horse on the course at anyone time.

NO PC involved, the user end would be another, slightly more powerful gizmo to keep track of the timing, drive the display, log the results and drive the printer.

So, in operation something like this:

  1. Reset timer
  2. enable start sensor
  3. receive signal from start IR beam, start timer
  4. disable start sensor - to stop spurious triggering.
  5. as horse nears course end, enable stop IR beam (horses often cross thro' beams multiple times while on the course)
  6. receive stop signal from IR beam, stop timer
  7. Display time, log into memory
    and repeat for next horse.

At the end of the class sort the times in to order, 1st, 2nd, 3rd etc and print results.

What sort of gizmos should i be considering for these tasks?

Johnb

There are many comments you haven't responded to ????

What is your level of experience?

If you haven't programmed Arduinos I suggest you buy yourself an Uno and work through some of the examples that come with the Arduino IDE (which you can download for free).

It would be a great deal easier to have a PC (a cheap netbook would be fine) in charge of the system. If you are low on experience, it is the only practical option in my opinion.

Detecting which beam has been cut is a trivial business - don't waste time thinking about it.

The important issue is how far apart are the start and finish beams and is it possible or impossible to have both connected to the same Arduino. The easiest thing would be to use the same beam for start and finish. If you need 2 Arduinos you need to resolve the synchronizing issue I mentioned earlier. And to a large extent that depends on how accurate the timing must be. For example the Arduino on the end beam might not measure the time but simply send a message to the other Arduino when the beam is cut. The inaccuracy in the timing then depends on how long it takes for the message to be received so that the time of reception can be recorded and compared to the start time.

How will the Arduino know when a horse nears the end of the course so as to enaable the en beam? Why not just record every time the end beam is cut and use the treat the last one (i.e. the one that exists at the time RESET is pressed) as the end time for that horse?

How many lap times have to be saved in memory? What happens if the power fails?

...R

Good point regarding dipping my toe into the world of Arduino. I would say I am fairly experienced, 18 years senior engineer, designed many hardware solutions, and have written quite a few commercial software applications for business. Been out of practice for about 15 years, been management and then semi retired. Experienced in VB.Net. Not done much machine code, did a car alarm in raw machine code once on an old 8 bit proc...many years ago.

I had it in my mind that the sensor heads would be polled by the central processor for activity, as the timing accuracy in probably only down to 1/00 of a second - more likely 1/10 of a second, there should be enough time to do a scan in machine cycle terms.

OR

Central processor would just sit there waiting for a signal on its RF receiver, 1st in would be start, second in would be stop, not sure what synchronization would be required by all of the processors, surely the heads would just be fired off by the beam being broken and say 'HI - No. 001 has seen activity' or 'Hi - No. 002 has seen activity' The main proc would see a signal come in in the expected address format and react accordingly..

near end of course could be done by simply suppressing the incoming RF or stopping the poll cycle

Power cuts could be covered by writing the results to non volatile ram. I used to do that 30 years ago. with programmable machine controllers.

All the timing is done in the main proc, it would be simply stopped and started by the external beam events.
Johnb

johnbuz:
Central processor would just sit there waiting for a signal on its RF receiver, 1st in would be start, second in would be stop, not sure what synchronization would be required by all of the processors,

All the timing is done in the main proc, it would be simply stopped and started by the external beam events.
Johnb

I think this should work. It's what I was alluding to in my previous post. I had not got the idea from your earlier posts that this is what you were thinking of.

One of the two Arduinos could do double duty of detecting one beam and receiving the beam-break signal from the other.

You could probably use one of the cheaper 433MHz transmitters and receivers if all you need to do is transmit a one-direction beam-break signal.

If you want to save data on the Arduino you could use an SD Card.

I still think that controlling everything from a VB program on the PC would be much easier than writing a "management" program on the Arduino. On the Arduino you would need to add suitable buttons and an LCD screen (or use a touch screen). You probably already have the PC. The PC can also power one of the Arduinos and with it there would be no need for permanent storage on the Arduino.

...R