Схемы из красного камня

Материал из Minecraft Wiki
Перейти к: навигация, поиск

Содержание

Схемы из красного камня (от англ. Redstone Circuits) — аналог электрических цепей реального мира. Позволяют управлять механизмами, реагировать на изменения переключателей и выполнять любые[1] логические преобразования. В этой статье описаны свойства красного камня и основные принципы создания схем.


Система обозначений[править | править вики-текст]

Схематичные изображения в данной статье сделаны при помощи симуляторов красного камня MCRedstoneSim и Circuit Simulator. Основные обозначения:

AirSymb1.png — пустая земля
1BlockSymb1.png — один блок на земле
2BlockSymb1.png — два блока, блок на блоке (под блоками земля)
WireOnGroundSymb1.png — красный провод (на земле)
TorchOnGroundSymb1.png — красный факел (на земле)
WireOn1BlockSymb1.png — красный провод (на блоке)
TorchOn1BlockSymb1.png — красный факел (на блоке)
WireUnderGroundSymb1.png — красный провод под блоком
TorchUnderGroundSymb1.png — красный факел под блоком
TorchOverWireSymb1.png — красный факел над проводом
WireOverWireSymb1.png — мост: провод на блоке над проводом
LeverSymb1.png — рычаг на земле или сбоку блока
ButtonSymb1.png — кнопка сбоку блока
PressurePlateSymb1.png — нажимная пластина на земле

Вступление[править | править вики-текст]

Красный камень — материал, добываемый железной или алмазной киркой из красной руды в количестве 4-5 единиц на блок. Если вы ещё не знакомы со схемами из красного камня, рекомендуется испытывать на практике приводимые здесь факты — так вы лучше сможете понять основные принципы. В этом случае вам понадобится ровная площадка, некоторое количество полных непрозрачных блоков (земля отлично подойдёт), палки для факелов и, разумеется, красная пыль — половины стопки будет достаточно.

Помимо добытой из красной руды пыли для создания схем требуются факелы и, иногда, повторители:

Ингредиенты Рецепты крафта Результат

Красная пыль +
Палка












Красный факел

Красный факел +
Красная пыль +
Камень












Красный повторитель

Эта статья может использоваться как руководство по изучению красного камня для новичков, так и в качестве справки для уже умеющих с ним работать — выберите то, что нужно вам.

В этой статье приведены логические обоснования некоторых схем. Если хотите, можете их пропустить.

Физические свойства[править | править вики-текст]

Redstone manual - placing wire.png
Redstone manual - placing wire 2.png
Redstone manual - placing wire 3.png
Redstone manual - placing torch.png

Красная пыль при установке в игровом мире представлена в виде красного провода — нетвёрдого блока, который можно ставить только на верх других блоков, причем они должны быть полными и непрозрачными. Красный провод разрушается с одного удара или попадания жидкости, его можно подобрать и снова установить. Два рядом находящихся участка красного провода объединяются в цепь. Цепи можно как угодно разветвлять и соединять.

Два участка красной пыли, расположенных на соседних блоках, которые различаются по высоте на 1, объединятся в непрерывный участок провода. Но, если поставить между ними полный блок, объединения не произойдет. Неполные блоки (например, таблички и плиты) не мешают соединению. Грядка тоже не мешает соединению, а вот затоптанная земля — мешает. Есть два особых случая: стекло, в отличие от остальных полных блоков, не препятствует объединению и прохождению сигнала, в то время как светящийся камень визуально разделяет провод, но сигнал все равно может пройти.

Красный факел по физическим свойствам практически идентичен обычному — он может быть установлен сверху или сбоку любого полного непрозрачного блока. Единственное отличие заключается в яркости излучаемого света — 7 против 14.

Красный повторитель, в отличие от проводов и факелов, твёрдый блок.

Провода не излучают свет (только меняют текстуру), а свет факелов и повторителей недостаточен для препятствия спауну враждебных мобов, будьте осторожны и следите за освещением.

Механизмы[править | править вики-текст]

Для управления схемами без добавления/убирания блоков используются переключатели:

  • Рычаг. Ставится на блок сверху или сбоку, а с 12w24a (1.3.1) может быть закреплён и на нижней стороне. Имеет два положения — включен и выключен, — между которыми переключается щелчком игрока. После установки выключен.
  • Кнопка. Устанавливается сбоку блока, а с версии 14w04a (1.8) может быть установлена на нижнюю и верхнюю сторону блока. Существует в двух вариантах — каменном и деревянном. Каменная активируется только щелчком игрока, деревянная может быть включена стрелой. При активации каменная кнопка включается на 1 секунду, деревянная — на 1.6 секунды.
  • Нажимная пластина. Только напольная. Включается при нажатии. Деревянная включается, если на неё наступить или бросить предмет, каменная — только если наступить. С 12w23a (1.3.1) деревянная пластина реагирует на стрелы.
  • Утяжелённая нажимная пластина. Существует в железном и золотом вариантах. Подобна обычной, но реагирует только на предметы, и выдает сигнал, зависящий от количества предметов на ней.
  • Нажимные рельсы. Рельсы с нажимной пластиной. Работает как нажимная пластина, но реагирует на проезжающие вагонетки (при большой скорости вагонетки или лагах может и не среагировать).
  • Натяжной датчик. Нужно установить два датчика друг напротив друга и соединить нитью. Если игрок, моб, предмет, сфера опыта, стрела или сущности падающих блоков (песок, ТНТ…) касается нити, или же нить удаляют без использования ножниц, оба крюка подают сигнал.
  • Датчик дневного света. Регистрирует силу света от Солнца и подает пропорциональный сигнал.
  • Сундук-ловушка. Подает сигнал, если кто-то его открывает. Сила сигнала зависит от количества игроков, смотрящих в сундук.

