Go Down

Topic: As fast as an NFL player? (Read 8001 times) previous topic - next topic


Pete - don't want to get in a pissing contest.

Caution and sagacity in equal measure.

I'm a qualified timekeeper

I'm a qualified brainsurgeon.

, and the typical error with a novice timer is at least 0.5sec.

OK, I'll bite. What is a "novice timer" and what causes the errors?

I accept the possible limitations of the IR system,
but hope to mitigate [...] by a) using modulated IR

Why will this mitigate the limitations?
by use of directional tube on the receiving side (and possibly the sending side too)

What is a directional tube?

This is part of the point of my project - research as well as implementation.

Ah yes, your project. About that. Which university assigns such a trivial project to "an electronics novice" for a "final Uni project"? Surely not Oxford?

If you have any helpful advice to share based on your experience in this area I would be grateful.

I have been beaten to it, but a small red laser that you can buy at places like Radio Shack will give a beam that has a negligible spread over the distances required by this "project". I'm surprised that a "qualified timekeeper" wouldn't know this.

But why on earth does timing an 8-year old boy (assuming he exists) require such incredible accuracy? One of the arts of being a parent is in creative lying. Use a stopwatch and keep telling him he's doing great.


You're welcome.

Don't send me technical questions via Private Message.


The safety issues with lasers can mostly be eliminated by having the arduino control the lasers.
Have the arduino hold each laser on while aiming it to the sensor. Once the lasers are aimed, the lasers would only be on while their sensor is armed. The arduino then turns each laser off when its sensor is triggered.


Darkdragon - thank you. I will look into that, but I am not sure whether that is going to work because the distance of the runs may vary so the timing of the turning on of the laser will have to be carefully controlled. However long the laser would be on it could be a potential danger. I'm assuming that laser light at almost any intensity is unsafe if viewed directly. Any further advice on this appreciated.

Pete - you win! Congratulations.



But why on earth does timing an 8-year old boy (assuming he exists) require such incredible accuracy? One of the arts of being a parent is in creative lying. Use a stopwatch and keep telling him he's doing great.


You don't know my son. And yes, he's a real person.

He wants to know things like this:
- How fast am I compared to Julio Jones who ran a 40 yard in 4.39 seconds?
- Am I as fast as a horse? A dog? A mule?
- What happens if I wear a sweater instead of a jacket? Am I faster?
- If I were to run at my top speed can I get to Miami in a week? A month?

He wants to talk all of his speed timings, and those of his friends, and create a competition game he can use at flag football practice. He loves statistics, enjoys tinkering with electronics, and likes computers. And I don't like lying to him.

As a parent, I thought my job was to inspire him to greatness and goodness; not to give him a pep talk.

CarlJP...it's okay. I'm learning a lot from this discussion. I think I'm going to give it a go with the lasers since they would have a much higher cool factor with him.


Great. Please keep us posted. Sounds like a great kid. Good luck to you both.


Chagrin - I was planning on using the pair I linked in reply #4, which are modulated to 38Khz. I've done a little testing and seems to work ok. More work to do in different conditions to prove it though. I only need a range of around 2 metres so modulated IR would seem to be adequate and potentially safer.

I would be interested if you think the basic setup would work as well as your suggestion. I'm an electronics novice, but am very happy to learn (preferably before I commit to something and then it fails!).

I'm not one to question what you've found to be workable so if it looks good, go for it. I probably would have chose that if I'd known it was available; would have saved a lot of labor.


We received our Arduino UNO yesterday, unboxed it, and had a great time playing with the LED blink programming. Once he figured out how it worked, I challenged him to modify the blink sample to do an S-O-S in morse code. It took him a bit of time, but he got it. Today we go pick up the lasers!


Try being "consistent" in broad daylight with an IR emitter that has a 15 degree beam angle.


The beam angle shouldn't matter as the reciever is a 'point'. So you won't break the beam until you are position directly between the source and the reciever.

I created a simple line break timing system a while ago. I never got past the bread board phase due to laziness on my part but it was based on this link.

