Vous pouvez vous abonner à notre compte Twitter sur lequel sont postés les actualités autour de Minecraft et des liens rapides vers le Wiki 

Tutoriels/Mécanismes électroniques avancés

De Minecraft Wiki
Aller à : navigation, rechercher

Cette page est en cours de traduction en Français.
IcôneMCRedstoneSim.png
Cet article présente des diagrammes au format MCRedstoneSim pour sa clarté et sa concision.
Certains des circuits peuvent être d'une hauteur supérieure à deux blocs, ce qui est représenté par des couches, soit animées dans une GIF, soit présentées côte à côte. Une légende complète peut être trouvée sur la page des schémas redstone.

Les mécanismes électroniques avancés sont des mécanismes qui ont des circuits de redstone bien plus complexes. Si vous recherchez des mécanismes plus simples, allez voir dans les mécanismes électroniques, les pièges câblés, ou plus simplement la partie sur la redstone.

Divers[modifier | modifier le wikicode]

Verrou à combinaison sans ordre[modifier | modifier le wikicode]

Le système est assez simple à comprendre, il s'agit d'une porte qui s'ouvre seulement avec une certaine combinaison de boutons ou de leviers sur on. Il n'est pas nécessaire de faire la combinaison dans l'ordre, la seule chose qui compte est de l'activation des bons leviers. C'est un système qui, bien que plus compliqué à mettre en place, reste simple à réaliser, et est souvent favorisé par les utilisateurs en multijoueur pour éviter le vol de coffres (nécessite que le serveur soit occupé d'un anti-grieff, sinon il suffit de casser le mur pour passer). Voici les différentes manières possibles de créer ce verrou.

(Note : il est nécessaire de connaître et de comprendre les portes logiques).

Circuit avec Verrou RS NON-OU[modifier | modifier le wikicode]

RSNORLock.jpg

Avant tout, il faut savoir que ce circuit demande beaucoup de place comparé aux autres versions du verrou à combinaison sans ordre. Il est donc préféré aux autres circuits lorsqu'il faut appuyer sur les interrupteurs à des endroits assez éloignés (par exemple, pour un donjon, avec le passage d'une énigme). Il est aussi important de noter que l'utilisation de bouton est fortement conseillée en dépit du levier, car celui-ci devrait être abaissé après chaque tentative, sinon le reset du circuit ne fonctionnerait pas.

Pour commencer, il faut connecter chaque bouton à l'entrée S d'un verrou RS NON-OU. En suite, vous devez relier les sorties Q en ayant choisi le code à entrer. Dans notre exemple, les boutons A et B doivent être enfoncés, tandis que le bouton C ne doit pas être touché. Il faut donc relier les sorties Q, des RS NON-OU des boutons A et B, à l'aide d'une porte ET. De ce fait, pour que la sortie de cette porte ET soit activée, il faudra que les boutons A et B soient activés. Pour éviter que le verrou s'ouvre lorsque l'on appuis sur les 3 boutons, il faut rajouter une porte ET. Cette porte ET doit relier la sortie de la porte ET précédente, ainsi que la sortie Q du verrou RS NON-OU du bouton C. Cependant, il faut inverser cette sortie, pour que lors de l'appui sur le bouton C, cela désactive une des deux entrées de la porte ET (rendant impossible l'ouverture de la porte). Lorsque l'on se trompe dans le code, il faut pouvoir remettre à zéro le système, afin de tenter une nouvelle fois d'entrer le code. Pour cela, il suffit juste de relier les entrées R (qui correspondent au reset de chaque RS NON-OU) entre elles, puis de mettre un bouton pour pouvoir contrôler la remise à zéro.

Il est possible de supprimer le bouton reset à l'aide d'un système de reset automatique, permettant ainsi d'éviter des allez-et-retours vite embêtants.

Circuit avec porte ET[modifier | modifier le wikicode]

ANDLock.jpg