Красный камень позволяет управлять различными блоками в игровом мире — это «устройства вывода». По реакции их можно разделить на 2 группы:

Подключение[править | править вики-текст]

Активные блоки[править | править вики-текст]

Факел на боку блока может активировать любой механизм на месте красной пыли на этом скриншоте.
Сверху блок заряжается «сильно» и может активировать провод с другой стороны, а снизу — «слабо» и провод остается выключенным. Однако, и тот, и другой способ позволяют включить механизм (лампу).
Другой пример: верхний поршень включается рычагом, а нижний — блоком, к которому рычаг прикреплен.

Красная пыль может быть в одном из двух состояний — включена (1, +, true) и выключена (0, -, false). Вообще говоря, любой полный непрозрачный блок тоже может быть «заряжен» («активирован») и включать соседние механизмы. К заряженным блокам относятся:

  • красный факел;
  • блок над красным факелом;
  • красный провод, по которому идет сигнал;
  • блок, на котором находится активный провод;
  • блок, к которому напрямую подведен провод или повторитель;
  • блок, который занимает переключатель;
  • блок, к которому прикреплен переключатель.

Следует помнить, что, например, рычаг на блоке земли занимает отдельный блок, а не является «дополнительной частью» блока земли. Точно так же, красный провод, лежащий на земле — отдельный блок на одну клетку выше земли.

Кроме того, существует также и некоторое различие в «заряженности» блока. Блок будет «сильно заряжен», если его активирует красный факел (снизу), повторитель или переключатель. Если блок заряжен только проводом, то он будет «слабо заряжен». Единственное различие между «сильно» и «слабо» заряженным блоками заключается в том, что «сильно» заряженный блок может активировать красный провод, примыкающий к любой своей стороне, а «слабо» заряженный — нет (см. пример справа).

Основное свойство красных факелов[править | править вики-текст]

Redtone circuits schema 01.gif
Блок активирован проводом, лежащим на нем.
Блоки активированы проводом, напрямую подходящим к ним.
Блок активирован прикрепленным к нему рычагом.

Это свойство лежит в основе любого сложного механизма. Без его понимания у Вас вряд ли получится создать сколько-нибудь полезную схему.

Заряженный блок выключает факел на любой своей стороне.

На практике это означает, что если подвести к (твёрдому, непрозрачному) блоку включенный провод, факелы на сторонах и вершине блока погаснут. Данное свойство работает с активацией не только проводом, но и любым другим указанным выше способом.

Затухание сигнала[править | править вики-текст]

Сигнал в проводах затухает — через 15 блоков от источника сигнал будет потерян. Для передачи сигнала более чем на 15 блоков используются повторители (см. далее). Если провод разветвлён, сигнал идет в каждую сторону независимо друг от друга. Если какой-то участок провода подключен сразу к нескольким источникам, его заряд будет рассчитан по расстоянию до ближайшего источника, остальные будут проигнорированы: заряды не суммируются.

Чем меньше заряд на проводе (чем дальше от источника), тем более тусклый он имеет цвет. Это может создавать проблему определения, есть ли сигнал на далёких от источника участках. Помните, что над включённым проводом идет дымок (дым не появляется при минимальных настройках количества частиц).

Кстати говоря, в электрических рельсах сигнал тоже затухает, только ещё быстрее — дальность передачи уже 9 блоков.

Красный повторитель[править | править вики-текст]

Пример блокировки повторителя. Рычаг уже выключен, но заблокированный повторитель сохраняет сигнал на выходе.

Красные повторители выполняют три функции:

  • Ретранслятор. Он может «усиливать» сигнал до изначального уровня, передавая его дальше по цепи на 15 блоков. Таким образом, повторители могут использоваться для передачи сигнала на расстояния, больше 15 блоков.
  • Диод. Повторитель замечателен тем, что имеет строго определенные вход и выход, поэтому его можно использовать в качестве диода — элемента, пропускающего сигнал только в одну сторону.
  • Элемент задержки. Повторитель передаёт сигнал со входа на выход с определённой задержкой от 0.1 до 0.4 секунды, что упрощает создание таймеров. Для смены задержки щёлкните ПКМ по повторителю. Задержка будет меняться таким образом: 0.1 — 0.2 — 0.3 — 0.4 — 0.1.

Кроме того, благодаря факту, что повторитель активируется только блоком позади него и активирует только блок перед собой, он может считаться «изолированной» версией красного провода, что иногда применяется в компактных схемах.

В 12w42a (1.4) появилась возможность заблокировать повторитель. Для этого нужно подключить к стороне данного повторителя еще один включенный повторитель. Повторитель в заблокированном состоянии не реагирует на изменения сигнала на входе, иначе говоря, удерживает состояние на момент блокировки. Как только блокировка снимается, выход повторителя снова приходит в соответствие со входом.

Компаратор[править | править вики-текст]

