Расширение порта ввода-вывода, больше мультиплексирования — КиберПедия 

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

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

Расширение порта ввода-вывода, больше мультиплексирования

2022-10-11 27
Расширение порта ввода-вывода, больше мультиплексирования 0.00 из 5.00 0 оценок
Заказать работу

Расширение порта ввода-вывода, больше мультиплексирования

На последнем шаге мы поняли, что для светодиодного куба 8x8x8 требуется 64 + 8 линий ввода / вывода. Ни один микроконтроллер AVR с DIP-пакетом (микросхема со сквозным отверстием, которую можно легко припаять или использовать в макете, DualInlinePackage) не имеет такого количества линий ввода-вывода.

Чтобы получить необходимые 64 выходные линии, необходимые для светодиодных анодов, мы создадим простую схему мультиплексора. Эта схема будет мультиплексировать 11 линий ввода-вывода в 64 выходных линии.

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

Этот мультиплексор использует 8-битную ИС-защелку 74HC574. Этот чип имеет следующие контакты:

· 8 входов (D0-7)

  • 8 выходов (Q0-7)
  • 1 фиксатор (CP)
  • 1 выходной контакт (OE)

Работа защелки - служить своего рода простой памятью. Защелка может содержать 8 бит информации, и эти 8 бит представлены на выходных контактах. Рассмотрим защелку со светодиодом, подключенным к выходу Q0. Чтобы включить этот светодиод, подайте V + (1) на вход D0, затем потяните вывод CP на низкое (GND), а затем на высокое (V +).

Когда вывод CP изменяется от низкого к высокому, состояние входа D0 «фиксируется» на выходе Q0, и этот выход остается в этом состоянии независимо от будущих изменений в состоянии входа D0, пока новые данные не будут загружены путем СР вывод снова низкий и высокий.
Чтобы создать массив защелок, который может запомнить состояние включения / выключения 64 светодиодов, нам нужно 8 из этих защелок. Входы D0-7 всех защелок соединены вместе в 8-битной шине.

Чтобы загрузить состояния включения / выключения всех 64 светодиодов, мы просто делаем это: Загружаем данные первого фиксатора на шину. потяните штифт CP первой защелки низко, затем высоко. Загрузите данные второго фиксатора на шину. потяните штифт CP второй защелки низко, затем высоко. Загрузите данные третьего фиксатора на шину. потяните штифт CP третьей защелки вниз, затем высоко. Промыть и повторить.

Единственная проблема с этой настройкой состоит в том, что нам нужно 8 линий ввода-вывода для управления линией CP для каждого фиксатора. Решение состоит в том, чтобы использовать 74HC138. Эта микросхема имеет 3 входных линии и 8 выходов. Входные линии используются для управления тем, какая из 8 выходных линий в любой момент будет понижена. Остальное будет высоко. Каждый из выходов 74HC138 подключен к выводу CP на одном из фиксаторов.

Следующий псевдокод загрузит содержимое массива буферов в массив защелок:

// PORT A = шина данных
// PORT B ​​= шина адресов (74HC138)
// буфер символов [8] содержит 64 бита данных для защелки массив

PORTB = 0x00; // Это тянет CP на уровне защелки 1.
для (i = 0; i <8; i ++)
{

PORTA = буфер [i];
PORTB = i + 1;

}

Выходы 74HC138 являются активными LOW. Это означает, что активный выход обнуляется. Фиксатор (CP) на защелке является триггером с нарастающим фронтом, что означает, что данные фиксируются, когда они изменяются с LOW на HIGH. Чтобы активировать правую защелку, 74HC138 должен оставаться на один шаг впереди счетчика i. Если бы это был активный чип HIGH, мы могли бы написать PORTB = i; Вы, вероятно, думаете, что произойдет, когда счетчик достигнет 7, это будет означать, что на PORTB вывод будет 8 (1000 двоичных) на последней итерации цикла for (). Только первые 8 битов ПОРТА B подключены к 74HC138. Таким образом, когда порт B выводит 8 или 1000 в двоичном формате, 74HC138 читает 000 в двоичном формате, тем самым завершая свой цикл. (это началось в 0). Теперь 74HC138 выдает следующую последовательность: 1 2 3 4 5 6 7 0,