Contrairement au circuit précédent, ce mécanisme prend moins de place : il est assez concentré, ce qui permet de le cacher facilement. Cependant, il a lui aussi des défauts. Tout d'abords, il lui faut obligatoirement des leviers pour sélectionner le code. En effet, le circuit ne comporte aucune mémoire (pas même une RS NON-OU), donc il serait impossible pour le joueur d'entrer le code puis de passer la porte avec des boutons. De plus, si le code est mauvais, vous devrez alors abaisser tout les leviers, puis recommencer.

Dans notre exemple, une validation est rajoutée, ce qui permet d'éviter que le joueur trouve la combinaison, en abaissant les leviers au hasard. Le joueur doit donc après chaque tentative utiliser le levier de validation pour confirmer le code. Cet exemple utilise quatre leviers ; le bon code est A et C baissés et B et D levés. Pour commencer, il faut relier chaque levier par une ou plusieurs portes ET. Dans notre exemple, les entrées A et B sont reliées à l'aide d'une porte ET à deux entrées ainsi que les portes C et D. Pour mémoriser le code valide sans RS NON-OU, il faut inverser les entrée A et C, car elles ne doivent pas être activées pour que le code soit valide. En étant inversées, ces deux entrées activeront une des conditions (lorsque le levier est baissé) de la porte ET tandis que la deuxième est activée en levant le levier. En suite, il faut relier les sorties des portes ET entre elles, à l'aide d'une nouvelle porte ET. Si les deux sorties (alors devenues entrées) sont activées, alors la sortie de cette dernière porte ET s'active. Pour rajouter la validation, il suffit juste d'ajouter une dernière porte ET, reliant la sortie du circuit ainsi que le levier de validation. De ce fait, il faudra que le code soit valide ET que le levier soit activé, pour que la porte s'ouvre.

Circuit avec porte OU[modifier | modifier le wikicode]

ORLock.jpg

Ce circuit ressemble au précédent, sauf qu'il est beaucoup plus compact, grâce à l'utilisation des portes OU. Cela rend donc ce circuit très utile lors de la construction d'une mémoire (RAM) plus importante qu'un simple verrou RS NON-OU. Cependant, tout comme la version avec des portes ET, l'utilisation de leviers est obligatoire, pour les mêmes raisons. De plus vous pouvez rajouter très facilement des leviers pour compliquer votre code, cela ne prendra pas beaucoup plus de place, et le système reste le même (vous n'êtes pas obligé de rajouter des portes supplémentaires contrairement à la version avec les portes ET).

Le système n'est là non plus, pas très compliqué à comprendre, mais du fait de sa taille compacte, il n'est pas forcément clair au début. Dans notre exemple, il y a 5 leviers et le code bon est A, B et D levés et C et E baissés. Pour commencer, il faut relier toutes les entrées sur des portes OU (dans notre exemple, les portes OU sont compactes). Une fois reliées, les entrées seront toutes désactivées lorsque les leviers sont abaissés. Pour choisir la combinaison, il suffit de mettre des inverseurs aux entrées concernées. De ce fait, si vous levez les leviers avec les inverseurs (tous ces leviers), le circuit se désactivera. En effet, le fait d'avoir mis des inverseurs (et donc des torches de redstone), alimente en permanence le circuit. En résumé, si vous laissez les leviers baissés, le circuit s'allume, si vous levez les leviers du bon code, alors le circuit s’éteint. Comme la sortie du circuit est éteinte lorsque le bon code est entré, alors il faut rajouter un inverseur à cette sortie pour qu'elle s'allume lorsque le code entré est le bon.

Verrou à combinaison avec ordre[modifier | modifier le wikicode]

Une porte qui s'ouvre quand des boutons sont pressés dans un certain ordre.

(Note: Une compréhension modérée des portes logiques est utile pour ce dispositif.)

