this should be simple, LED stroboscope

so i have always been more of a hardware person then a software person (i dropped comp sci, although i did know enough to just go into the office and change my account privileges so i could have access to all the test, but im no cheater so i dropped and gave the answers to the people still in the class) anyway i want to wake a stroboscope, and i could just use the basic blink code and change the code manually to change the rate of the blink, but what i would much rather do is is have two buttons one would add a ms to the high and low time and one would take a ms away from the high and low time. that way i would not have to leave my computer hooked up to the bored to change the rate of the strobe. i feel like this code should be very simple but again im a n00b when it comes to software so any help would be greatly appreciated, and im sure this code already exists somewhere i just cant find it

I would say you only have "half an education".

You are doing yourself a disservice by not trying hard to learn software; same as an individual who knows software would be doing themselves by refusing to learn hardware.

Hardware and software are the same; you should know this - hardware is software made real; software is hardware made virtual. How else do you think it is possible for an emulator to work? Or a virtual machine? What about microcode in a cpu (indeed; the concept of microcode was invented by Charles Babbage - which is hardware, and which is software now)?

You claim to know hardware, but can you design a relay-based cpu with an instruction set? How would you even know if it worked, without understanding the software aspects?

I won't do your work for you; I implore you to continue your education, and learn the software that drives the Arduino. You are doing yourself any favors by begging others to do the work for you. I don't say this to unkind, I don't say it from malice - indeed, I don't even know you. But I know that you claim to have given up. Take up the challenge again: I dare you to learn how to code the Arduino.


I have exactly what you need... I built one already for my Time Fountain ^_^, with a serial LCD to display the output rate... It really makes my head trippy when I point it up at my ceiling fan and stop it dead in it's tracks, because there's a slight wobble to it that makes it look evil.

If you can hack into my network and steal it, you can have it.

crosh give me a break im a sophomore in high school, and i have built a variable strobe before i just want to use my arduino more. and i did actually figure out a code that works all it does is read an analog input (i.e a pot) and change the flash rate based on that, not quite what i was planning but it works. thank you both of you for proving to me that this forum is extremely unhelpful.

Three things:

  • Coming on here telling us you are a mass cheater
  • Then asking for a handout
  • And naming yourself "Mr. The Plague" ...Is not going to get you willing help.

crosh give me a break im a sophomore in high school

Then you have plenty of time to learn how to code - don't waste it (you really don't know how lucky you've got it; but then again, neither did my generation, or the generation before, or...).

Damn, I feed old.


thank you both of you for proving to me that this forum is extremely unhelpful.

You'll catch more flies with honey than with vinegar (now I know I'm old)...


Seriously, if you would just post some code, or show that you are trying - instead of asking for your work to be done for you, you would get an excellent response. I worked fairly hard over the past few weeks attempting to build a reputation as a helpful individual here; I know for a fact that at least two people got their projects running directly because of my help.

I only help those who are at least a little willing to help themselves; most of the people here on these forums trade in their knowledge and successes - they'll post code, they'll ask questions, they'll give answers - all in the hope that they help others, so that one day maybe others will help them. But they don't assume that others are going to do all the work for them.

