Working 7 Segment Customisable Digital Display
A simple 16 part digital display that is fully customisable to your needs! There's alot to say about this small build so please read the description and instructions first before using. (Description coming soon (periodically)
The first thing you will notice is the simple 7 pistons operating the thing. This allows for a low part count and can be scaled to any size (NOTE the length width and height must remain same) using relative scale or normal scale.
The pistons have a complex funky tree resembling something like this:
clamp01(1000(sin((Throttle * 10)360 + 71) - 0.945)) + clamp01(1000(sin((Throttle * 10 - 0.2)360 + 71) - 0.945)) + clamp01(1000(sin((Throttle * 10 - 0.3)360 + 71) - 0.945)) + clamp01(1000(sin((Throttle * 10 - 0.5)360 + 71) - 0.945)) + clamp01(1000(sin((Throttle * 10 - 0.6)360 + 71) - 0.945)) + clamp01(1000(sin((Throttle * 10 - 0.7)360 + 71) - 0.945)) + clamp01(1000(sin((Throttle * 10 - 0.8)360 + 71) - 0.945)) + clamp01(1000(sin((Throttle * 10 - 0.9)360 + 71) - 0.945))
which is an absolute monstrosity. Lets try to simplify it down.
Each tree is a sum of a bunch of similar units like this:
clamp01(1000(sin((Throttle * 10 - 0.2)360 + 71) - 0.945))
Each "unit" represents one "blink" of a segment. For example, this one signifies that the top segment (segment 1) should be lit when the screen is displaying a 2. Lets take apart the components that make this happen.
The "meat" of the unit is the sine wave equation, which we can simplify down to sin(X + 71) - 0.945. It seems very random at first, but the special thing about this curve is that it is above the X axis almost exactly 1/10 of the time , from y ~0 to y ~36. I haven't taken calc yet and dont know if there is a way to find the exact equation for this wave. This results in some errors especially around integer numbers (if the input is very close to an integer) . For example, when you first launch it you will see it displays an 8 instead of a 0, but if you notch the throttle up to something like 0.005 (halfway between 0 and 1 %) you will see the correct 0.
This sine portion does not have a lot of customisation so just keep it the same.
To Be Continued...