Компаратор имеет две основные функции:

  • Компаратор может оперировать с сигналами, подведенными сзади (A) и сбоку (B). Если есть два сигнала сбоку, выбирается наиболее сильный. Результат зависит от режима работы (переключается щелчком ПКМ, отображается передним факелом):
    • В первом режиме (сравнение) выход будет равен сигналу A, если A >= B, и 0, если A < B.
    • Во втором режиме (вычитание) выход будет равен разности сигналов A−B, если A >= B, и 0, если A < B.
  • Компаратор позволяет снимать особые данные с некоторых блоков, если они расположены прямо за ним:
    • Заполненность контейнеров (сундуки, печки, раздатчики, вагонетки с сундуком и т. п.).
    • Количество игроков, соответствующих введенной в командный блок команде /testfor. Для обновления показания потребуется еще раз подать сигнал на командный блок.
    • Номер пластинки, вставленной в проигрыватель.

Основные логические элементы[править | править вики-текст]

Логические вентили (или гейты) — конструкции, осуществляющие логические операции над сигналами. Вентили принимают сигнал(ы) с одного или нескольких входов и возвращает на выход. Они используются для обработки поступающих сигналов и реагирования только в определенных случаях. Внимательно изучите их все: многие из них вам будут нужны при создании собственных схем. Недостаточно просто выучить расположение элементов, чтобы нормально ими пользоваться, нужно понять, как они работают.

Вентиль отрицания — NOT[править | править вики-текст]

NOT
С использованием факела
С использованием компаратора

Вентиль NOT (инвертор) возвращает сигнал, противоположный полученному. Это реализация логического НЕ.

Таблица истинности:

a ¬a
0 1
1 0

До обновления 1.2 этот вентиль применялся при управлении двойными дверьми, так как створки двойной двери на одинаковый сигнал реагировали противоположным образом.


Другая конструкция репитера.
Простейший репитер.

Два вентиля NOT, установленные на линию подряд, называются повторителем. Повторитель возвращает такой же сигнал, какой и принял (¬¬a = a) и пропускает сигнал только в одну сторону. До появления красных повторителей, такие повторители были единственным способом передать сигнал более чем на 15 блоков.

Вентиль дизъюнкции — OR[править | править вики-текст]

OR
Redstone manual - OR.png

Вентиль OR (логическое ИЛИ) возвращает 1, если хотя бы на одном из входов 1. Обычно необходимости в отдельном вентиле нет, достаточно просто объединить провода. Однако провод пропустит сигнал в обе стороны — если вам это мешает, то можно использовать вентиль.

Формула для случая с отдельным вентилем: a ∨ b ∨ c = ¬¬(a ∨ b ∨ c)

Таблицы истинности:
Трёхвариантная

a b c a ∨ b ∨ c
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1

Двухвариантная

a b a ∨ b
0 0 0
1 0 1
0 1 1
1 1 1

Вентиль отрицания дизъюнкции — NOR[править | править вики-текст]

Redstone manual - scheme NOR.gif
Redstone manual - NOR.png

Можно изменить схему и не использовать инвертор, тогда результат будет противоположный — это вентиль NOR. Он возвратит 1, если на всех входах 0.

Формула: ¬(a ∨ b) = ¬(a ∨ b)

Такая операция называется стрелкой Пирса.

Таблица истинности:

a b a ⊽ b
0 0 1
1 0 0
0 1 0
1 1 0

Вентиль конъюнкции — AND[править | править вики-текст]

AND
Redstone manual - AND 1.png
Здесь поршень блокирует провод блоком. На самом деле это не AND, а (¬a ∧ b), где a — верхний провод.
Redstone manual - AND 2.png
С использованием компараторов

Вентиль AND (логическое И) возвращает 1, если на всех входах 1.

Формула: a ∧ b = ¬ (¬a ∨ ¬b)

Таблица истинности:

a b a ∧ b
0 0 0
1 0 0
0 1 0
1 1 1


Вентиль отрицания конъюнкции — NAND[править | править вики-текст]

Redstone manual - scheme NAND.gif
Redstone manual - NAND.png

Если убрать факел на выходе схемы AND, получится вентиль NAND. Он выдаст 1 если хотя бы на одном из входов 0.

Формула: ¬(a ∧ b) = ¬a ∨ ¬b

Такая операция называется штрихом Шеффера.

Таблица истинности:

a b a ⊼ b
0 0 1
1 0 1
0 1 1
1 1 0

Вентиль строгой дизъюнкции — XOR[править | править вики-текст]

Redstone circuits schema 06.gif
Длинный вариант.
Высокий вариант, сзади.
То же, спереди.

Вентиль XOR (исключающее ИЛИ) возвращает 1, если только на одном из входов 1. То есть, если входные значения были разные.

Формула вентиля:
¬[ ¬a ∨ (a ∧ b) ] ∨ ¬[¬b ∨ (a ∧ b) ] = ¬[ (¬a ∨ (a ∧ b)) ∧ (¬b ∨ (a ∧ b)) ] = ¬((¬a ∨ b) ∧ (¬b ∨ a)) = ¬(¬a ∨ b) ∨ ¬(a ∨ ¬b) = a ∧ ¬b ∨ ¬a ∧ b = a ⊻ b

Таблица истинности:

a b a ⊻ b
0 0 0
1 0 1
0 1 1
1 1 0

Этот и следующий вентили могут применяться для управления различными дверьми (в том числе поршневыми), если нужно иметь возможность открыть и закрыть дверь с обеих сторон от неё. Для этого с обеих сторон устанавливаются рычаги, подведённые к управляющей цепи двери через XOR или XNOR. Тогда дверь откроется, если рычаги в одинаковом (XNOR) или разном (XOR) положении.

Другой способ реализовать такую систему — установить Т-триггер и кнопки вместо рычагов.

Вентиль отрицания строгой дизъюнкции — XNOR[править | править вики-текст]