Placez une série de boutons, et n'en connectez qu'un seul à un verrou RS NON-OU (RS NOR latch). Connectez ensuite le verrou RS NON-OU et le second bouton à une porte ET, qui alimente un autre verrou RS NON-OU. Recommencez jusqu'à ce que vous ayez raccordé tous les boutons ou que vous soyez satisfait de la serrure. Connectez le verrou RS NON-OU final à une porte ET séparée avec un signal depuis un bouton d'entrée.


Alimentez ceci à la sortie de l RSNOR latch, puis connectez n'importe lequel des boutons de gauche au bouton d'entrée et envoyez des signaux de reset à toutes les RSNOR latchs. Une plaque de pression posée à côté de la porte peut faire office de reset. Ce type de verrou doit respecter des règles de sécurité. Tous les boutons ne peuvent faire partie du code ou il n'y aurait alors plus rien chargé d'effectuer le reset du système.

Pour un verrou ayant une combinaison de n'importe quelle taille utilisant tous les boutons, et qui assure tout de même le reset du système en cas de mauvaise combinaison, il vous faudra utiliser une autre technique. Pour construire ceci, respectez les étapes suivantes : - branchez plusieurs boutons (n'importe quel nombre, 4 étant le plus pratique en terme de raccord) à une série de répéteurs adjacents. - placez un bloc conducteur en face de chaque répéteur et répétez le schéma jusqu'à ce que le nombre de rangées correspondent aux nombres de boutons de la pancarte. - placez sur chaque rangée (4 dans notre exemple) des torches correspondants au boutons incorrects. Ainsi, chaque rangée aura un bloc de libre correspondant au bouton à activer. Vous pouvez donc définir votre combinaison de boutons. - Placez une ligne de redstone en dessous de chaque rangée de bloc, chaque ligne conduisant à une RSNOR latch. - recouvrez les torches avec une nouvelle rangée de bloc recouverte de redstone. Reliez chaque rangée de redstone au reset de la RSNOR latch associée avec un délai suffisant (un répéteur au maximum).



Le reste de cette page est à traduire en Français.

Power will be fed from the buttons through the rows of repeaters and blocks for as many rows as there are digits in the PIN number. Connect the dust from the correct button to the other half of the AND gate coming from the first RS NOR Latch. Only if the two conditions are met, that the first button was pushed correctly, setting the first RS NOR Latch, and the second button is pushed correctly will the AND gate send a signal to set the second RS NOR Latch. Again, connect a reset line from the incorrect button's torches to the reset of the second RS NOR Latch. NOTE: Delay the reset signals by one full repeater to give time for the next RS NOR Latch to be set before the reset happens. Continue building the array in the same manner until you reach the desired number of digits. In operation, when a button is hit, each RS NOR Latch checks (through the AND gate) to see if the previous RS NOR Latch is set, and the correct button for this RS NOR Latch has been pushed. Only when the correct buttons are pressed in order, will the signal progress through the conditional RS NOR Latches to the end. Connect the output of the last RS NOR Latch to a door and attach a line to a pressure plate inside the door to reset the last RS NOR Latch. See the video demonstration linked below.

Binaire à Octal[modifier | modifier le wikicode]

3Bit Binary to Octal gates.

Cette série de portes permet de convertir une entrée binaire de 3 bits en une sortie en octal allant de 0 à 7. Ces portes sont très utiles, car compactes (la plus grande a des dimensions de 5x5x3).

Elles peuvent être liées à un ensemble de sources d'entrée, mais il est recommandé de placer un répéteur avant chaque entrée dans le circuit afin de les isoler d'une interaction non désirée avec d'autres circuits.

Nombre 0 1 2 3 4 5 6 7
Dimensions 5x3x2 5x3x3 5x5x3 5x5x3 5X3X3 5x4x3 5x5x3 5x5x3
Torches 1 2 2 3 2 3 3 4
Câbles 7 7 12 10 7 7 10 10

Binaire à Décimal/HexaDécimal[modifier | modifier le wikicode]

