I've been messing with redstone since about 2 am on Saturday, minus 4 hours for sleep and 8 hours playing smash at a friend's. But I digress, the reason for this post is that I need a sanity check that I didn't just make this 50 times harder than it needs to be. Here's sort of the process to what I came up with:
That's all I need to make a two piston series that will both expand and contract. However, if the second piston has a block on the end, that block will not follow the pistons all the way in. To make that happen contraction would have to work like:
Second piston contracts -> First piston contracts -> Second piston expands -> Second piston contracts.
To essentially re-grab the block that got left behind and pull it the rest of the way.
So I set about to make this happen with two RS NOR latches:
The first one to store the fact that when it retracted I needed to do some sort of pulse, and the second one as part of a monostable circuit to take the decision to fire the second piston and reverse it shortly thereafter. But I just feel like I'm over-thinking this somewhere.
The project I ended up using this in was to "collapse" a 6x6x3 room into a 2x2x2 box, and revert the whole thing back. The structure I build to hold the logic ended up being stupidly large, both because I was lazy with wiring and was more worried about the timing of the pistons firing.
I ended up having way too many wires because I had a hard time fitting all the outputs into positions where they would hit the pistons that were in a 2x2x2 block behind each wall without being seen from the room.
Here's the result as far as that went, sorry for writing so much:
I've never touched redstone since yesterday, but it's a pretty addicting substance.
I think you can wire it in a more compact/simpler way using:
Edge Detector, specifically the falling edge one is useful for double/triple piston moves. It kicks off a pulse when it loses power.
Next you just want a reversible circuit. For two pistons I like to power piston one with both a 1 tick and 3 tick repeater. I then power piston two with just a 1 tick repeater. So piston 2 opens/closes quickly. Piston 1 opens quickly, but closing takes 2 ticks longer (enough time for piston 2 to close). The secondary delay on piston one should be 2 ticks longer than piston 2's time to close. On piston 1's power circuit connect the falling edge detector and sends the pulse to piston 2's power line.
On power on you get piston 1 and 2 extend basically at max speed. On power off you get piston 2 retract first, piston 1 retract -> trigger pulse, piston two gets pulse and does an open+close.
You can spot both those in this circuit:
Couple highways of repeaters to set up each level and control the falling edge pulses to hit just at the right time to grab the block/piston. For the triple extend I split the pulse and hit different layers in a staggered pattern to recover the top piston, then it's block.
That's all I need to make a two piston series that will both expand and contract. However, if the second piston has a block on the end, that block will not follow the pistons all the way in. To make that happen contraction would have to work like:
Second piston contracts -> First piston contracts -> Second piston expands -> Second piston contracts.
To essentially re-grab the block that got left behind and pull it the rest of the way.
So I set about to make this happen with two RS NOR latches:
The first one to store the fact that when it retracted I needed to do some sort of pulse, and the second one as part of a monostable circuit to take the decision to fire the second piston and reverse it shortly thereafter. But I just feel like I'm over-thinking this somewhere.
The project I ended up using this in was to "collapse" a 6x6x3 room into a 2x2x2 box, and revert the whole thing back. The structure I build to hold the logic ended up being stupidly large, both because I was lazy with wiring and was more worried about the timing of the pistons firing.
I ended up having way too many wires because I had a hard time fitting all the outputs into positions where they would hit the pistons that were in a 2x2x2 block behind each wall without being seen from the room.
Here's the result as far as that went, sorry for writing so much:
I've never touched redstone since yesterday, but it's a pretty addicting substance.
So...little...room.
I think you can wire it in a more compact/simpler way using:
Edge Detector, specifically the falling edge one is useful for double/triple piston moves. It kicks off a pulse when it loses power.
Next you just want a reversible circuit. For two pistons I like to power piston one with both a 1 tick and 3 tick repeater. I then power piston two with just a 1 tick repeater. So piston 2 opens/closes quickly. Piston 1 opens quickly, but closing takes 2 ticks longer (enough time for piston 2 to close). The secondary delay on piston one should be 2 ticks longer than piston 2's time to close. On piston 1's power circuit connect the falling edge detector and sends the pulse to piston 2's power line.
On power on you get piston 1 and 2 extend basically at max speed. On power off you get piston 2 retract first, piston 1 retract -> trigger pulse, piston two gets pulse and does an open+close.
You can spot both those in this circuit:
Couple highways of repeaters to set up each level and control the falling edge pulses to hit just at the right time to grab the block/piston. For the triple extend I split the pulse and hit different layers in a staggered pattern to recover the top piston, then it's block.
Was thinking the same thing.
Having my pistons set up in a 2x2x2 block, I spent a long damn time trying to figure out how to wire the three outputs.