I'm trying to find some sort of redstone circuit that would allow me to press a button, it would pulse a few times, then stop. It would do the same infinitely, and you could be able to set the amount of time it pulsed. I've asked a few of my friends, and they gave me the names "monostable circuit" and "pulse limiter." I've googled, youtubed, and asked more friends about the said names. I've only found ONE "post" if you would call it that, that would actually work. I know that from reading the description of it. But, I tried building it multiple different ways, and it still didn't work. If anyone could post picture, video, or world download, I would be infinitely gracious. Thanks! - Jake (Achyfi) (Link to the one that actually sounds like it would work: http://www.minecraftwiki.net/wiki/Redstone_Circuits#Pulse_generators)
The first thing that came to mind (maybe not the most compact) would be to use a programmable counter that can count down from the maximum number of pulses you'd like the device to send.
For example, let's say you only need a maximum of 15 pulses. Build a 4-bit counter for which you can set the initial state at the user console.
Say you only want to send 4 pulses... so you'd input 0100 at your console, hit the start button and your counter starts. At the output of your counter place a 4-bit XOR to detect state changes. With an output of 0100 the XOR gives a 1, when the count changes to 0011 the XOR gives a 0 and so on. Then all you need is a pulse generator to emit a pulse whenever the XOR's output goes from 0->1 or 1-> 0. With an AND gate you can trigger the clock to stop at 0000 if it's a loop-around counter.
If you don't care about the number of pulses, but only the amount of time, just use a multiplexer with as many inputs as you want timing options. Just lay down a repeater (or a row of them) at each input to set that line's delay and connect each row's input to your start button. Build a pulse generator that's started by your start button and stopped by the multiplexer's output. Wire up your timing mode switches at the console to the multiplexer selection lines and voila!
Clarifying with an example... you have a a 3-bit MUX giving a total of 8 timing options. You want the 0th timing option so you set your timing switches to 000. Hit the start button... its signal will start the pulse generator and propagate through each row of repeaters but only the 0-line signal will reach the MUX output to turn your generator off after the set delay.
You push the button, the clock sends pulses for a second, then stops.
Changing the clock timings and pulse lenght would be easy, as would be changing the period you want your clock to fire.
That's another way to do it but it might not be practical to manually change the circuitry every time you need a different timing mode. It all depends on the OP's use of the device.
An infinite mode would be possible if you implement a little override to lock the clock on and ignore the counter's input. Otherwise it will pulse the programmed amount and stop when the counter reaches its max value.
If you wanted to make it time based you might make the core clock a round number like 1 second and make a second clock loop for your pulse output that pulses at the rate you desire. Then you program the counter to the number of seconds you want and the second clock pulses until the counter stops it.
Thanks for all of your guys' help! I figured it out ^-^ I hooked up a pulse limiter to a 2-clock, and inverted it so when you push the button it sends a signal to the redstone torch, turning the torch off, and letting the clock run.
For example, let's say you only need a maximum of 15 pulses. Build a 4-bit counter for which you can set the initial state at the user console.
Say you only want to send 4 pulses... so you'd input 0100 at your console, hit the start button and your counter starts. At the output of your counter place a 4-bit XOR to detect state changes. With an output of 0100 the XOR gives a 1, when the count changes to 0011 the XOR gives a 0 and so on. Then all you need is a pulse generator to emit a pulse whenever the XOR's output goes from 0->1 or 1-> 0. With an AND gate you can trigger the clock to stop at 0000 if it's a loop-around counter.
If you don't care about the number of pulses, but only the amount of time, just use a multiplexer with as many inputs as you want timing options. Just lay down a repeater (or a row of them) at each input to set that line's delay and connect each row's input to your start button. Build a pulse generator that's started by your start button and stopped by the multiplexer's output. Wire up your timing mode switches at the console to the multiplexer selection lines and voila!
Clarifying with an example... you have a a 3-bit MUX giving a total of 8 timing options. You want the 0th timing option so you set your timing switches to 000. Hit the start button... its signal will start the pulse generator and propagate through each row of repeaters but only the 0-line signal will reach the MUX output to turn your generator off after the set delay.
Projects: Toggle Game, Connect 4 w/ Win Detection
consists of a unary counter and alot of pulse generators.
That's another way to do it but it might not be practical to manually change the circuitry every time you need a different timing mode. It all depends on the OP's use of the device.
Projects: Toggle Game, Connect 4 w/ Win Detection
http://www.minecraftforum.net/topic/1290097-repeat-circuts-x-amount-of-times/#entry15791184
An infinite mode would be possible if you implement a little override to lock the clock on and ignore the counter's input. Otherwise it will pulse the programmed amount and stop when the counter reaches its max value.
If you wanted to make it time based you might make the core clock a round number like 1 second and make a second clock loop for your pulse output that pulses at the rate you desire. Then you program the counter to the number of seconds you want and the second clock pulses until the counter stops it.
Save:
http://www.mediafire...z7th74eb340a9wk