- •Введение Создайте свой собственный светодиодный 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 (ввода-вывода)
Шаг 45: Программируйте avr: Установите биты плавкого предохранителя
У ATmega32 есть два байта плавкого предохранителя. Они содержат параметры настройки, которые должны быть загружены прежде, чем центральный процессор может запустить, как источник часов и другой материал. Вы должны программировать свой ATmega, чтобы использовать внешний кварцевый высокоскоростной генератор и отключить JTAG.
Мы устанавливаем более низкий байт плавкого предохранителя (lfuse) в 0b11101111 и высокий байт плавкого предохранителя к 0b11001001. (0b означает, что все после b находится в двоичном).
Мы использовали avrdude и USBtinyISP (http://www.ladyada.net/make/usbtinyisp/), чтобы программировать наш ATmega.
Во всех следующих примерах мы будем использовать компьютер с ОС Linux Ubuntu. Команды должны быть идентичными, если Вы управляете avrdude на Windows.
avrdude-c usbtiny-p m32-U lfuse:w:0b11101111:m avrdude-c usbtiny-p m32-U hfuse:w:0b11001001:m
Предупреждение: Если Вы понимаете это превратно, Вы легко можете получить из ATmega кирпич! Если Вы, например, повредите кнопку сброса, то Вы не сможете повторно программировать ее.
Шаг 46: Программа avr с тестовым кодом
Время, чтобы проверить, работает ли ваш светодиодный куб!
Мы подготовили простую тестовую программу, чтобы проверить, работают ли все светодиоды и правильно ли они подключены.
Вы можете загрузить прошивку test.hex в этом шаге, или загрузить исходный код и скомпилировать его самостоятельно.
Как в предыдущем шаге, мы используем avrdude для программирования:
avrdude -c usbtiny -p m32 -B 1 -U flash:w:test.hex
-c usbtiny specifies that we are using the USBtinyISP from Ladyada -p m32 specifies that the device is an ATmega32 -B 1 рассказывает AVRDUDE работает на более высокой скорости, чем по умолчанию
speed. -U flash:w:test.hex указывает, что мы работаем на флэш-памяти, в режиме записи, с файлом test.hex
Шаг 47: Проверьте куб
Испытательный код, который Вы запрограммировали в предыдущем шаге, позволит Вам убедится, что все обеспечено электричеством правильно.
Работа начнется с рисования плоскости вдоль одной оси и перемещением по всем 8 позициям этой оси. Тестовый код пересекает плоскость, проходя через все три оси. После этого, загорятся светодиоды в слое один за другим, начиная с нижнего слоя.
Если какой-либо из слоев или столбцов, светится в неправильном порядке, значит, что вы припаяли неправильный провод к неправильному слою или столбцу.
Шаг 48: Программирование avr с реальным кодом
Так все проверенно в тесте. Пора программировать ATmega с реальной прошивкой!
В основном процесс такой же, как и в предыдущем шаге. Но кроме этого Вы должны программировать память EEPROM.
Прошивки программируется с использованием той же процедуры тест-кода.
Прошивка:
avrdude -c usbtiny -p m32 -B 1 -U flash:w:main.hex
EEPROM:
avrdude -c usbtiny -p m32 -B 1 -U eeprom:w:main.eep
- U eeprom:w:main.eep указывает, что мы получили доступ к памяти EEPROM, в режиме записи. AVR-GCC помещает все данные в EEPROM main.eep
Если Вы не хотите еще поиграть с кодом, то Ваш светодиодный куб на этом закончен.
Если Вы загружаете бинарные файлы, Вы должны изменить имена файла в командах к названию файлов, которые Вы загрузили. Если Вы собираете из источника, имя - main.hex и main.eep.