4Bit Binary to Decimal/HexaDecimal gates.

A series of gates that convert a 4bit binary input from inputs into a decimal or HexaDecimal output from 0-9(if you are using Decimal) or 0-F(if you are using HexaDecimal). Useful in many ways as they are compact 3x5x2 at the largest.

These can be linked in a series from one input source but it is recommended to place an inverter before each input into the circuit to keep them isolated from interacting with the other circuits since some drive a combination of High and Low current.

Folowing the image, the second input is the second Lever on the right. The second input is the first in the second Lever on the right. The third is the first lever on the left. The fourth, and last, Lever is the second on the left.

Number 0 1 2 3 4 5 5 7 8 9 A B C D E F
Size 3x3x2 3x4x2 3x4x2 3x4x2 3x4x2 3x5x2 3x5x2 3x5x2 3x4x2 3x5x2 3x5x2 3x5x2 3x5x2 3x5x2 3x5x2 3x5x2
Torches 1 2 2 3 2 3 3 4 2 3 3 4 3 4 4 5
Redstone 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

HexaDecimal to Binary[modifier | modifier le wikicode]

Vous pouvez transformer un signal hexadécimal en signal 4-bit binaire. Ici vous n'avez pas besoin de portes, exceptées les "OU" de séparation. Donc vous devez mettre l'entrée [trough] un bloc. From this put lines trough the bit lines. And separate these from input via (Not-Not)-gate or a diode. The most suitable point to separate is directly after the point you differentiate the input trough the output lines. You have to separate these lines, in order that the bit-illustration will be correct.

Number 0 1 2 3 4 5 6 7 8 9 A B C D E F
4-bit 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
3-bit 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
2-bit 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
1-bit 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Now you got the 4-bit converted signal in the four lines. To get a Octal2Binary-MUXer, just ignore the entries, where the 4-bit-line is 1.

Example[modifier | modifier le wikicode]

Logic for a 3-digit key log, with digits 0-9. It's order-sensitive

The example on the right uses ORs (>=1), XNORs (=), RS-NOR latches (SR) and some delays (dt*). For the XNORs I would prefer the C-design.

The example on the right uses a 4-bit design, so you can handle a hexa-decimal key. So you can use 15 various digits, [1,F] or [0,E]. You only can use 15, because the state (0)h == (0000)2 won't activate the system. If you want to handle 16 states, you edit the logic, to interact for a 5-bit input, where the 5th bit represents the (0)h state.

In the following we'll use (0)h := (1111)2. And for [1,9] the MUX-table upon. So the key uses decimal digits. Therefore we have to mux the used buttons to binary data. Here look trough the first two columns. The first represents the input-digit in (hexa)decimal, the second represents the input-digit in binary code. Here you can add also buttons for [A,E], but I disclaimed them preferring a better arranging. The /b1\-box outputs the first bit, the /b2\-box the second, and so on.

Now you see Key[i] with i=1..3, here you set the key you want to use. The first output of them is the 1-bit, the second the 2-bit and so on. You can set your key here with levers in binary-encryption. Use here the MUX-table upon, and for (0)h := (1111)2. If we enter the first digit, we have to compare the bits by pairs (b1=b1, b2=b2, b3=b3, b4=b4). If every comparison is correct, we set the state, that the first digit is correct.

Therefore we combine (((b1=b1 & b2=b2) & b3=b3) & b4=b4) =: (b*=b*). In minecraft we have to use four ANDs like the left handside. Now we save the status to the RS-latch /A\. The comparison works the same way for Key[2], and Key[3].