You'll get the response you want when you show what you've got; show the code (no matter how bad or ugly - just please use the # button on the comment editor when you do), show the schematic you are using, and if you think it will help, show what you have for the project currently in physical form (most of the time it isn't necessary, but hey - you might have a mechanical problem or something). You'll get some interest, you'll get people poking around and helping.

Try it - you might get somewhere...


BTW - rather than buttons to change the rate of the blink, a potentiometer would be much more intuitive and just as easy to code for; in fact, I think there is a sketch example for that exact purpose (changing the blink rate of an LED with a potentiometer).

Come on - give it a shot; what do you got? What's your code, what's the schematic...?


Crosh you make a very good point, I have everythng almost up and running I will post pictures tonight. I did find that simply strobing didn't work I need the LEDs on for one ms and off for anywhere from 10 to 70 ms. I cobined two of the example codes to do this so the time on stays the same but the time off changes, but the problem I'm having is that it changes too much I want it to stay within 1 to 100 ms. And I am already using a pot to do that. I would post pictures and code now but I'm at work i'll post when I get home.

BTW yes I know my name is mr the plague and that is kind of lame but it is my gamer tag (everyone in my clan has names from the movie hackers 0 cool, acid burn ect) and I would hardly call it mass cheating there where only two other kids In the class (my school is very small) and they both could have gotten axess just as easily as me and would have. Also I'm sorry I didn't realize I was looking for a hand out I didn't realize I had asked anyone to make the circuit or the stand or pay for it, but I guess I must have

No worries... you'll hopefully take a different approach next time and get a much better response.

I regards to cheating... in college just about everyone I knew was getting handouts from the Faculty Assistants (students working for Professors). They had all the test answers, and the Professors rarely changed the tests. They would give them out, and sell them. Upper classmen would even sell their lab projects to lower classmen! This is a BSEE mind you... just about all of these students flunked out (about 400 of them) or sailed all of the way through til the end (15 or more lucky cheaters out of a graduating class of only 25 total). I bet they are great at whatever scams they are running these days.

I worked hard through school... and continue to do so as a professional engineer. Bragging about cheating just has a sore spot with me. I sincerely hope you work hard through college and become successful out in the work force, at whatever you do.

Post your troubled code and get the advice you need to figure it out. The satisfaction you get when you do will be priceless.

here is the code, as i said i need a way to limit what the val can be.

#define ARRAY  13 // the pin for the LED driver

int val = 0;   // variable used to store the value
               // coming from the pot
void setup() {
  pinMode(ARRAY, OUTPUT); 


void loop() {

  val = analogRead(0); // to pot, 

  digitalWrite(13, HIGH); // turn the LED array on


  digitalWrite(13, LOW); // turn the LED array off

  delay(val); // should be between 1 and 100 ms

constrain(x, a, b)

x is the input,
a is the lower limit,
b is the upper limit.

That function will return
a if x<=a
x if x is between a and b
b if x>=b

the constrain works i just tried it but it would be easier if i could constrain specifically the time and not the value from the analog 1

wait never mind i got it

how does the value of resistance correlate to the flash rate? in other words what value potentiometer should i use to vary between 1 and 100ms

The voltage you read should be between 0 and 5 volts. The values would be between 0 and 1023. You could use the map function; map(value, fromLow, fromHigh, toLow, toHigh) to correlate between the value read from the potentiometer and the delay time you desire. Does this help?

i was having some trouble then i just realized i had something miss wired now everything is working great now i just have to make a bowl out of some plexi glass and im about done. although if anyone has any suggestions on making water come out in really nice drops that would be great right now it splatters somewhat. and if someone knows off hand what distance of free falling it takes for a drop of water to reach terminal velocity that would also be great. not that i really need to know that im just curious.
thanks everybody. i will post pictures when i figure out how to do so.

Haha, when I mentioned my Time Fountain, you didn't say anything... but it appears you are making something very similar to, if not exactly the same thing.

There are some good responses on Nate True's Time Fountain blog post about how to make nice drops... it's a bit hard to do when you "pump" the water out of a tube, but if you just poke the right size hole in a plastic container, it will drip out. Then you just have to keep the container full with a pump. The pump should probably operate off of a float sensor in the container, and have a fairly narrow hysteresis because if you let the water drain too much, the drip rate will change adversely to your flash rate.

and im from chicago too maybe i stole your design. do you think drilling a hole in plexi glass would work to make a good drop. (i have a bunch of plexi glass at my disposal left over from something else and im trying to use it)

This might help (re: terminal velocity):

So, are you trying to "stop" a drop of water in mid-air with a strobe? Provided you can control the size of the droplet somewhat accurately, that could make for a very cool looking display. Something to think about for version 2 would be an RGB strobe...

I can't wait to see your results; good luck in developing it!


Ok, so anyone that doesn’t know what a Time Fountain is has to look at these RIGHT NOW! (Nate True’s Original Design) (Lewis Evan’s Improved Design)

and im from chicago too maybe i stole your design. do you think drilling a hole in plexi glass would work to make a good drop. (i have a bunch of plexi glass at my disposal left over from something else and im trying to use it)

I think plexi would work well… just have to drill a nice and precisely small hole. You could cut the plexi and glue it together to make a holding “tank” as well. I’ve got some really small drill bits… and if I get some time I might just try some experiments. If you get to it first, post your drill bit size, I’d like to try it. I never got the drip mechanism down pat on my time machine, but then I didn’t spend much time on it past getting the code to work.