Сообщение от цифровик
|
Первый раз вижу в проте. Модель светодиода с анимацией яркости свечения от тока.
|
Сообщение от Vitali20
|
А куда зайти надо чтобы нарисовать цифрами диапазон??
|
Честно говоря, трудно что-либо объяснять, не понимая уровень компетенций у спрашивающего.
Поэтому, попробую провести "ликбез" по интерактивным компонентам "для чайников". Друзья, не обижайтесь - все мы когда-то были "чайниками" в той или иной области.
Без очень "легкой" теоретической части не обойтись. Поэтому, начнем с нее.
Любой интерактивный компонент в Proteus'е имеет системную переменную STATE.
В свою очередь, интерактивные компоненты бывают 2-х типов:
- Индикаторы (Indicators), которые преобразуют некую физическую величину (напряжение, ток, логическое состояние) в переменную STATE.
- Актуаторы (Actuators), которые преобразуют воздействие пользователя (нажатие кнопки и т.п) в переменную STATE.
Сама переменная STATE жестко привязана к отображаемому фрейму компонента, и может быть представлена в виде последовательности состояний (0, 1, ..., N), либо в поразрядном (bitwise) виде - каждый бит представлен одним разрядом (выводом, контактом) и может принимать значения либо 0 либо 1.
Опускаем дальнейшие нудные теоретические подробности, и переходим к экспериментам.
Возьмем LED компонент, к примеру, LED-YELLOW, представляющий из себя аналоговый интерактивный индикатор с последовательным представлением переменной STATE.
Попробуем задать ему разные значения STATE (см. pic01). Как видно, при различных значениях STATE, отображаются разные фреймы. Причем, несуществующий фрейм отображается "пустышкой".
Перейдем к практике.
Очевидно, что для выполнения поставленной задачи в самом простейшем случае, необходимо нарисовать новые фреймы, не изменяя их количество.
На pic02 я разобрал (Decompose) компонент LED-YELLOW и показал все его фреймы.
При рисовании фреймов необходимо не забывать о расположении маркера ORIGIN, именно он является тем "якорем", к которому привязаны все фреймы.
Последовательность действий такая:
- рисуется сам компонент (с контактами, маркером ORIGIN);
- копируется (Block Copy) необходимое количество раз;
- контакты у копий удаляются, ORIGIN оставляется;
- радактируется цвет / добавляются циферки / ...;
- из каждого изображения создается символ (Make Symbol) (см. pic03);
Наименование символа очень важно, и состоит из основного имени фрейма и постфикса.
К примеру, для pic02, LED_YELLOW - имя фрейма, а _0, _1, ..., _7 - постфикс, связанный со значением STATE.
Для примера, привел другие фреймы (см. pic04) - здесь LED_RED и LEDR - основные имена фреймов.
Теперь остается только создать новый компонент (Make Device) (см. pic05), правильно указав основное имя фрейма и остальные параметры.
Для той задачи, которая была поставлена в самом начале - только изменение фреймов, проще всего, "разобрав" компонент, в данном случае - LED-YELLOW, скопировать его срипт-блок к изображению нового компонента, а затем, выделив изображение и скопированный скрипт-блок, создать новый компонент, изменив лишь "Device Name" и "Symbol Name Stem".
Надеюсь, достаточно просто объяснил несложную процедуру (дольше писал
). Если остались вопросы - задавайте.