ru.minecraftwiki.net
Редстоун (красный камень, порошок) используется для создания электрических цепей. Используя свойства редстоуна можно выполнять простейшие логические операции.
Очень важно понять основные свойства, потому что на них и будет строиться всё остальное. Нельзя просто запомнить основные гейты и использовать их, нужно понять как они работают.
Итак, два основных элемента, используемых для создания редстоун цепей - красный порошок и красный факел.
Красный порошок выполняет функцию провода, а красный факел - функцию источника питания.
Провода и факелы могут находиться в двух состояниях: включен и выключен.
Если факел или провод горит - он включён, если нет - выключен.
Факел, находясь на смежном с проводом блоке, "зажигает" его:
Факел можно установить и на блок:
Обратите внимание, что факел занимает клетку и на полу, поэтому разместить провод прямо под факелом не получится, поэтому мы размещаем его на следующей клетке
Заметьте, что такой вариант зажигать провод не будет:
Факел на вершине блока будет зажигать только провода, находящиеся в одной плоскости с ним:
Если к блоку, на вершине которого установлен факел, подвести включённый провод, то он активирует этот блок и факел тухнет:
Как видите, то же самое происходит с факелом, расположенным на любой стороне "активированного" блока, не только на вершине, и этот факел перестаёт подавать энергию проводам:
Отсюда выводим важное свойство:
Факел, к которому не подведены горящие провода, будет гореть и подавать энергию другим проводам, однако если к блоку, на котором установлен этот факел, подвести горящий провод, то факел потухнет.
Провода можно также разветвлять:
"Зажигать" провода и факелы можно также с помощью рычагов, кнопок и нажимных плит.
Рычаг может переключаться между значениями 1 и 0 (включён и выключен)
Кнопка при нажатии передаёт значение 1 и переключается обратно на 0
Нажимная плита передает значение 1 пока она нажата, если она не нажата, она передаёт 0
Мы во всех примерах будем использовать рычаги, они более наглядны.
Рычаг, присоединённый к проводу, во включённом состоянии зажжёт его:
Рычаг, присоединённый напрямую к блоку с факелом, "активирует" блок и, соответственно, потушит факел:
Необязательно устанавливать факел наверх, его можно закрепить на любой стороне блока
Потушить рычагом факел можно и подсоединив его к проводу, который подключен к блоку с факелом:
Горящий провод на вершине блока потушит факел на стороне этого блока:
Гейты
________________________________________
Гейт (англ. gate - шлюз) - конструкция, выполнящая простейшие логические операции, принимая один или несколько инпутов (входных значений) и, после некоторых преобразований, выводя их в один или несколько аутпутов (выходных значений).
NOT Gate
Данный гейт также называют инвертор, он выводит аутпут, противоположный инпуту.
То есть принимая значение 1, он выводит 0, и наоборот.
Два этих гейта подряд называются репитер: сигнал дважды инвертируется и выходной сигнал получается тот же, что и входной. Это используется, чтобы продлить цепь, так как длина одного провода ограничена 15-ю блоками, а с использованием репитера его можно продлить ещё на 15 и так до бесконечности. Также этот гейт можно использовать, чтобы "перехватить" сигнал (об этом позже)
OR Gate
Этот гейт выводит аутпут 1, когда хотя бы один из инпутов равен 1
Инвертер можно и не использовать, тогда аутпут будет включен, когда все инпуты выключены, и выключен, когда хотя бы один инпут включён.
AND Gate
Этот гейт выводит аутпут 1, когда оба инпута равны 1
Можно также не использовать инвертирование, тогда, соответственно, всё будет работать наоборот
XOR/XNOR Gate
Этот гейт выводит аутпут 1, когда инпуты НЕ равны друг другу.
Можно также использовать инвертер, чтобы аутпут выводил 1, когда инпуты РАВНЫ друг другу.
RS NOR Latch
Простейшая запоминающая конструкция. Когда инпут "Input" включается, аутпут будет оставаться включённым, пока не будет задействован инпут "Reset", даже если вернуть значение 0 инпуту "Input"
Фишка здесь в том, что при включении инпута "Input", включается факел-перехватчик сигнала, который держит факел инпута "Input" включённым, пока факел-перехватчик не будет выключен инпутом "Reset".
Можно объяснить по-другому: замкнутая система из четного числа инвертеров (здесь два) стабильна и находится в одном из двух положений. (Инверторы могут быть включены через один двумя способами). Если подать ток на активный инвертор (выключить его) - система изменит свое положение на другое - это вход Input. Если подать ток на другой инвертер, система снова сменит свое состояние, т.е. вернется в первое положение - это работа входа Reset.
Примечание. Вместо рычага для Reset нужно использовать кнопку.
RS NAND Latch
Ещё одно запоминающее устройство. Когда оба инпута выключены, оба аутпута включены. Когда один из инпутов включается, аутпут рядом с ним гаснет. Если после этого включить второй инпут (не выключая первый), всё останется как было, пока противоположный инпут не будет выключен. Внимательно разберитесь как работает данный гейт.
Clock generators
Эти конструкции просто по очереди включают/выключают факелы бесконечно. Для этого нужно просто сделать замкнутую цепочку из инвертеров. Самая быстрая стабильная цепочка это 5 инвертеров (на скриншоте). Если делать их меньше, то цепь просто "перегорит". Чтобы сделать задержку между миганиями больше, просто ставьте больше инвертеров. Инвертеров должно быть нечетное количество.
Практическое применение редстоуна
____________________________________________________________________________
Дверь, использующая AND Gate
Данная схема построена на логическом элементе AND Gate. Смысл в том, чтобы у вас была самооткрывающаяся/закрывающаяся дверь с возможностью заблокировать её. Нажимная плита открывает дверь, но только в том случае, если "засов" выключен.
Напомню, что AND Gate на выходе дает 1 только в том случае, когда оба входа имеют 1.
Система имеет два состояния:
1. Вход-Выход. "Засов" (рычаг) выключен (факел над ним не горит). В этом случае вы (и не только) спокойно можете входить и выходить из дома.
2. Засов. "Засов" (рычаг) включен (факел над ним горит). В этом случае нажатие нажимной плиты дверь не откроет.
Эта схема исключает вторжение мобов к вам в дом через дверь.
И неплохо монтируется в жилище. Также, для эстетов, все это можно смонтировать в подполе, закрыв потом блоками, чтобы "проводов" не было видно. Нюанс, чтобы схема работала корректно, дверь необходимо ставить в последнюю очередь!
Все делаете точно также, за исключением того что ко 2-ой двери нужно провести инвертор.
Кодовые замки
С помощью красного камня можно делать довольно сложные схемы. Например кодовый замок! Давайте разбираться.
Условия для замка:
*Если "засов" включен, то дверь не откроется даже с правильным кодом.
*Если хотя бы один неправильный рычаг включен, то дверь не откроется.
*Если хотя бы один правильный рычаг не включен, то дверь не откроется.
Простой замок
На входы AND Gate подается две 1 и дверь откроется. Один вход отвечает за "слежкой" над правильными кодами (на схеме справа-сверху первые три рычага), второй следит за не правильными кодами (на схеме справа-снизу первые два рычага) и "засовом" (оставшийся рычаг).
Все просто. Если рычагов вам не хватает, то их можно добавить по аналогии с остальными (на схеме места добавления обозначены знаком "-//-"). Но не забывайте о максимальной длине провода (15 клеток).
Систему можно слегка модифицировать: вместо одного из правильных рычагов поставить кнопку, тогда дверь не будет открыта постоянно.
Плюсы:
*Плюс этой системы в том, что на нее не нужно много ресурсов.
*Расширяемая.
Минусы:
*Сложно "перемешать" правильные и не правильные рычаги.
*Если нужно поменять код, то придется практически полностью перестраивать систему
Замок с изменяемым кодом
Этот замок технологичнее и сложнее предыдущего, но и более интересен в применении. Помимо уже известного нам AND Gate мы можем наблюдать еще и XOR/XNOR Gate (напомню, что на выходе он выдает 1 тогда, когда на вход он получает разные сигналы: 0 и 1 ).
Через рычаги 0 (на схеме) будет вводиться код для открытия двери (я пишу про дверь, потому что это одна из двух вещей, на которую можно взаимодействовать током). Рычаги 1 определяют какие из рычагов 0 будут "правильными". Рычаг 2 - это "засов" (если факел над "засовом" горит, то он "задвинут"). А 3 - выход идущий к двери.
Если рычагов вам не хватает, то их можно добавить по аналогии с остальными (на схеме места добавления обозначены знаком "-//-"). Но не забывайте о максимальной длине провода (15 клеток).
Систему можно слегка модифицировать, добавив кнопку как показано на схеме. В этом случае после правильного ввода кода нужно нажать кнопку и дверь откроется на некоторое время.
Плюсы:
*Не нужно перестраивать систему для изменения кода.
*Просто "перемешать" правильные и не правильные рычаги.
*Расширяемая.
Минусы:
*Более громоздка по сравнению с простой версией.
*Ресурсоемка.
Счетные машины
Как уже было сказано, возможности красного камня практически безграничны, а если говорить научным языком - Красный камень обладает Тьюринг-полнотой. И вот еще один пример Счетные машины ! Но давайте по порядку.
Для начала вам необходимо познакомиться с булевой алгеброй и с двоичной системой счисления. В отличие от предыдущих разделов, эти знания вам необходимы хотя бы поверхностно.
Простой оператор сложения
Складывает два сигнала на входе и выдает результат (на выходе старший разряд внизу (схема)). В основе лежит XOR/XNOR Gate (в основе которого лежит AND Gate).
Работает это так:
Работает это так:
*Младший разряд на выходе горит, если на входе имеем два разных сигнала.
*Старший разряд на выходе горит, если на входе оба сигнала 1 .
На схеме присутствуют два слоя 0 и 1 и находятся они на разных (соседних) плоскостях.
Сложение многоразрядных чисел
В основе этой схемы лежит Простой оператор сложения , но сначала обратимся к схеме. Зеленым и желтым цветом выделены складываемые числа. Они представлены в двоичном формате, старший разряд находится внизу схемы. Выходы слева (на схеме) являются результатом сложения двух чисел на входе, так же представленным в двоичном виде, старший разряд внизу схемы.
Сложение многоразрядных чисел
Давайте разбираться как это работает:
Для начала складываем каждый разряд одного числа с другим.
Для первого входного разряда, младший разряд на выходе записываем в ответ.
Для последнего входного разряда, старший разряд на выходе записываем в ответ.
Для остальных входных разрядов, старший разряд на выходе складывается с младшим разрядом на выходе следующего входного разряда.
Система расширяемая до бесконечности (без ограничения по длине провода). На схеме показана символом "-//-".
Простой счетчик
Счетчики штука полезная. В памяти хранит число, а по сигналу прибавляет к нему 1 и записывает в память. Простой счетчик основан на простом операторе сложения у которого младший разряд на выходе подключен к одному из входов. Старший разряд на выходе символизирует о переполнении счетчика (просто мигнет). Свободный вход для сигнала прироста счетчика.
Осторожно:
Обратите внимание на значение повторителя на схеме (1-ый режим работы). Дело в том, что значение задержки на повторителе должно быть равным продолжительности входного сигнала (тот, что для прироста). Для Clock-генератора представленного на картинке (горит только один повторитель подряд) значение задержки будет равно 0.1 секунда (1-ый режим повторителя). Для кнопки задержка должна составлять 1 секунду (2 повторителя с 4-ым режимом, и один с 2-ым).
Счетчик для многоразрядных чисел
Собран из простых счетчиков. Действуют те же правила, что и на простые счетчики. На схеме красным обозначен бит переполнения счетчика (мигнет). Синим обозначен вход для сигнала прироста счетчика. Можно расширить схему на нужно количество разрядов.
Отредактировано Мува (2011-07-03 16:13:31)