Redstone manual - XNOR.png

Вентиль XNOR вернет 1, если на входах сигналы одинаковые. Этот вентиль получается из XOR добавлением инвертора на выходе.

Таблица истинности:

a b a ≡ b
0 0 1
1 0 0
0 1 0
1 1 1

Вентиль импликации — IMPLIES[править | править вики-текст]

Redstone manual - scheme IMPIES.gif
Redstone manual - IMPLIES.png

Этот вентиль возвращает 1, если есть сигнал на B и/или нет сигнала на A. Иначе говоря, 0 будет возвращён, только если A=1 и B=0.

Таблица истинности:

a b a → b
0 0 1
1 0 0
0 1 1
1 1 1

Таймеры[править | править вики-текст]

Таймеры, или тактовые генераторы (от англ. clock generator) — схемы, циклично меняющие своё состояние. Чтобы выключить генератор, достаточно подать на любой из его управляющих проводов постоянный сигнал, то есть просто подключить рычаг. Стоит отметить, что до официального релиза при перезапуске мира включенные генераторы в некоторых случаях могли «застыть» в положении, в котором они были на момент выключения. Чтобы их запустить, достаточно обновить любой блок вплотную к ним, например, поставить рядом факел. Таймеры обновляются и работают, только если ближе 10 чанков в том же измерении есть игроки.

Выражение «N-тактовый таймер» означает, что таймер выдает сигнал длиной в N краснокаменных тактов (это единица времени в Minecraft, соответствующая 2 игровым тактам или 0,1 секунды; далее просто «такт», если не указано иначе).

Таймеры на основе инверторов[править | править вики-текст]

5-тактовый таймер на основе инвертеров
4-тактовый таймер на основе инвертеров

Простейший и первейший вид таймеров — кольцо из нечетного числа инверторов (вентилей NOT). Каждый инвертер дает задержку в 1 такт.

Если постараться, то можно сделать таймер из четного числа инвертеров.

Минимальное число инверторов — 4, при меньшем цепь перегорит, то есть полностью выключится — если Вам незнакомо это понятие, попробуйте замкнуть инвертор сам на себя.

Улучшенный вариант с использованием повторителей[править | править вики-текст]

ScreenshotOfRepeaterClockGen.png

Повторитель в режиме «0.2» (то есть задержка в 2 такта или 0,2 секунды) установленный обеспечивает минимальную задержку, достаточную для того, чтобы замкнутая цепь даже из 1 инвертора не перегорала. Это очень удобный, компактный и настраиваемый (добавлением повторителей) генератор. Этот вариант рекомендуется для использования в большинстве случаев.

Таймер из повторителей[править | править вики-текст]

Redstone manual - clock rpt.png
Redstone manual - clock rpt big.png

Тактовый генератор можно собрать и из нескольких повторителей, например, из двух. Однако такой генератор весьма неудобен: для запуска нужно рядом быстро включить и выключить рычаг (или поставить и сразу же убрать факел), кроме того, этот вид генератора очень нестабилен и его повторный запуск может оказаться сложным делом. Наиболее простой запуск такого таймера — установить рядом с ним красный факел на уже заряженный красным камнем блок.

Можно сделать большое кольцо из повторителей, оно будет работать стабильней. Любой из проводов на скриншоте может использоваться и как вход, и как выход. Установив повторители на контактах, можно определить, какие будут входами, а какие выходами (несвоевременный сигнал извне может нарушить или остановить работу такого таймера). Количество повторителей определяет задержку таймера.

Можно создать сеть таймеров. Различают два типа таких сетей: 1. Таймеры имеют одинаковую задержку и могут передавать сигнал друг другу.

Достоинства
  • При разрыве цепочки в любом таймере некоторая его часть будет продолжать функционировать за счёт другого таймера. После устранения разрыва таймер продолжит работу как обычно.
Недостатки
  • Задержки во всех таймерах сети должны быть одинаковыми. Если хотя бы в одном таймере задержка будет отличатся от других, сигнал в сети станет постоянным. Это делает сеть уязвимой к грифингу.
  • Работа сети может быть нарушена сигналом извне хотя бы к одному таймеру.

2. Каждый таймер соединён при помощи повторителя с другим, с задержкой, вдвое меньше предыдущего таймера. Связь между таймерами односторонняя.

Достоинства
  • При разрыве цепочки в таймере, поддерживаемом другим таймером, функционирование некоторой части повреждённого таймера продолжается. После устранения разрыва таймер продолжит работу как обычно.
  • У таймеров разные задержки.
Недостатки
  • Задержки в таймерах должны различаться в два раза, причём таймер с большей задержкой должен быть соединён с таймером с меньшей задержкой. Нарушение этого правила приводит к тому, что сигнал в сети станет постоянным. Это делает сеть уязвимой к грифингу.
  • Задержки в повторителях между таймерами должны быть одинаковыми (рекомендуемая задержка — 1).
  • Каждый таймер поддерживается только предыдущим. Повреждённый таймер хоть и продолжит работать в некоторых местах, но перестанет поддерживать другой таймер. Таймер с самой большой задержкой вообще ничем не поддерживается.
  • Если подать на один таймер сигнал извне, то его работа и работа поддерживаемого им таймеров может нарушиться. Если будет нарушена работа таймера с самой большой задержкой, вся сеть может перестать работать правильно.

Железнодорожный таймер[править | править вики-текст]

Redstone manual - rail clock.png

