Project Red/Бегущая строка — различия между версиями

Материал из Playzone Minecraft Wiki
Перейти к: навигация, поиск
 
(не показана 1 промежуточная версия этого же участника)
Строка 3: Строка 3:
 
'''Логика работы бегущей строки следующая:'''
 
'''Логика работы бегущей строки следующая:'''
  
* В ряд размещается столько сегментных индикаторов, сколько необходимо
+
* В ряд размещается столько сегментных индикаторов, сколько необходимо.
 
* По количеству индикаторов устанавливаются интегральные микросхемы, которые представляют из себя 16 разрядный регистр, который получает на входе символ с предыдущего регистра, передает его на индикатор и на следующий регистр.
 
* По количеству индикаторов устанавливаются интегральные микросхемы, которые представляют из себя 16 разрядный регистр, который получает на входе символ с предыдущего регистра, передает его на индикатор и на следующий регистр.
 
* Таймер (или другой источник синхронизации), который подключается ко всем регистрам и служит для сдвига надписи на один разряд.
 
* Таймер (или другой источник синхронизации), который подключается ко всем регистрам и служит для сдвига надписи на один разряд.
Строка 17: Строка 17:
 
}}
 
}}
  
После размещения их в мире, необходимо ПКМ с отверкой в руках - они изменять внешний вид с двух-разрядных цифровых индикаторов в одноразрядный символьный индикатор.
+
После размещения их в мире, необходимо ПКМ с отверкой в руках - они изменят внешний вид с двухразрядных цифровых индикаторов в одноразрядный символьный индикатор.
 
<div class="tleft" style="clear:none">[[Файл:Индикатор_1.png|мини|Семисегментный двухразрядный индикатор|100пкс]]</div>
 
<div class="tleft" style="clear:none">[[Файл:Индикатор_1.png|мини|Семисегментный двухразрядный индикатор|100пкс]]</div>
 
<div class="tleft" style="clear:none">[[Файл:Индикатор_2.png|мини|Шестнадцати- разрядный индикатор|100пкс]]</div>
 
<div class="tleft" style="clear:none">[[Файл:Индикатор_2.png|мини|Шестнадцати- разрядный индикатор|100пкс]]</div>
  
Следующий шаг на микросхемном верстаке разработать логическую схему, которая будет "зажигать" необходимые сегменты, и при получении внешнего сигнала, передавать символы дальше.
+
Так же нужно разработать ячейку памяти, которая будет хранить символ и передавать его на следующий индикатор.
Так как необходимо использовать все 16 линий шины, то необходимо объединить 16 триггеров.
+
 
 +
В Project Red есть прозрачный триггер (D-триггер), он запоминает свое состояние при изменении уровня на запирающем входе. Т.е. у этого триггера есть запирающий вход, один вход и два выхода (снизу, слева, сверху и справа соответственно). Когда на запирающем входе есть сигнал, сигнал на выходе повторяет сигнал на входе. Когда на запирающем входе сигнал пропадает, на выходах фиксируется сигнал, который был на входе.
 +
 
 +
Этот триггер не подходит для бегущей строки, т.к. если их разместить последовательно, и подать сигнал на запирающий вход, то выходы всех триггеров сбросятся. Для решения данной задачи, необходимо использовать двухступенчатый D-триггер. Этот элемент состоит из двух одинаковый D-триггеров соединенный последовательно, но у одного из триггеров запирающий вход подключен инверсно, т.е. если на одном триггере есть сигнал, то на втором нет, и наоборот.
 +
 
 +
Таким образом получаем ячейку памяти для хранения 1 бита информации. Для управления индикатором необходим элемент для хранения 16 бит информации, поэтому необходимо 16*3=48 дискретных элементов и много соединительных проводов. Из-за сложности размещения такого количества элементов, необходимо воспользоваться возможностью создания интегральных схем с помощью мода Project Red.
 +
 
 +
Для этого, на микросхемном верстаке, чертим логическую схему, которая содержит в себе 16 одно-битных ячеек памяти. Справа вход, снизу выход для управления индикатором, слева выход для передачи текущего символа на следующую микросхему памяти, сверху вход для сигнала синхронизации.
 +
 
 +
После этого полученный чертеж микросхемы нужно разместить на [[Project Red/Микросхемный принтер|микросхемном принтере]]. Разместить в нижнем слоте микросхему и необходимые компоненты для создания интегральной схемы. После создания микросхемы, нужно сделать из неё блок микросхемы. Для этого на верстаке разместить полученную микросхему по центру, и окружить печатными платами.
 +
 
 +
Сделать микросхем столько же сколько и индикаторов, или больше (если длина текста больше, чем количество индикаторов).

Текущая версия на 20:03, 27 февраля 2016

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

Логика работы бегущей строки следующая:

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

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

 Grid Печатная плата (Project Red).png  Grid Плата с шиной (Project Red).png  Grid Печатная плата (Project Red).png Grid layout Arrow (small).png  Grid Гейт сегментного индикатора (Project Red).png
 Grid Кварц Нижнего мира.png  Grid Кремниевый чип (Project Red).png  Grid Кварц Нижнего мира.png
 Grid Печатная плата (Project Red).png  Grid Кварц Нижнего мира.png  Grid Печатная плата (Project Red).png

После размещения их в мире, необходимо ПКМ с отверкой в руках - они изменят внешний вид с двухразрядных цифровых индикаторов в одноразрядный символьный индикатор.

Семисегментный двухразрядный индикатор
Шестнадцати- разрядный индикатор

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

В Project Red есть прозрачный триггер (D-триггер), он запоминает свое состояние при изменении уровня на запирающем входе. Т.е. у этого триггера есть запирающий вход, один вход и два выхода (снизу, слева, сверху и справа соответственно). Когда на запирающем входе есть сигнал, сигнал на выходе повторяет сигнал на входе. Когда на запирающем входе сигнал пропадает, на выходах фиксируется сигнал, который был на входе.

Этот триггер не подходит для бегущей строки, т.к. если их разместить последовательно, и подать сигнал на запирающий вход, то выходы всех триггеров сбросятся. Для решения данной задачи, необходимо использовать двухступенчатый D-триггер. Этот элемент состоит из двух одинаковый D-триггеров соединенный последовательно, но у одного из триггеров запирающий вход подключен инверсно, т.е. если на одном триггере есть сигнал, то на втором нет, и наоборот.

Таким образом получаем ячейку памяти для хранения 1 бита информации. Для управления индикатором необходим элемент для хранения 16 бит информации, поэтому необходимо 16*3=48 дискретных элементов и много соединительных проводов. Из-за сложности размещения такого количества элементов, необходимо воспользоваться возможностью создания интегральных схем с помощью мода Project Red.

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

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

Сделать микросхем столько же сколько и индикаторов, или больше (если длина текста больше, чем количество индикаторов).