Basically it was two LEDs and recievers spaced apart and the code read the millis() when each beam was broken, the difference being your elapsed time.

Here is the old code, I can't say if it will work (I haven't touched it in months) but I might be a starting point for some one.
Code: [Select]

# Electronic Spring Timing.
# PIN1_DETECT = Start Line
# PIN2_DETECT = Finish Line
# PIN_IR = 2 IR LEDs in series (with current limiting resistor)
# PIN_READY = A push button to activiate the timing.

#include <IRremote.h>

#define PIN_IR 3
#define PIN_READY 4
#define PIN1_DETECT 2
#define PIN2_DETECT 8
#define PIN_STATUS 13

int BreakNo = 0;
int ReadyButton = 0;
float BreakTimeOne;
float BreakTimeTwo;
float RunTime;

IRsend irsend;
void setup()
  pinMode(PIN1_DETECT, INPUT);
  pinMode(PIN2_DETECT, INPUT);
  pinMode(PIN_READY, INPUT);

void loop() {

  if (digitalRead(PIN_READY) == 1)
    ReadyButton = 1;
    digitalWrite(PIN_STATUS, HIGH);
  if (ReadyButton == 1)
    if (digitalRead(PIN1_DETECT) == 1)
      if (BreakNo == 0)
        BreakTimeOne = millis();
        BreakNo = BreakNo + 1;
    if (digitalRead(PIN2_DETECT) == 1)
      if (BreakNo == 1)
        BreakTimeTwo = millis();
        ReadyButton = 0;
        BreakNo = 0;
        RunTime = (BreakTimeTwo - BreakTimeOne)/1000;
        Serial.print("Time is: ");
        Serial.println(" seconds");
    digitalWrite(PIN_STATUS, LOW);


Hey gang,

We're making progress on our project. We've done some basic programming on the Arduino and practiced setting up circuits. He seems to really like it so far.

We purchased some little laser keychains and tested reflectivity on different surfaces. We've stripped the board from inside the keychain and soldered across the button so that it turns on and off when we apply current. The laser works with two AAA cell batteries. The laser only barely blinks on when we plug it into one of the Arduino digital ports and send it a HIGH signal. I'm sure there's a difference between how the battery provides power to the laser and the Arduino. So...how do you think I should proceed? I think I need to figure out the laser's load, but even knowing that, is there anything that I can do about it, short of using an external power supply for them?


That sounds like a fairly large keychain laser. The keychain laser I have uses three 1.5V "button" cells. Anyway, two AAA batteries in series will give 3V. Each Arduino digital pin provides 5V at a maximum of (I think) 40ma so the voltage might be too high for the 3V laser - you might burn it out.
It looks like you will have to provide an external 3V source controlled by a transistor on a digital pin.

Don't send me technical questions via Private Message.


Sorry, I meant "button" when I said cell. The laser seems to work but it's very dim. I figured that it might not be getting enough power, but the specs do show that you get 5V at 40ma. I'll have to look at the transistor option.


The laser only barely blinks on when we plug it into one of the Arduino digital ports and send it a HIGH signal.

I have no idea how much current lasers typically take, but I do know that the Arduino output pins are only safe up to about 20 mA. If you go beyond that, you risk overheating and blowing the internal driver circuits.

How much current does your laser actually draw when you supply it with 5V?
I only provide help via the forum - please do not contact me for private consultancy.


I'll try to figure out how to check how much it draws. I have a multimeter, but I don't quite know how to use it effectively. I'll see if I can figure that out. This is a learning experience for me as much as it is for my son. :)


When you have the laser pointer apart to try to measure its current requirement, remember that although the laser is low power, at close range it is still very bright and could damage your eyesight. It would be best to cover the laser - a couple of layers of electrical tape would do it.

Don't send me technical questions via Private Message.


Thanks Pete. Good advice.

I took a reading of the current while the laser was drawing from the battery and it read 26.6mA. I think I did it correctly, I put the voltmeter into DCA mode, set it to 200mA, and then placed it in series with the laser and the batteries (3 button AAA batteries).  So it looks like it draws less than what the Arduino provides. What do you think?

Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131