Таймеры на основе железной дороги просты в постройке и настройке, но имеют и некоторые недостатки: они занимают много места, для их постройки нужно золото. Эти тактовые генераторы состоят из небольшого железнодорожного кольца с одним или несколькими электрическими и нажимными рельсами (минимум по одному участку каждого типа). Стоит запустить по такому кольцу вагонетку, и она начнёт стабильно вращаться, периодически проезжая по детекторам. Есть два пути настройки такого генератора: изменение длины кольца или изменение скорости прохождения вагонетки по кольцу, например, введение наклонных рельс, которые будут замедлять вагонетку, или дополнительных энергорельс, которые будут уменьшать задержку между импульсами на выходе.

Redstone manual - rail T flip-flop.png

Заменив в схеме флип-флопа средний ускоритель на третьи нажимные рельсы и связав все три выхода воедино, можно получить однократный таймер, он же линия поддержки сигнала, при достаточно высокой длительности отличающаяся компактностью и дешевизной.

Таймер на лодочке-всплывайке[править | править вики-текст]

Удалив в датчике обновления блоков на основе лодки один поршень (и лишние механизмы) с тем, чтобы вода при отключении поршня начинала течь немедленно, мы получим дешёвый и компактный таймер с периодом, который для реализации «в лоб» потребовал бы значительных размеров матрицу красных факелов и повторителей.

Пульсар[править | править вики-текст]

Redstone manual - pulsar 3.png
Пульсар.
Вид сверху.
Еще один вид пульсара.

Принцип действия пульсара — факел при включении выключает сам себя и выдает нестабильную серию импульсов. Так как в этой конструкции 4 факела, когда один из них перегорает, начинает мигать второй, и так далее. Если подключить выходы к факелам, можно получить генератор случайных последовательностей, а если к красной пыли — очень быстрый тактовый генератор (см. скриншот справа).

«Предметный» таймер[править | править вики-текст]

Пример механизма.

Используя свойство выброшенных вещей исчезать через строго определённый промежуток времени — 5 минут, — можно построить высокоточный таймер, дающий задержку в четверть игровых суток. Для этого нужно установить раздатчик и деревянную нажимную пластину так, чтобы при потере сигнала с плиты раздатчик бы срабатывал. Такая система, в отличие от всех остальных, всегда будет выдавать задержку между импульсами в 5 минут вне зависимости от лагов.

Будьте осторожны, за 5 минут можно уйти от таймера достаточно далеко, чтобы чанк с ним перестал обсчитываться.

Таймеры на воронках[править | править вики-текст]

Быстрый таймер[править | править вики-текст]

Рычаг справа позволяет приостановить работу клок-генератора.

Используя свойство воронок передавать вещи друг другу, можно создать клок-генератор с задержкой в 0,4 секунды или 4 такта. Для этого нужно присоединить воронку к другой воронке, удерживая клавишу ⇧ Shift поставить воронку на боковую сторону блока, затем уничтожить блок и проделать тоже самое, установив воронку на «выход» другой воронки. После проделанного нужно установить компаратор к любой из воронок. Напоследок следует загрузить любой предмет в любую воронку и если, всё проделано правильно генератор начнёт свою работу.

Таймер можно остановить, просто подключив красный камень к воронке и активировать его и т. д.

Долгий таймер[править | править вики-текст]

Долгий таймер на воронках
Долгий таймер на воронках, другой ракурс

Так же на воронках можно соорудить таймер с долгим периодом. Период срабатывания зависит от количества загруженного в воронку предмета. При максимальном количестве вмещаемого в воронку шмота (5 стаков по 64 единицы) один такт будет длиться около 128 секунд. Причём, увеличивая количество воронок (минимальное их количество - 4шт), можно делать таймер насколько угодно большим. Основан таймер на определении компаратором наличия в воронке предмета и предотвращая передачу этого предмета дальше, пока он весь не пересыпется в текущую воронку.

Таймеры на основе компаратора[править | править вики-текст]

Такие таймеры основаны на конечном времени задержки компаратора. В основе таких таймеров лежит компаратор с замкнутым выходом на боковой вход. Можно выделить три основных подкатегории:

1.Без повторителя[править | править вики-текст]

Такой таймер обеспечивает наибольшую частоту генерации.

Такой таймер наиболее компактен и дешев, и позволяет достигать частоты генерации более 5 тактов в секунду. На задний вход компаратора в режиме вычитания подается постоянный сигнал с рычага(перед входом компаратора можно установить повторитель, на частоту это не повлияет). Выход компаратора замыкается по кратчайшему пути.

Достоинства
  • Высокая частота генерации.
Недостатки
  • От выхода компаратора до приемника сигнала должно быть не менее 3 блоков.(Это объясняется тем что от выхода компаратора до его бокового входа сигнал проходит минимум 3 блока, а следовательно на выходе будет слабый сигнал, полностью затухающий при прохождении трёх блоков)

2.С повторителем в режиме вычитания[править | править вики-текст]

Такой таймер позволяет регулировать частоту генерации

Если в цепь обратной связи включить один или несколько повторителей, то частоту генерации можно регулировать. Максимальная частота генерации с одним повторителем ограничена двумя тактами в секунду. В отличие от предыдущего таймера приемник сигнала может быть расположен на расстоянии не менее 2 блоков (это минимальное расстояние задается архитектурой расположения проводов).

Достоинства
  • Регулируемая частота генерации.
Недостатки
  • Необходимо больше деталей.
  • Меньшая частота генерации.

3.С повторителем в режиме сравнения[править | править вики-текст]

