Оглавление:

Как построить светодиодный куб 8x8x8 и управлять им с помощью Arduino: 7 шагов (с изображениями)
Как построить светодиодный куб 8x8x8 и управлять им с помощью Arduino: 7 шагов (с изображениями)

Видео: Как построить светодиодный куб 8x8x8 и управлять им с помощью Arduino: 7 шагов (с изображениями)

Видео: Как построить светодиодный куб 8x8x8 и управлять им с помощью Arduino: 7 шагов (с изображениями)
Видео: Вызов принят: LED кубик на Arduino 2024, Ноябрь
Anonim
Как построить светодиодный куб 8x8x8 и управлять им с помощью Arduino
Как построить светодиодный куб 8x8x8 и управлять им с помощью Arduino
Как построить светодиодный куб 8x8x8 и управлять им с помощью Arduino
Как построить светодиодный куб 8x8x8 и управлять им с помощью Arduino

Январь 2020 редактирование:

Я оставляю это на тот случай, если кто-то захочет использовать его для генерации идей, но больше нет смысла строить куб на основе этих инструкций. Микросхемы драйверов светодиодов больше не производятся, и оба эскиза были написаны в старых версиях Arduino и Processing и больше не работают. Я не знаю, что нужно изменить, чтобы они заработали. Кроме того, мой метод строительства привел к шаткому однобокому беспорядку. Я предлагаю следовать инструкциям на другом руководстве или купить комплект. В 2011 году этот куб стоил около 50 долларов, сейчас вы можете купить комплект на ebay примерно за 20 долларов.

Оригинальное введение:

На Instructables много светодиодных кубиков, так зачем делать еще один? Большинство из них предназначены для небольших кубиков, состоящих из 27 или 64 светодиодов, редко большего размера, поскольку они ограничены количеством выходов, доступных на микроконтроллере. В этом кубе будет 512 светодиодов, и потребуется всего 11 выходных проводов от Arduino. Как это возможно? Используя светодиодный драйвер Allegro Microsystems A6276EA.

Я покажу вам, как я сделал сам куб, плату контроллера и, наконец, код, чтобы он сиял.

Шаг 1: материалы

Материалы
Материалы

Все части, которые вам понадобятся для сборки куба: 1 Arduino / Freeduino с чипом Atmega168 или выше 512 светодиодов, размер и цвет зависят от вас, я использовал 3-миллиметровые красные 4 чипа драйвера светодиода A6276EA от Allegro 8 NPN-транзисторов для управления потоком напряжения, Я использовал транзистор Дарлингтона BDX53B 4 резистора 1000 Ом, 1/4 Вт или больше, 12 резисторов 560 Ом, 1/4 Вт или больше 1 электролитический конденсатор 330 мкФ 4 24-контактное гнездо IC 9 16-контактное гнездо IC 4 "x4" (или больше) кусок перфорированной платы, чтобы удерживать все детали, старый компьютерный вентилятор, старый кабель контроллера дискеты, старый компьютерный блок питания, много соединительных проводов, припоя, паяльника, флюса, всего остального, чтобы облегчить вам жизнь при изготовлении этого. Кусок дерева размером 7 "x7" (или больше), используемый для изготовления приспособления для пайки светодиодов. Хороший футляр для демонстрации готового куба. Мой выбор для Arduino / Freeduino - Bare Bones Board (BBB) с сайта www.moderndevice.com. Светодиоды были куплены на eBay и стоили 23 доллара за 1000 светодиодов, отправленных из Китая. Оставшаяся электроника была куплена в Newark Electronics (www.newark.com) и должна стоить всего около 25 долларов. Если вам нужно покупать все, этот проект должен стоить всего около 100 долларов. У меня много старого компьютерного оборудования, поэтому эти детали были выброшены на свалку.

Шаг 2: соберите слои

Соберите слои
Соберите слои
Соберите слои
Соберите слои
Соберите слои
Соберите слои
Соберите слои
Соберите слои

