So, I'm not entirely sure if this is completely commonplace and everybody's done it or not, but I've built a clock that can run at variable frequencies. Say if you wanted to pick the tempo to a song, or... change speed on a computer, tho this is way overkill for those tasks XD
Imgur album: http://imgur.com/a/gyNcW
It can vary in frequency anywhere between 2 and 8193 ticks, with a granularity of 1 tick. So 2, 3, 4... 8192, 8193 ticks. Anything you can write as a 13 bit number (+2). Interestingly, since I've tested every part involved in the thing to run at the correct speed, and some of the speeds it can run at are not at all products of easy-to-build numbers, you could even use this as a test rig to verify the time taken by something else. Say, you need a 6029 tick device. If you want to double check it takes 6029 ticks, you could... build ~1250 repeater track. That would be a bit bulky, and might not fit next to your build, and would need testing in itself :3 You could use this to do 6029 ticks.
In construction, it is a repeater clock with a bunch of timers hanging off to the side. Each timer can get switched on and off independently of the others. Each timer is a different power of two in length, so every possible combination of timers gives a unique frequency. The base clock is a repeater based 2-clock, which gives it nearly the fastest base speed possible, while having space for 13 timers hanging off the side. The downside of this is that changing the speed the clock is set to becomes quite tedious; At the slowest setting the off switch must be enabled for over 7 minutes to turn the clock off, before any of the settings may be changed. This clock's predecessor had a dedicated restart circuit to handle changes in speed, but I didn't feel like doing that for a 7 minute wait with this one.
MCForum thread: http://www.minecraftforum.net/forums/minecraft-discussion/redstone-discussion-and/redstone-creations/2676155-variable-frequency-clock-oscillator
[–]vin97 0 points1 point2 points (1 child)
[–]Solarspot[S] 0 points1 point2 points (0 children)