机械制造者 Trailmakers

机械制造者 Trailmakers

评价数不足
Variable Throttle Control
   
奖励
收藏
已收藏
取消收藏
文件大小
发表于
更新日期
116.555 KB
2023 年 1 月 2 日 上午 3:17
2023 年 1 月 2 日 下午 10:47
7 项改动说明 ( 查看 )

订阅以下载
Variable Throttle Control

描述
A logic system for smoothly throttling engines.

I got the idea from JESS2005, but this is an original design that only uses 6 blocks (down from 9) and doesn't stick or jitter (as is common with memory based designs).

Controls:
WS throttle up/down
SPACE instant full throttle
LEFT SHIFT instant off

Hook the yellow block up to whatever you want to control. It outputs a value from 0 to 1.

The white OR (OR gate) is the input/output. W for throttle up and S for throttle down. (increase the magnitude to make it faster.) SPACE and LEFT SHIFT is on the gray&black OR gate.

The gauge shows the current throttle level.

Feel free to use it in your own creations without crediting me. (Though credit is always appreciated!)

Thanks to Alvaroping1 for testing/feedback!



Build Notes:

The gray ORs send the value back and forth to each other every tick, forming a memory cell.

The the black sensor adds 1 to the gray&black OR to give it a range of +1 to 0*. And then the red OR subtracts 1 from the gray&red OR every tick to give it a range of 0* to -1.

*only not really 0, it's equal to the current input from the white block. So -0.02 or 0.02.

The yellow OR (final output) works exactly the same as the gray&red OR, except that it isn't hooked up to any user controls(to prevent jitter). It's output is inverted to give a final range of 0 to +1.

It can still experience one input unit of jitter if you hold and release SPACE or LEFT SHIFT while holding down W or S. This is because the memory cells don't quite match up. You can fix this by unbinding the i/o on the gray block, and adding a second input(a copy of the white block) with a magnitude of 1. But then it's a second input and not needed.