Как сделать 1 слой (64 светодиода) из этого 512 светодиодного куба: светодиоды, которые я купил, были диаметром 3 мм. Я решил использовать маленькие светодиоды, чтобы сократить расходы и сделать конечный размер куба достаточно маленьким, чтобы он мог поместиться на моем столе или полке, не занимая его полностью. Я нарисовал сетку 8x8 с примерно 0,6 дюйма между линиями. Это дало мне размер куба около 4,25 дюйма на каждую сторону. Просверлите отверстия диаметром 3 мм в местах пересечения линий, чтобы получилось приспособление, которое будет удерживать светодиоды при пайке каждого слоя. A6276EA - это устройство для стока тока. Это означает, что он обеспечивает путь к земле, а не к источнику напряжения. Вам нужно будет построить куб с общей конфигурацией анода. Большинство кубов построены как общий катод. Длинная сторона светодиода обычно является анодом, проверьте свой, чтобы убедиться. Первым делом я проверил каждый светодиод. Да, это долгий и утомительный процесс, и вы можете его пропустить, если хотите. Я лучше потрачу время на тестирование светодиодов, чем найду мертвое место в своем кубе после его сборки. Я обнаружил 1 неработающий светодиод из 1000. Неплохо. Отрежьте 11 кусков сплошного неизолированного соединительного провода до 5 дюймов. Поместите по 1 светодиоду в каждый конец ряда в кондукторе, а затем припаяйте провод к каждому аноду. Теперь поместите оставшиеся 6 светодиодов в ряд и припаяйте аноды к проводу. Это может быть вертикально или горизонтально, это не имеет значения, если вы делаете все слои одинаково. Заканчивая каждый ряд, обрежьте лишний свинец с анодов. Я оставил около 1/8 дюйма. Повторяйте, пока не закончите все 8 рядов. Теперь припаяйте 3 куска соединительного провода к рядам, которые вы только что сделали, чтобы соединить их все в один кусок. Затем я проверил слой, приложив 5 вольт. зацепить проволочную решетку через резистор и коснуться заземляющего провода каждого катода. Замените все светодиоды, которые не горят. Осторожно снимите слой с зажимного приспособления и отложите его в сторону. Если вы согнете провода, не беспокойтесь, просто распрямите их как можно лучше. Его очень легко согнуть. Как видно из моих фотографий, у меня было много изогнутых проводов. Поздравляю, вы готовы на 1/8. Сделайте еще 7 слоев. ДОПОЛНИТЕЛЬНО: Сделать пайку. слои вместе (шаг 3) проще, пока каждый последующий слой все еще находится в зажимном приспособлении, согните верхнюю четверть дюйма катода вперед от 45 до 90 градусов. Это позволит проводу охватить светодиод, к которому он подключается, и значительно упростит пайку. проще. Не делайте этого со своим первым слоем, мы объявим, что один из них является нижним, а выводы должны быть след.

Шаг 3: соберите куб

Соберите куб
Соберите куб
Соберите куб
Соберите куб

Как спаять все слои вместе, чтобы получился куб: Жесткая часть почти закончена. Теперь аккуратно поместите один слой обратно в приспособление, но не нажимайте слишком сильно, мы хотим, чтобы его можно было удалить, не сгибая. Этот первый слой - верхняя грань куба. Поместите еще один слой поверх первого, выровняйте выводы и начните пайку. Я обнаружил, что проще всего делать сначала углы, затем внешний край, а затем внутренние ряды. Продолжайте добавлять слои, пока не закончите. Если вы предварительно согнули провода, обязательно сохраните слой с прямыми проводами напоследок. Это нижняя часть. У меня было слишком много места между слоями, поэтому у меня не получилось получить форму куба. Ничего страшного, я могу с этим жить.

Шаг 4: Сборка платы контроллера

Построение платы контроллера
Построение платы контроллера
Построение платы контроллера
Построение платы контроллера
Построение платы контроллера
Построение платы контроллера