Now we have to make sure, that the state will be erased, if the following digit is wrong. Therefore we handle a key-press-event (--/b1 OR b2 OR b3 OR b4\--/dt-\--/dt-\--). Search the diagram for the three blocks near "dt-". Here we look, if any key is pressed, and we forward the event with a minor delay. For resetting /A\, if the second digit is wrong, we combine (key pressed) & (not B). It means: any key is pressed and the second digit of the key is entered false. Therewith /A\ will be not reseted, if we enter the first digit, /A\ only should be reseted, if /A\ is already active. So we combine (B* & A) =: (AB*). /AB*\ now resets the memory-cell /A\, if the second digit is entered false and the first key has been already entered. The major delay /dt+\ must be used, because /A\ resets itself, if we press the digit-button too long. To prevent this failure for a little bit, we use the delay /dt+\. The OR after /AB*\ is used, for manually resetting, i.e. by a pressure plate.

Now we copy the whole reset-circuit for Key[2]. The only changes are, that the manually reset comes from (not A) and the auto-reset (wrong digit after), comes from (C). The manual reset from A prevents B to be activated, if the first digit is not entered. So this line makes sure, that our key is order-sensitive.

The question is, why we use the minor-delay-blocks /dt-\. Visualize /A\ is on. Now we enter a correct second digit. So B will be on, and (not B) is off. But while (not B) is still on, the key-pressed-event is working yet, so A will be reseted, but it shouldn't. With the /dt-\-blocks, we give /B\ the chance to act, before key-pressed-event is activated.

For /C\ the reset-event is only the manual-reset-line, from B. So it is prevented to be activated, before /B\ is true. And it will be deactivated, when a pressure-plate resets /A\ and /B\.

pros and cons:

+ you can change the key in every digit, without changing the circuit itself.
+ you can extend the key by any amount of digits, by copying the comparison-circuit. Dependencies from previous output only.
+ you can decrease the amount of digits by one by setting any digit (except the last) to (0000)b.
+ you can open the door permanently by setting the last digit to (0000)b
- the bar to set the key will be get the bigger, the longer the key you want to be. The hard-coded key-setting is a compromise for a pretty smaller circuit, when using not too long keys. If you want to use very long keys, you also should softcode the key-setting. But mention, in fact the key-setting-input will be very small, but the circuit will be much more bigger, than using hard-coded key-setting.

Not really a con: in this circuit the following happens with maybe the code 311: 3 pressed, A activated; 1 pressed, B activated, C activated. To prevent this, only set a delay with a repeater between (not A) and (reset B). So the following won't be activated with the actual digit.

If you fix this, the circuit have the following skill, depending on key-length. ( ||digit|| = 2n-1, possibilities: ||digit||Length )

Length 1 2 3 4 5
2 bit 3 9 27 81 243
3 bit 7 49 343 2.401 16.807
4 bit 15 225 3.375 50.625 759.375
5 bit 31 961 29.791 923.521 28.629.151

Calculs[modifier | modifier le wikicode]

Par l'emploi de portes logiques, il est possible d'effectuer des calculs binaires, comme un ordinateur. Si vous utilisez les portes logiques ci-dessous, faites attention aux entrées et sorties.Vous pouvez être amenés à vous demander pourquoi il y a tant de signaux inversés au lieu de signaux "classiques". Les additionneurs ci-dessous utilisent des portes XNOR plutôt que des portes XOR car elles sont plus compactes. En résultat, les portes IMPLIQUE doivent être utilisées au lieu d'une porte ET, ce qui le rend aussi plus compact. Par conséquent, il faudra employer une inversion du signal pour créer l'additionneur le plus compact. Ces additionneurs sont trop complexes pour être lus sur un schéma de 2 étages par carré, c'est pourquoi chaque étage a été dessiné séparément pour faciliter le processus de construction.

Half Adder[modifier | modifier le wikicode]

Half Adder

Gates: XNOR, IMPLIES

Torches: 12

Redstone: 7

Blocks: 19

Size: 5X4X4

This adder will take 2 bits and add them together. The resulting bit will be the output of S (sum). If both bits are 1, there will be a carry over, and C will become 1 (C will become 0). This half adder can be modified to create a non inverted C output, but this configuration is used so that it can be implemented as the start of a chain of full adders.

