Redstone Porte à pistons 15*4 (voire 31*4)

MiningBad

Bucheron
8 Février 2011
296
15
13
Bonjour,

ceci est un tutorial pour une porte à pistons de dimension 15*4. Pour l'instant, je n'ai fait que les 4 premières parties, la suite est en préparation.

L'idée originale vient d'un certain mccribscom dont j'ai tenté de refaire le mécanisme à partir de cette vidéo :
[video=youtube]http://www.youtube.com/watch?v=S6y447kSxMI[/video]
La porte version dépouillée :
http://www.mediafire.com/?67br3xla0y3vzqv
Porte version décorée (je me suis un peu amusé, mais ça reste une piètre imitation de la vidéo du dessus :p)):
http://www.mediafire.com/?ylzwzn04f37t1og


[size=xx-large]Tutoriel[/size]​

Pour ce tutoriel, nous allons commencer par la fin! En effet, il me semble qu'il sera plus simple de procéder ainsi. De plus cela suivra mon raisonnement.

Ce tutorial est divisé en 5 parties :
1) Les rangées de pistons
2) Leurs séquences d'activation
3) Le P-Array super-rapide (nombre pair de combinaisons)
4) Le pulseur du P Array

5) Activation du pulseur (flip flop asymétrique)

Commençons sans plus attendre avec la disposition et le câblage des pistons :oui:



1) Disposition des pistons

Dans le screen suivant, j'ai mis de la laine blanche pour se rendre compte du niveau de chaque bloc. Vous constaterez aussi qu'il est possible à certains endroits d'enlever les répeteurs et de mettre une ligne de redstone pour alimenter les pistons. Eh bien, c'est pas faux mais comme ce n'est pas possible partout (croyez-moi) j'ai préféré faire le même câblage pour tous. Les délais étant au plus juste, je n'ai pas voulu prendre de risque :

Il n'y a que des sticky pistons.
Je pense qu'il n'y a pas besoin de faire un screen spécial pour le câblage. Faites la même chose que pour la rangée en bas à gauche, attention aux niveaux cependant.
J'ai aussi donné des petits noms à mes rangées : nous avons la rangée 1 (R1), la rangée 2 (R2) et celle du côté ( C ). Retenez bien ces noms car je vais les utiliser jusqu'à la fin du tuto.
Nous pouvons passer à la suite :)



2) Séquences d'ouverture et de fermeture

2.a) Fermeture
Pour bien comprendre comment cela fonctionne, je vous conseille de mettre des leviers à chaque rangée pour faire des tests par vous-mêmes.
Le screen précédent représentait la position ouverte. Voici la position fermée :

Voilà la séquence pour fermer la porte :

0 - Position initiale (tout est éteint)
1 - Allumer R1
2 - Éteindre R1
3 - Allumer C
4 - Allumer R2

2.b) Ouverture
La fermeture n'était pas trop difficile, en tout cas il n'y a pas beaucoup d'étapes (4 en tout). L'ouverture en revanche est légèrement plus longue...
Voici la séquence :

0 - Position initiale (C et R2 sont allumés, R1 est éteint)
1 - Éteindre R2
2 - Éteindre C
3 - Allumer R1
4 - Allumer R2
5 - Éteindre R2
6 - Éteindre R1
7 - Allumer R2
8 - Éteindre R2

Soit 8 étapes pour l'ouverture. Cela nous fait en tout 12 étapes.

Bon, à ce moment là j'étais plutôt content et en même temps bien embêté : comment coder çà sans trop d'efforts? En plus il faudra faire le système du dessous et l'alimenter également...
J'ai choisi de programmer cette porte avec un P-array. C'était l'occasion de se pencher sur le système et surtout cela me semblait bien plus compliqué autrement.

Ce sera donc un P-array à 3 sorties (3 "boucles" de pistons), une pour R1, une pour R2 et une pour C. A partir de la séquence décrite ci-dessus, j'ai fait un tableau représentant les étapes du P-array :

Dans l'idéal, je veux faire un P-array qui avance d'un bloc toutes les 0,2s, ainsi il n'y a qu'un seul piston qui change d'état par avancée du P-array.
La case en jaune est celle qui a changé par rapport à la ligne du dessus.
Vous remarquerez que je repète une fois chaque position initiale : je voulais que la porte reste ouverte/fermée un petit temps pour être capable de voir si tout fonctionnait (surtout dans le cas où mon P-array tourne sans s'arrêter, ce qui était sûrement l'étape d'après :rire:)

=> Nous arrivons donc à 5 + 9 = 14 étapes. Nous pouvons nous lancer dans la construction du P-array :ok:



3) Le P-Array