Если расстояние между рычагом и компаратором будет одна клетка, генерации не будет

Если входной сигнал проходит от источника до компаратора хотя бы 2 блока, возможна работа таймера с компаратором в режиме сравнения. Никакими преимуществами этот таймер по сравнению с предыдущим не обладает, но использует другой принцип работы. Построить таймер на основе компаратора в режиме сравнения без повторителя невозможно.

Три выше описаных таймера позволяют работать с более широким диапазоном частот, нежели инверторные. Однако для сборки таких цепей требуются элементы, для крафта которых нужен кварц. А значит без посещения нижнего мира такие таймеры построить не получится.

Таймеры без повторителей и компараторов[править | править вики-текст]

Простейший тактовый генератор (на примере раздатчика).

Их нельзя регулировать, но зато они идеально подойдут для некоторых целей - обороны в мультиплеере (если подсоединить раздатчик), восстановления пола (если присоединить к поршням) и так далее.

Требуют рычага, включающего сигнал для остановки механизма, поскольку без сигнала от рычага тактовый генератор будет работать непрерывно. Сигнал от рычага стопорит работу механизма, когда это не нужно.

Особенно мощный, если подсоединить его к раздатчику и заправит его стрелами. Вылетая со скоростью 4 стрелы в секунду, они будут сильно отталкивать мобов и игроков и наносить им урон. Если выставить подобный механизм на сервере с PvP и поместить его внутри узкого коридора, чтобы противник не успел уйти, игроки, вошедшие в тоннель, очень быстро умрут даже при хорошей защите тела бронёй. Правда, игрок должен быть у рычага, чтобы механизм заработал.

Таймер на основе датчика дневного света[править | править вики-текст]

Такой таймер выдает короткий импульс один раз в сутки (20 минут) и основан на детекторе фронта сигнала. Для более частого включения (10 минут) можно использовать одновременно оба варианта детектора

Постройка долгих таймеров[править | править вики-текст]

Постройка долгих (и очень долгих) таймеров основывается на подключении к тактовому генератору T-триггера, к которому подключен T-триггер и т.д.. Если тактовый генератор имеет период t, то если к нему подключить T-триггер, то на выходе триггера будет период равен уже 2*t. Если к первому триггеру подключить еще подключить T-триггер, то на выходе нового триггера будет период 4*t и т.д. Если же имеется n Т-триггеров, подключенных друг к другу и самый первый подключен к тактовому генератору с периодом t, то на выходе последнего триггера будет период (2^n)*t. Данная конструкция схемы позволяет сэкономить место (и порой даже ресурсы) при постройке очень долгих таймеров. Для постройки таймеров, срабатывающих раз в несколько суток имеет смысл в качестве тактового генератора использовать датчик дневного света с подключенным к 15 блоку красного провода от него детектором фронта сигнала.

Таймер на основе липкого поршня[править | править вики-текст]

Пройстейший поршневой таймер. Для работы таймера сигнал должен подаваться на правый провод

Данный таймер довольно прост в использовании, но и довольно сложен. На обычном подобном таймере сигнал меняется очень быстро, но если поставить перед поршнем повторитель и поставить его на любую задержку, можно регулировать время. Также можно сделать сложную систему из таймеров, который будет регулировать сигнал чуть ли не в хаотичном порядке. Таймер будет всегда работать при присутствии сигнала, при его отключении он не работает.

Таймеры на основе конъюнкции нескольких "подтаймеров"[править | править вики-текст]

При постройке таймеров для достижения длительного времени могут быть использованы кластеры последовательно соединенных повторителей, размеры которых могут быть весьма внушительны. Однако, использование оператора конъюнкции, позволяет увеличивать период не по аддитивному, а по мультипликативному закону при условии соблюдения некоторых правил выбора тактовых частот. Схема такая имеет множество тонких нюансов, поэтому важно представлять механику устройства. Ниже приведено простое моделирование.

Модель[править | править вики-текст]

Пусть имеются 3 последовательности дискретных сигналов с периодами t1, t2, t3 тактов каждый. Так же пусть сигналы проходят через оператор, который выдает истину только тогда, когда на входе все три сигнала оказываются истиной (Конъюнкция). Результирующий период T не может быть меньше любых из трех периодов на входе. Так же можно заметить что в случае, если t1, t2, t3 не содержат общих множителей (например простые числа), то T=t1*t2*t3 (Рис. 1). Аналогично выглядит модель для непрерывных функций (Рис. 2).

Если же немного модифицировать модель увеличив продолжительность сигнала и ввести небольшой сдвиг по фазе (красный график), то в результирующем сигнале наблюдаются нежелательные артефакты в виде сгруппированных коротких серий, причина которых интуитивно понятна из картинки (Рис.3). Следует отметить, что продолжительность сигнала на данном шаге у всех трех операндов одинакова.

Наконец, если сигналы имеют разные продолжительности (например Вы работаете с одинаковыми базами сигнала), то подобных артефактов будет еще больше, что может оказаться нежелательным в конечной установке.

Сборка установки[править | править вики-текст]

Постройка может быть произведена из любых таймеров. Например, установка из нескольких замкнутых повторителей дает возможность сделать одинаковое время сигнала. При включении такой схемы подведите провода от всех подтаймеров и дайте короткий сигнал, например поставив и быстро сбив факел. Такой способ позволяет включить подтаймеры синхронно, что очень желательно в силу описанных выше причин. В случае, если например, подтаймеры сделаны на основе компаратора, то база сигнала для всех таймеров будет равна 0.5, а абсолютная продолжительность сигнала будет расти с ростом периода.