Full Adder (1 Bit Adder)[modifier | modifier le wikicode]

AS A FOREWARNING THIS DESIGN IS WRONG! It uses an OR instead of an AND to combine the two half adders. The design uses XOR gate, which works perfectly.

Full Adder (1 Bit Adder)

Gates: XNOR (2), IMPLIES, NOT, OR, AND

Torches: 16

Redstone: 32

Blocks: 48

Size: 6X12X5 Ceiling to floor, including I/O spaces.

Cet opérateur utilisera 2 données numériques ( binaires ) et une retenue et les ajoute. En résulte un résultat (S) et une retenue (C).

Pour faire un soustracteur, intervetissez juste une des entrées binaires. Si le nombre est négatif, le résultat sort inversé. En réalité, le dernier Bit du système indique si le nombre est négatif ou positif; ou si c'est juste un énorme nombre.

Alternate Full Adder[modifier | modifier le wikicode]

Full Adder

Source: "red stuff" logic gates

L'entrée et le sortie de la retenue sont alignées pour connecter plus facilement les modules en séries.

Torches: 14

Redstone wire: 15

Size: 5x6x3

4 Bit Adder[modifier | modifier le wikicode]

4 bit Adder

Note! The least significant digit ("ones" digit) is on the left of the diagram so that the progression from half adder to the full adders can be seen more clearly. Reverse the diagram if you want a conventional left to right input.

'Attention! Le chiffre le moins significatif ("ceux" digit) est sur la gauche du schéma de sorte que la progression de la demi-additionneur aux additionneurs complets peut être vu plus clairement. Inverser le schéma si vous voulez une gauche traditionnelle à l'entrée droite. '

Gates: XNOR (7), IMPLIES (4), NOT (4), OR (3), AND (3)

Torches: 56

Redstone: 108

Blocks: 164

Size: 23X12X5

Cet opérateur prendra deux nombres de 4 bits (A et B) et les additionnera. En résultera une réponse (S) (longue de 4 bits) et une retenue pour tout le résultat. Les bits de la réponse sont dans le même ordre que les entrées, ce qui sur le diagramme signifie que la sortie S la plus à gauche est le dernier chiffre significatif pour la réponse. Ce n'est qu'un exemple avec de petites adresses ; des opérateurs peuvent être construits de cette manière pour des nombres plus gros.

ALU/CPU creation[modifier | modifier le wikicode]

Une ALU (Arithmetic Logic Unit) est un système capable de réaliser plusieurs calculs mathématiques (ajouter, soustraire, conditions logiques) et vous permet de choisir la fonction effectuée. Un CPU (Central Processing Unit) possède une ALU, couplée avec une mémoire RAM pour stocker nombres et réponses, permettant à l'ALU de travailler.Un exemple de CPU peut être trouvé ici Un ordinateur comporte nu CPU, une mémoire programmable, une horloge et enfin une interface vous permettant d’exécuter des commandes issues de la mémoire programmable.

Logic units[modifier | modifier le wikicode]

Dans des circuits il pourra être utile d'avoir des portes logiques qui pourront, en fonction des entrées, décider quelle sortie est à choisir. Certaines de ces unités peuvent être utilisées dans des circuits plus complexes comme des ALU.

Ceci est un exemple d'un porte logique de 2 bits qui aura 4 état dépendants de l'entrée.

Logic unit.gif

The outputs are in top row, with 11, 00, 01, 10 order (input order: first first, bottom second).

This is another example of a simplified version using Gray codes. The output appears at the torches at the end of the top rows. This design can be extended to any number of bits, but practical limitations due to timing considerations restrict the use of more than a byte or so. The outputs are trigged by the inputs 11, 01, 00, 10, respectively.

Logic unit 3.gif

Exemples de machines à redstone complexes[modifier | modifier le wikicode]

" Création des machines par l'anglais Jamieson12O

Voir aussi[modifier | modifier le wikicode]