Построй куб: создай джиг

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

1)
Найдите кусок дерева или пластика, который больше, чем размер вашего куба.

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

3)
Используйте линейку и угловое железо, чтобы нарисовать сетку из 8 на 8 линий, пересекающихся в 64 точках, используя расстояние между светодиодами, определенное на предыдущем шаге.

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

5)
Просверлите все отверстия.

6)
Возьмите светодиод и попробуйте каждое отверстие для размера. Если отверстие слишком плотное, аккуратно просверлите его, пока светодиод не будет плотно прилегать и его можно будет вытащить без особого сопротивления.

7)
Где-то около середины одной из сторон нарисуйте небольшую отметку или стрелку. Стальная проволока будет припаяна здесь в каждом слое, чтобы придать кубу дополнительную жесткость.

Построй куб: припой слой

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

1) Подготовьте 64 светодиода.
Согните катодную опору каждого светодиода на 90 градусов. Убедитесь, что ножки согнуты в одном направлении на всех светодиодах. Глядя на светодиод, сидящий в отверстии в шаблоне с выемкой справа, мы согнули ногу вверх.

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

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

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

5) Проверьте все светодиоды.
Это описано в следующем шаге. Просто упомяну здесь, чтобы вы еще не удалили слой.

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

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

Повторите 8 раз!

Обратите внимание на изображениях:
Если у вас возникли проблемы, видя детали в любом из наших фотографий, вы можете мнение в полном разрешении, нажав на маленьком I значок в левом верхнем углу каждого изображения. Все наши снимки крупным планом сделаны с помощью мини-штатива и должны иметь отличную макро-фокусировку. На странице изображения выберите размер оригинала в меню «Доступные размеры» с левой стороны.

 Построй куб: спаяй слои вместе Теперь самое сложное - спаять все вместе!

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

Чтобы избежать полной катастрофы, вам нужно что-то, чтобы удерживать слой на месте до его пайки. К счастью, ширина батареи 9 В довольно близка к 25 мм. Вероятно, ближе к 25,5-26 мм, но это нормально.

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

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

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

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

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

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

Подключите заземление к вкладке заземления.

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

Теперь у вас есть 2/8 вашего светодиодного куба, спаянного вместе! Ура!

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

Построй куб: создай базу

У нас не было никаких причудливых инструментов для создания причудливой подставки или коробки для нашего светодиодного куба. Вместо этого мы изменили шаблон для работы в качестве основы для куба.

Мы призываем вас сделать что-то круче, чем мы сделали для вашего светодиодного куба!

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

Конечно, вы не хотите, чтобы ваш светодиодный куб на деревянной основе. У нас не было черной краски, но мы нашли гигантский маркер черной магии! Окрашивание черного дерева волшебным маркером сработало на удивление хорошо! Я думаю, что тот, который мы использовали, имел точку 10 мм

Построй куб: монтируй куб

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

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

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

Проверьте куб

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

Она начнется с рисования плоскости вдоль одной оси, а затем смещения ее по всем 8 позициям этой оси. (под плоскостью мы подразумеваем плоскую поверхность, а не самолет: p) Тестовый код будет пересекать плоскость через все три оси.

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

Если какие-либо слои или столбцы светятся в неправильном порядке, возможно, вы припаивали неправильный провод к неправильному слою или столбцу. У нас была одна ошибка в нашем кубе;)

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

 

 

Расширение порта ввода-вывода, больше мультиплексирования

На последнем шаге мы поняли, что для светодиодного куба 8x8x8 требуется 64 + 8 линий ввода / вывода. Ни один микроконтроллер AVR с DIP-пакетом (микросхема со сквозным отверстием, которую можно легко припаять или использовать в макете, DualInlinePackage) не имеет такого количества линий ввода-вывода.

Чтобы получить необходимые 64 выходные линии, необходимые для светодиодных анодов, мы создадим простую схему мультиплексора. Эта схема будет мультиплексировать 11 линий ввода-вывода в 64 выходных линии.

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