Как собрать плату контроллера и прикрепить ее к Arduino: Следуйте схеме и соберите плату, как вы выберете. Я разместил микросхемы контроллеров в центре платы и использовал левую сторону для удержания транзисторов, которые управляют током на каждом слое куба, и использовал правую сторону для удержания разъемов, которые идут от микросхем контроллера к катодам Я нашел старый компьютерный вентилятор 40 мм с разъемом типа «мама», чтобы подключить его к блоку питания компьютера. Это было прекрасно. Небольшой поток воздуха через микросхему полезен, и теперь у меня есть простой способ подать 5 вольт на микросхемы контроллера и саму Arduino. На схеме RC является токоограничивающим резистором для всех светодиодов, подключенных к каждому A6276EA. Я использовал 1000 Ом, потому что он обеспечивает светодиоду 5 миллиампер, которых достаточно, чтобы зажечь его. Я использую светодиоды высокой яркости, а не светодиоды Super Brite, поэтому потребление тока ниже. Если горят сразу все 8 светодиодов в столбике, это всего 40 миллиампер. Каждый выход A6276EA может выдерживать 90 мА, так что я нахожусь в пределах допустимого диапазона. RL - это резистор, подключенный к логическим или сигнальным проводам. Фактическое значение не очень важно, если оно существует и не слишком велико. Я использую 560 Ом, потому что у меня их было много. Я использовал силовой транзистор, способный выдерживать до 6 ампер, чтобы контролировать ток, идущий на каждый слой куба. Это перебор для этого проекта, так как каждый слой куба потребляет всего 320 миллиампер со всеми включенными светодиодами. Мне нужно было место для роста, и я мог бы использовать плату контроллера для чего-то большего позже. Используйте транзистор любого размера, который соответствует вашим потребностям. Конденсатор емкостью 330 мкФ, подключенный к источнику напряжения, поможет сгладить любые незначительные колебания напряжения. Поскольку я использую старый компьютерный блок питания, в этом нет необходимости, но я оставил его на всякий случай, если кто-то захочет использовать для питания своего куба сетевой адаптер на 5 В. Каждая микросхема контроллера A6276EA имеет 16 выходов. У меня не было другого подходящего разъема, поэтому я припаял выводы к некоторым 16-контактным разъемам IC и буду использовать их для подключения платы контроллера к кубу. Я также разрезал разъем IC пополам и использовал его для соединения 8 проводов, соединяющих транзисторы со слоями куба. Я отрезал около 5 дюймов от конца старого гибкого кабеля, чтобы использовать его в качестве разъема для Arduino. Кабель гибкого диска - это 2 ряда по 20 контактов, на голой плате Bones Board - 18 контактов. Это очень дешевый (бесплатный) способ подключить Arduino к плате. Я раздвинул ленточный кабель на группы по 2 провода, зачистил концы и спаял их вместе. Это позволяет подключать Arduino к любому ряду разъема. Следуя схеме, припаяйте разъем на место. Не забудьте припаять 5-вольтовый и заземляющий провода к разъему для подачи питания на Arduino. Я собираюсь использовать эту плату контроллера для других проектов, поэтому модульная конструкция мне подходит. Если вы хотите жестко подключить соединения, это нормально.

Шаг 5: соберите витрину

Постройте витрину
Постройте витрину
Постройте витрину
Постройте витрину
Постройте витрину
Постройте витрину
Постройте витрину
Постройте витрину

Сделайте ваш конечный продукт красивым: я нашел этот деревянный сундук в Hobby Lobby за 4 доллара и подумал, что он будет идеальным, так как в нем есть место для всех проводов, плюс он выглядит красиво. Я окрасил это одно красное, такое же пятно, которое использовал на своем компьютерном столе, чтобы они совпадали. Нарисуйте сверху сетку того же размера, что и сетка, используемая для паяльного приспособления (0,6 дюйма между линиями). Просверлите отверстия, чтобы провода проходили через верх, и просверлите еще одно отверстие за сеткой для проводов слоя / плоскости (от транзисторов на шаге 4). Я на собственном горьком опыте узнал, что пытаться выровнять 64 провода, чтобы пройти через небольшие дыры, очень сложно. В конце концов я решил просверлить все отверстия немного больше, чтобы процесс шел быстрее. В итоге я использовал сверло около 0,2. Теперь, когда куб находится в верхней части дисплея, согните угловые выводы, чтобы куб оставался на месте, когда вы прикрепляете провода. Убедитесь, что вы подключили все провода в правильном порядке. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 И соедините провода между слоями (обозначенными на схеме «плоскостями») и транзисторами. Транзистор на выводе 6 Arduino является верхним слоем куба. Если вы ошиблись с проводами, это можно исправить в коде, но это может потребовать много работы, поэтому постарайтесь расположить их в правильном порядке. все построено и готово к работе, давайте возьмем код и попробуем.

Шаг 6: Код

Код
Код