Réalisez un P-Array comme ceci :

Notez les couleurs : les pistons antagonistes ont la même. En fait nous allons les relier entre eux pour les actionner en même temps.
Ce qui devrait donner cela :

Nous avons donc seulement 2 entrées pour notre P-array.

Réalisez 2 autres boucles en parallèle et derrière cette première en prolongeant les fils rouge et jaune. Arrangez-vous pour que les sorties (sandstone et flèche rouge sur le screen) soient à peu prés en face de vos rangées de pistons. Je vous conseille de laisser 2 d'espace entre chaque boucle.

Il n'est pas conseillé de remplir les boucles avec les bonnes combinaisons maintenant, en faisant le branchement au pulseur il y a peu de chances que ça marche du premier coup. C'est pour ça que j'ai alterné cobble et dirt, je pourrais mieux voir comment tourne mon mécanisme avant de programmer la séquence.


4) Le Pulseur

Faites le pulseur suivant (répeteurs réglés sur 0,1s) :

Ce pulseur a 4 sorties, il y a donc 2 sorties par entrée du P-array.
Nous allons en fait alterner entrée 1 / entrée 2. Bon ok c'est un peu confus, voici ce que cela devrait donner une fois relié :

La laine a été remplacée par de la stone et du bois, mais ça ne devrait pas être trop déroutant :p)

Faites bien attention aux délais ! Il faut que les délais entre chaque sortie du pulseur et les entrées du P-array soient les mêmes ! Sur le screen vous pouvez regarder pour le bois : il y a toujours 3 répéteurs.

A ce moment-là, vous pouvez tester votre p-array. Faites-le tourner sans s'arrêter et vérifiez que tout fonctionne correctement. Si vous constatez qu'il marche, vous pouvez le remplir avec les bonnes combinaisons de laine/verre
 
RE: Porte à pistons 15*4

Ouais j'ai mis du temps à comprendre comment il faisait d'ailleurs <_<
 
RE: Porte à pistons 15*4

Elle n'est pas de moi l'idée hein (voir vidéo http://www.youtube.com/watch?v=S6y447kSxMI)
Je précise pour pas qu'on m'accuse de plagiat ^^
 
RE: Porte à pistons 15*4

Système très ingénieux ! Il fallait y penser ! :) C'est même possible de faire un sol 4*15 qui s'ouvre non ? et même 4*31 non ? Sinon pour la réalisation du système je n'utiliserai pas un P-array même si c'est pas bête. Je prefere un succession de répéteur menant aux différentes entrées.
Ca permettrait par exemple de faire ces deux étapes de l'ouverture en 0.1 s au lieu de 0.4 et donc gagner par mal de temps :
Allumer R2
Éteindre R2

J'essaye de reproduire ton système en parallèle en utilisant tes parties de tuto ;)
 
RE: Porte à pistons 15*4

Pitaya a dit:
C'est même possible de faire un sol 4*15 qui s'ouvre non ? et même 4*31 non ? Sinon pour la réalisation du système je n'utiliserai pas un P-array même si c'est pas bête. Je prefere un succession de répéteur menant aux différentes entrées.
Ca permettrait par exemple de faire ces deux étapes de l'ouverture en 0.1 s au lieu de 0.4 et donc gagner par mal de temps :
Allumer R2
Éteindre R2

J'essaye de reproduire ton système en parallèle en utilisant tes parties de tuto ;)

Oui ça doit être possible à l'horizontale aussi.

Franchement le P-array m'évite de trop réfléchir ^^

Ca me semble difficile de faire 2 étapes en 0,1s... Pour moi il fallait au minimum 0,2s d'écart entre chaque mouvement de pistons. A moins qu'il s'agisse d'un bug?
 
Ce que je veux dire c'est qu'avec un P-array tu laisse allumé ton piston 0.2 s mini alors que des fois un simple aller retour suffit. A ta place que j'essayerai de combiner un P-array avec des pulseurs afin de gagner quelques secondes.
Enfin je sais pas si tu vois ce que je veux dire. J'ai essayé de tout faire avec des repeteurs et portes et ben c'est bien la merde xD j'vais essayer avec une pulsation qui se balade dans le circuit et des RS nor latch ça devrait etre plus simple et plus propre :p

EDIT : Tout compte fait j'l'ai pas fait ^^ c'est trop brouillon et ça prend trop de place. Un P-array sera mieux :p