Этот мультиплексор использует 8-битную ИС-защелку 74HC574. Этот чип имеет следующие контакты:

· 8 входов (D0-7)

  • 8 выходов (Q0-7)
  • 1 фиксатор (CP)
  • 1 выходной контакт (OE)

Работа защелки - служить своего рода простой памятью. Защелка может содержать 8 бит информации, и эти 8 бит представлены на выходных контактах. Рассмотрим защелку со светодиодом, подключенным к выходу Q0. Чтобы включить этот светодиод, подайте V + (1) на вход D0, затем потяните вывод CP на низкое (GND), а затем на высокое (V +).

Когда вывод CP изменяется от низкого к высокому, состояние входа D0 «фиксируется» на выходе Q0, и этот выход остается в этом состоянии независимо от будущих изменений в состоянии входа D0, пока новые данные не будут загружены путем СР вывод снова низкий и высокий.
Чтобы создать массив защелок, который может запомнить состояние включения / выключения 64 светодиодов, нам нужно 8 из этих защелок. Входы D0-7 всех защелок соединены вместе в 8-битной шине.

Чтобы загрузить состояния включения / выключения всех 64 светодиодов, мы просто делаем это: Загружаем данные первого фиксатора на шину. потяните штифт CP первой защелки низко, затем высоко. Загрузите данные второго фиксатора на шину. потяните штифт CP второй защелки низко, затем высоко. Загрузите данные третьего фиксатора на шину. потяните штифт CP третьей защелки вниз, затем высоко. Промыть и повторить.

Единственная проблема с этой настройкой состоит в том, что нам нужно 8 линий ввода-вывода для управления линией CP для каждого фиксатора. Решение состоит в том, чтобы использовать 74HC138. Эта микросхема имеет 3 входных линии и 8 выходов. Входные линии используются для управления тем, какая из 8 выходных линий в любой момент будет понижена. Остальное будет высоко. Каждый из выходов 74HC138 подключен к выводу CP на одном из фиксаторов.

Следующий псевдокод загрузит содержимое массива буферов в массив защелок:

// PORT A = шина данных
// PORT B ​​= шина адресов (74HC138)
// буфер символов [8] содержит 64 бита данных для защелки массив

PORTB = 0x00; // Это тянет CP на уровне защелки 1.
для (i = 0; i <8; i ++)
{

PORTA = буфер [i];
PORTB = i + 1;

}

Выходы 74HC138 являются активными LOW. Это означает, что активный выход обнуляется. Фиксатор (CP) на защелке является триггером с нарастающим фронтом, что означает, что данные фиксируются, когда они изменяются с LOW на HIGH. Чтобы активировать правую защелку, 74HC138 должен оставаться на один шаг впереди счетчика i. Если бы это был активный чип HIGH, мы могли бы написать PORTB = i; Вы, вероятно, думаете, что произойдет, когда счетчик достигнет 7, это будет означать, что на PORTB вывод будет 8 (1000 двоичных) на последней итерации цикла for (). Только первые 8 битов ПОРТА B подключены к 74HC138. Таким образом, когда порт B выводит 8 или 1000 в двоичном формате, 74HC138 читает 000 в двоичном формате, тем самым завершая свой цикл. (это началось в 0). Теперь 74HC138 выдает следующую последовательность: 1 2 3 4 5 6 7 0,

Построй куб: создай джиг

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

1)
Найдите кусок дерева или пластика, который больше, чем размер вашего куба.

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

3)
Используйте линейку и угловое железо, чтобы нарисовать сетку из 8 на 8 линий, пересекающихся в 64 точках, используя расстояние между светодиодами, определенное на предыдущем шаге.

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

5)
Просверлите все отверстия.

6)
Возьмите светодиод и попробуйте каждое отверстие для размера. Если отверстие слишком плотное, аккуратно просверлите его, пока светодиод не будет плотно прилегать и его можно будет вытащить без особого сопротивления.

7)
Где-то около середины одной из сторон нарисуйте небольшую отметку или стрелку. Стальная проволока будет припаяна здесь в каждом слое, чтобы придать кубу дополнительную жесткость.


Поделиться с друзьями:

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

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

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.037 с.