Код для этого куба выполнен иначе, чем для большинства, я объясню, как его адаптировать. Большинство кода куба использует прямую запись в столбцы. Код говорит, что столбец X необходимо зажечь, так что дайте ему немного энергии, и все готово. Это не работает при использовании микросхем контроллера. Микросхемы контроллера используют 4 провода для связи с Arduino: SPI-in, Clock, Latch и Enable. Я заземлил вывод включения (вывод 21) через резистор (RL), поэтому выход всегда включен. Я никогда не использовал Enable, поэтому убрал его из кода. SPI-in - это данные, поступающие от Arduino, Clock - это синхронизирующий сигнал между ними, пока они разговаривают, а Latch сообщает контроллеру, что пора принимать новые данные. Каждый вывод для каждого чипа управляется 16-битным двоичным числом. Например; отправка 1010101010101010 в контроллер приведет к тому, что все остальные светодиоды на контроллере загорятся. Ваш код должен пройти через все необходимое для отображения и построить это двоичное число, а затем отправить его на чип. Это проще, чем кажется. Технически это куча побитового сложения, но я плохо разбираюсь в побитовой математике, поэтому делаю все в десятичном виде. Десятичные числа для первых 16 бит выглядят следующим образом: 1 << 0 == 1 1 << 1 == 2 1 << 2 == 4 1 << 3 == 8 1 << 4 == 16 1 << 5 == 32 1 << 6 == 64 1 << 7 == 128 1 << 8 == 256 1 << 9 == 512 1 << 10 == 1024 1 << 11 == 2048 1 << 12 == 4096 1 << 13 == 8192 1 << 14 == 16384 1 << 15 == 32768 Это означает, что если вы хотите загораются выходы 2 и 10, вы складываете десятичные дроби (2 и 512) вместе, чтобы получить 514. Отправьте 514 контроллеру, и выходы 2 и 10 загорятся. Но у нас более 16 светодиодов, поэтому это становится немного сложнее. Нам нужно построить отображение информации для 4 фишек. Это так же просто, как построить его за 1, просто сделайте это еще 3 раза. Я использую массив глобальных переменных для хранения управляющих кодов. Так просто: как только у вас есть все 4 кода дисплея, готовые к отправке, снимите защелку (установите ее на LOW) и начните отправлять коды. Сначала вам нужно отправить последний. Отправьте коды для чипа 4, затем 3, затем 2, затем 1, затем снова установите Latch на ВЫСОКИЙ. Поскольку контакт включения всегда подключен к земле, отображение меняется немедленно. Большая часть кода куба, который я видел в Instructables и в Интернете в целом, состоит из гигантского блока кода, установленного для выполнения предварительно заданной анимации. Это отлично работает для небольших кубов, но необходимость хранить, читать и отправлять 512 бит двоичного кода каждый раз, когда вы хотите изменить отображение, занимает много памяти. Arduino не может обрабатывать больше, чем несколько кадров. Поэтому я написал несколько простых функций для демонстрации куба в действии, которые полагаются на вычисления, а не на заранее заданные анимации. Я включил небольшую анимацию, чтобы показать, как это делается, но оставлю вам создание собственных дисплеев. Cube8x8x8.pde - это код Arduino. Я планирую продолжать добавлять функции в код и периодически обновлять программу. Matrix8x8.pde - это программа в Processing для создания ваших собственных дисплеев. Первое указанное число входит в pattern1 , второе - в pattern2 и т. Д. Таблица данных для A6276EA доступна по адресу:

Шаг 7: Покажите свою работу

Покажите свою работу
Покажите свою работу

Готово, теперь пора наслаждаться кубиком. Как видите, у меня кубик получился немного кривым. Я не очень хочу строить еще один, так что я смирюсь с тем, что он будет кривым. У меня есть пара мертвых зон, в которые мне нужно заглянуть. Возможно, это плохое соединение, или мне может понадобиться новый чип контроллера. Надеюсь, эта инструкция вдохновит вас на создание собственного куба или другого проекта светодиодов с использованием A6276AE. Разместите ссылку в комментариях, если вы ее построите. Я пытался решить, что делать дальше. Плата контроллера также будет управлять кубом 4x4x4 RGB, так что это возможно. Я думаю, что было бы здорово сделать сферу, и, судя по тому, как я написал код, это было бы не так уж сложно.

Рекомендуемые: