- •Введение Создайте свой собственный светодиодный 3d Куб
- •1. Требующиеся навыки
- •Шаг 2: Список компонентов
- •Шаг 3: Заказ компонентов
- •Шаг 6: Анатомия светодиодного куба
- •Шаг 7: Размер куба и требующиеся порты ввода-вывода
- •Шаг 8: расширение порта io, больше мультиплексирования
- •Шаг 9: расширение порта io, альтернативное решение
- •Шаг 10: требования к источнику питания
- •Шаг 11: Купите электропитание
- •Шаг 12: создание источника питания
- •Шаг 13: выбор светодиодов
- •Шаг 14: выбор резисторов
- •Шаг 19: Сборка куба: Требования к пайке
- •Шаг 20: Сборка куба: проверка светодиодов
- •Шаг 21: Сборка куба: пайка слоёв
- •Начните с верхнего ряда.
- •Шаг 22: Сборка куба: Проверка слоя
- •Шаг 23: Сборка куба: Выравнивание контактов
- •Шаг 24: Сборка куба: Подгибание контактов
- •Шаг 25: Сборка куба: Спаивание слоев вместе
- •Шаг 26: Сборка куба: Создание базы
- •Шаг 27: Сборка куба: Установка куба
- •Шаг 28: Сборка куба: Элементы катода
- •Шаг 29: Сборка куба: Подключение кабеля
- •Шаг 30: Сборка контроллера: Расположение
- •Шаг 31: Сборка контроллера: Тактовая частота
- •Шаг 32: Сборка контроллера: советы по пайке платы
- •Шаг 33: Сборка контроллера: Питание terminal и фильтрующих конденсаторов
- •Шаг 34: Сборка контроллера: гнезда ic, резисторы и разъёмы
- •Шаг 35: Сборка контроллера: шины питания и мощность ic
- •Шаг 37: Сборка контроллера: адрес селектора
- •Шаг 38: Сборка контроллера: плата avr
- •Шаг 39: Постройте контроллер: множество Транзистора
- •Шаг 40: Постройте контроллер: Кнопки и состояние светодиодов
- •Шаг 41: Постройте контроллер: rs 232
- •Шаг 42: Сборка контроллера: Сделайте rs 232 кабелями
- •Шаг 43: Постройте контроллер: подключите платы
- •Шаг 44: Постройте контроллер: подключите куб
- •Шаг 45: Программируйте avr: Установите биты плавкого предохранителя
- •Шаг 46: Программа avr с тестовым кодом
- •Шаг 47: Проверьте куб
- •Шаг 48: Программирование avr с реальным кодом
- •Шаг 49: программное обеспечение: Введение
- •Шаг 50: программное обеспечение: Как это работает
- •Шаг 51: программное обеспечение: инициализация io (ввода-вывода)
Шаг 6: Анатомия светодиодного куба
Светодиод имеет положительный анод и отрицательный катод. Для того, чтобы диод загорелся, нужно пустить ток от анода к катоду.
Светодиодный куб составлен из столбцов и слоев. Ножки катода каждого диода в слое спаяны вместе. Все ножки анода в одном столбце спаяны вместе.
Каждый из 64 столбцов связан с платой контроллера отдельным проводом. Каждым столбцом можно управлять индивидуально. У каждого из этих 8 слоев также есть отдельный провод, идущий на плату контроллера.
Каждый из слоев связан с собственным транзистором, который позволяет включать и выключать протекание тока через каждый слой.
Ток из столбцов с анодов может течь только через один слой через его открытый транзистор. Транзисторы других слоев в этот момент выключены, и изображение, существует только на одном слое.
Чтобы увидеть следующий слой, нужно выключить транзистор для текущего слоя, изменить номера светящихся светодиодов на изображение для следующего слоя и включить следующий слой открыв его транзистор.
Шаг 7: Размер куба и требующиеся порты ввода-вывода
Чтобы управлять светодиодным кубом надо два набора портов ввода-вывода. Один, источник для всех анодов, и один, для катодов.
Для анодной стороны куба, вам понадобится x ^ 2 портов ввода-вывода, где х ^ 3 – размер вашего светодиодного куба.
Для небольшого светодиодного куба, вы можете подключить столбцы и слои непосредственно к контактам микроконтроллера ввода-вывода. Для больших кубов этот ток будет слишком высокий.
Табличку сюда!!!
От 4 до 8 светодиодов!!!
Шаг 8: расширение порта io, больше мультиплексирования
Из предыдущего шага мы выяснили, что диодному кубу 8х8х8 необходимо 64+8 портов ввода-вывода. Не существует микроконтроллера AVR с таким DIP-корпусом.
Чтобы получить 64 выходные линии для анодов, необходимо создать простую схему мультиплексора. Эта схема будет мультиплексировать 11 линий ввода на 64 линий вывода.
Мультиплексор построен при помощи элемента, называемого «защелкой» или триггером. Мы будем называть их триггерами.
Этот мультиплексор использует 8-битный триггер IC, названный 74HC574. У этого чипа есть следующие контакты:
- 8 входов (D0-7)
- 8 выходов (Q0-7)
- 1 «защёлка» PIN (CP)
- 1 выход включающий PIN(OE)
Триггер служит в качестве простой памяти, которая содержит 8 бит информации, и эти 8 битов считываются на выходных контактах. Рассмотрим защелку с подключенным светодиодом к выходу Q0.
Чтобы включить его подайте V+ (1) на вход D0, затем подайте передний фронт импульса на СР. Когда напряжение на контакте (CP) изменяется с низкого на высокое, состояние входа, D0 "запоминается" на выходе Q0. Выход остается в этом состоянии независимо от будущих изменений на входе D0, пока не будут загружены новые данные, подачей переднего фронта импульса на контакт CP снова. Необходимо создать массив, который может запомнить состояния 64 LEDs, для этого нужно 8 чипов 74HC574. Входы D0-7 всех триггеров связать вместе 8-битной шиной.
Для загрузки / выключения всех 64 светодиодов необходимо: загрузить данные из первого фиксатора на шину. вытащить CP контакт первого низкой защелки затем высока. Загрузите данные второго замка на автобус. потяните булавку CP второго замка низко тогда высоко. Загрузите данные третьего замка на автобус. потяните булавку CP третьего замка низко тогда высоко. Полоскание и повторение.
Единственная проблема с этой установкой состоит в том, что мы нуждаемся в 8 линиях IO, чтобы управлять линией CP для каждого замка. Решение состоит в том, чтобы использовать 74HC138. У этого IC есть 3 входных линии и 8 продукций. Входные линии используются, чтобы управлять, какая из 8 линий продукции, которые потянутся низко в любое время. Остальные будут высоки. Каждый продукции на 74HC138 связан с булавкой CP на одном из замков.
Следующий псевдокодекс загрузит содержание буферного множества на множество замка:
//ДЕРЖИТЕ В СТРОЕВОЙ СТОЙКЕ = шина данных//ПОРТ B = адресная шина (74HC138)//, буфер случайной работы [8] держит 64 бита данных для множества замка
PORTB = 0x00;//Это надевает CP на замок 1 низко. для (i=0; я <8; я ++) {
PORTA = буфер [я];
PORTB = i+1;
}
Продукции 74HC138 активны НИЗКО. Это означает, что продукция, которая активна, потянулась НИЗКО. Булавка замка (CP) на замке является возрастающим спусковым механизмом края, означая, что данные запирают, когда это изменяется от НИЗКО до ВЫСОКО. Вызвать правильный замок, 74HC138 должно остаться один шаг перед прилавком i. Если это был активный ВЫСОКИЙ чип, мы могли бы написать PORTB = я; Вы, вероятно, думаете, что происходит, когда прилавок достигает 7, который означал бы, что продукция на PORTB равняется 8 (1000 наборов из двух предметов) на последнем повторении для () петля. Только первые 8 битов ПОРТА B связаны с 74HC138. Поэтому, когда порт B продукции 8 или 1000 в наборе из двух предметов, 74HC138 читает 000 в наборе из двух предметов, таким образом заканчивая его цикл. (это началось в 0). 74HC138 теперь производит следующую последовательность: 1 2 3 4 5 6 7 0, таким образом давая изменение от НИЗКО до ВЫСОКО для текущего замка согласно счетчику i.