Примечания[править | править вики-текст]

  • Если на выходе необходима последовательность нескоррелированных сигналов, можно объединять по такой же схеме источники случайного сигнала. Источник случайного сигнал представляет из себя простейшее устройство из выбрасывателя, воронки и компаратора. Например 3 выбрасывателя работающих на вероятность 1/9 после объединения дают вероятность 1/(9*9*9)=1/729. Таким образом, запитав случайные источники простым таймером с периодом 1 секунда, на выходе Вы получите последовательность со случайными промежутками времени, с математическим ожиданием 729 секунд и Гауссовым распределением.
  • Если для простой матрицы последовательных повторителей период растет линейно, то при правильном подборе входных данных, период конъюкционного таймера растет по закону близкому к экспоненциальному. Таким образом, такой таймер наиболее эффективен при стремлении получить большие и очень большие времена задержки.
  • На скриншоте и схеме, все подтаймеры, вообще говоря начинают работать как бы с середины. Это привносит некоторую целочисленную разность в фазе. Означает это лишь, то, что выходной сигнал тоже сдвинут по фазе, при этом его форма остается неизменной. Если Вас такой сдвиг в фазе не устраивает, располагайте повторители в одну линию.

Триггеры[править | править вики-текст]

Триггер — это система, которая может хранить своё состояние и менять его по сигналам извне.

RS NOR триггер[править | править вики-текст]

Redstone manual - scheme RS NOR.gif
RS NOR
Крайне компактный вариант.

Это простейшая запоминающая ячейка, которую можно реализовать в Minecraft. Она работает на следующем принципе: кольцо из двух[2] инверторов может находиться в двух состояниях, причём переключается между ними только по сигналу «извне». Любой участок провода можно использовать и для управления, и для принятия сигнала.

Таблица истинности:

A (t) B (t) A (t+1) B (t+1)
0 0 Не меняется. Не меняется.
1 0 1 0
0 1 0 1
1 1 Пульсирует. Пульсирует.

RS NAND триггер[править | править вики-текст]

Redstone manual - scheme RS NAND.png
Слева вход и выход 1, справа выход и вход 2.

Триггер с условием NAND, по сути, представляет собой предыдущий триггер с инверторами на входах и выходах. Пока оба входа выключены, оба выхода включены. Когда один из входов включается, соответствующий выход (находящийся рядом с ним) гаснет. Включение обоих входов сразу не меняет состояние выходов. При выключении входов на выходы снова подается сигнал.

Таблица истинности:

I1 I2 O1 O2
0 0 1 1
1 0 0 1
0 1 1 0
1 1 Не меняется Не меняется

T-триггер[править | править вики-текст]

T-триггер при получении сигнала на входе меняет состояние выхода на противоположное. Другими словами, если на входе установить кнопку, через Т-триггер она будет работать как рычаг. Этот вид триггеров часто используется в счетчиках и других сложных схемах.

Поршневые запоминающие устройства[править | править вики-текст]

Электрический вариант[править | править вики-текст]

Redstone manual - solid memory.png

В этом виде памяти информация сохраняется не в виде электрического сигнала, а в положении блока. Входы управляют обычными поршнями, которые двигают полный блок, либо перекрывающий, либо не перекрывающий сигнал от постоянного источника.

Таблица истинности:

A A` O
0 0 Не меняется
1 0 1
0 1 0
1 1 Не определено

На скриншоте левый вход — A, правый — A`, посередине между ними выход O.

Механический вариант[править | править вики-текст]

Redstone manual - 2 bit memory.png

Эта схема при нажатии одной из кнопок перемещает блок в строго определённое положение. Применение этому виду «памяти» придумать сложно, потому что он не имеет электрического выхода, но, возможно, он будет Вам интересен.

В версии 1.5 (RedStone Update) появился новый блок — «Redstone Block» (блок из красного камня), который непрерывно подаёт сигнал. Таким образом, если лёд в примере заменить этим блоком, то возможно получать значение ячейки.

Как видно, каждая кнопка управляет сразу двумя соседними группами поршней. Провода с кнопкой не должны соединяться. В случае, если этого условия добиться невозможно, можно использовать красные повторители.

Другие схемы[править | править вики-текст]

Переключатель[править | править вики-текст]

Redstone manual - selector.png

Переключатель служит для того, чтобы обменивать состояние нескольких проводов.

С одной стороны к блоку подводится красный провод (активен, когда блок активен), а с другой на него ставится красный факел (по сути, получается инвертор) с идущим от него проводом (активен, когда блок неактивен). Рычаг использовать необязательно — например, вместо него можно подвести красный провод.

Вертикальная передача сигнала[править | править вики-текст]

Очевидный способ.

Для передачи сигнала вверх или вниз достаточно построить обычную винтовую лестницу и пустить по ней красный провод, но существуют и более компактные варианты проводки. Фактически, это цепочки из инверторов, установленных вертикально. Если факелов чётное число, то сигнал выйдет неизменным, если нечётное, то сменится на противоположный.

В случае передачи сигнала вверх нижний факел гаснет и отключает стоящий над ним блок, который перестаёт гасить стоящий на нём факел и т. д. При передаче вниз верхний факел гаснет и зажигает следующий факел. Тот включается и меняет состояние следующего факела и т. д.

Начиная с 1.2, красная пыль может быть помещена на светящемся камне, что позволяет создать еще один вариант вертикальной передачи сигнала, отличающийся мгновенной реакцией (факелы дают задержку). Сигнал по этому типу вертикального ретранслятора будет передаваться вверх, но не вниз.

Вариант с плитами

Также можно устанавливать плиты таким образом, чтобы они занимали «верх» блока. При этом сигнал также будет передаваться вверх.

Мост[править | править вики-текст]

Redstone manual - bridge.png

Мост позволяет создавать намного более компактные пересечения перпендикулярных цепей из красной пыли. Однако, обе пересекающиеся линии должны иметь строго определенное направление сигнала, кроме того, мост добавляет задержку минимум в 0,1 с.

Детектор фронта сигнала[править | править вики-текст]

Redstone manual - edge detectors.png
Redstone manual - scheme edge detectors.png
Восходящий детектор фронта сигнала на основе компаратора в режиме вычитания. Лампа загорает на мгновении при включении кнопки
Нисходящий детектор фронта сигнала на основе компаратора в режиме вычитания. Лампа загорается на мгновении при выключении кнопки

Такая схема выдает короткий импульс, если сигнал на входе появляется (на верхних иллюстрациях — слева) или исчезает (на верхних иллюстрациях - справа), в зависимости от конструкции. Это означает, что при включении рычага импульс выдаст левая схема, а при выключении — правая. Бывает полезна, например, в случае, когда нужно выполнить некоторую последовательность действий при потере сигнала.

Разность задержки повторителей определяет длительность исходящего импульса, а также то, в каком режиме будет работать детектор: если задержка повторителя у факела меньше, чем у провода, тогда это будет «восходящий» детектор (определяет нарастание сигнала), если наоборот — то «нисходящий» (определяет спад сигнала). Если задержки равны, схема не будет работать.

Также детектор фронта можно сделать с помощью компаратора, включенного в режиме вычитания сигнала (нижние иллюстрации).

Инвертированный переключатель[править | править вики-текст]

Redstone manual - ABBA switch.png

Многие механизмы с использованием поршней требуют включения в одном порядке, а выключения — в обратном. Инвертированный переключатель (англ. ABBA Switch) позволяет решить этот вопрос: при включении сначала сигнал будет подан на A, потом на B, при выключении же сигнал сначала пропадет с B, потом с A, что и отражено в названии (A->B, B->A). Вместо красной пыли по углам можно просто поставить полные блоки.

Линии поддержки сигнала[править | править вики-текст]

С использованием повторителей[править | править вики-текст]

Схема имеет небольшой недостаток — сигнал будет получен с задержкой в 0,1 секунду.
Redstone manual - scheme delay chain.png

Данная схема применяется для того, чтобы увеличить продолжительность сигнала (например, от кнопки). Длительность выходного сигнала составляет длительность исходного сигнала (1 с для каменной кнопки и 1.6 с для деревянной кнопки) плюс суммарная задержка линии повторителей. Повторители, направленные к выходу, используются только как диоды.

С использованием компараторов[править | править вики-текст]

Основная идея использования схемы поддержки сигнала с использованием компараторов - подать на замкнутый круг из компараторов сигнал и уменьшать с течением времени силу сигнала в круге на единицу или больше, тем самым уменьшая/увеличивая время поддержки сигнала.

В режиме вычитания[править | править вики-текст]

В данной схеме сигнал в круге меняется одним компаратором в круге, который находится в режиме вычитания и на который подается сбоку ненулевой сигнал. Ненулевой сигнал, подаваемый сбоку на компаратор в режиме вычитания, создается с помощью компаратора, подключенного к сундуку, в котором находятся предмет(ы).

Входом и выходом схемы можно считать любой провод из красной пыли. Если нажать на кнопку, то лампа будет гореть около 7 сек
С использованием затухания сигнала[править | править вики-текст]

В данной схеме сигнал в круге меняется из-за затухания сигнала проводов. Чем длиннее провода, идущий от компаратора к компаратору, тем больше будет сильнее затухание сигнала сигнала. Если длина провода, идущего от компаратора к компаратору, будет равна одному блоку, то затухание сигнала происходить не будет.

Входом и выходом схемы можно считать любой провод из красной пыли. Если нажать на кнопку, то лампа будет гореть около 9 сек

Двусторонний повторитель[править | править вики-текст]

Redstone manual - two-way repeater.png
Redstone manual - scheme two-way repeater.png

Эта схема работает как повторитель, но, в отличие от обычных повторителей, она пропускает сигнал в обе стороны. Это может пригодиться, если нужно или можно использовать один провод для связи в обе стороны.

Тиристор[править | править вики-текст]

Tiristor-with-rc-trigger.schema.png
Tiristor-with-rc-trigger.png

Эта схема подает сигнал на выход при подаче сигнала на оба свои входа, но, когда в активированном состоянии убрать сигнал с входа B, оставив сигнал на входе A, сигнал на выходе остаётся до тех пор, пока не убрать сигнал с входа A.

Заключение[править | править вики-текст]

В данной статье были рассмотрены многие основные схемы из красного камня. Приведённые здесь варианты строения не являются единственно правильными — почти всегда существуют другие варианты схем, иногда более компактные и менее ресурсоёмкие. О многих других схемах и вариантах строения можно прочитать, например, в английской версии этой статьи.

Если вы разобрались с принципами работы этих элементов — вы можете считать, что знаете, как работает красный камень. Удачи!

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

  1. Композицией отрицания и дизъюнкции можно представить все бинарные логические функции.
  2. А также из 4, 6 и любого другого чётного числа