Как сделать пульсирующий светодиодный куб Arduino, который выглядит так, как будто он из будущего

частота Arduino привелоЕсли вы баловались с некоторыми начинающими проектами Arduino, но ищете что-то немного постоянное и на совершенно ином уровне удивительного, то скромный светодиодный куб 4 x 4 x 4 — естественный выбор. Конструкция намного проще, чем вы думаете, и используя мультиплексирование, мы можем управлять всеми светодиодами прямо с одной платы Arduino Uno. Это отличная практика пайки, и общая стоимость компонентов не должна превышать 40 долларов.

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

Тебе понадобится

  • , но это излишне сложно.

    Чтобы управлять всеми этими светодиодами всего за 20 контактов, мы будем использовать метод мультиплексирования. Разбивая куб на 4 отдельных слоя, нам нужны только управляющие контакты для 16 светодиодов — поэтому, чтобы зажечь конкретный светодиод, мы должны активировать как слой, так и управляющий контакт, что дает нам общее требование 16 + 4 контакта. Каждый слой имеет общий катод — отрицательную часть цепи — так что все отрицательные ветви соединены вместе и подключены к одному выводу для этого слоя.

    На анодной (положительной) стороне каждый светодиод будет подключен к соответствующему светодиоду в слое над и под ним. По сути, у нас есть 16 столбцов положительных ног и 4 слоя отрицательных. Вот несколько трехмерных изображений соединений, которые помогут вам понять:

    частота Arduino привело

    Arduino светодиодная программа

    строительство

    Поскольку мы не будем использовать цельнометаллическую конструкцию для пайки, мы хотим, чтобы все ножки светодиодов перекрывались примерно на четверть и придавали жесткость конструкции. Сложите катод ваших светодиодов — сторону с плоской выемкой в ​​голове и более короткую ногу — над, как показано на рисунке. (На самом деле не имеет значения, сгибаете ли вы его влево или вправо, если вы последовательны и никогда не касаетесь анода)

    Arduino светодиодная программа

    Первая важная часть этого проекта — изготовление деревянной фрезы. Это удержит слой светодиодов, пока вы спаяете ноги вместе, поэтому он должен быть точным и не слишком рыхлым. Используя сверло того же размера, что и ваши светодиоды, отмерьте, а затем просверлите матрицу 4 × 4 равноотстоящих отверстий. Имейте в виду, что вы хотите, чтобы около четверти ноги пересекались с соседом, и используйте настоящую линейку. Проверьте каждое отверстие, чтобы убедиться, что светодиод плотно прилегает, но не настолько плотно, что вы не сможете его снова вытащить или у вас возникнут проблемы при попытке удалить полностью припаянный слой.

    Arduino светодиодная программа

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

    Arduino привело

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

    Сейчас самое время протестировать — просто загрузите стандартное приложение Arduino blink и, подключив резистор, подключите заземление к рамке слоя и по очереди нажмите положительный вывод на каждый светодиод.

    Arduino привело

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

    Удалите этот слой из джиг и повторите процесс Еще 3 раза.

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

    Объединение слоев

    Как только у вас будет 4 законченных слоя, вы захотите соединить все вертикальные ноги вместе. Я обнаружил, что это самая сложная часть сборки, и чтобы помочь процессу, я вырезал стояк из карты.

    Arduino привело

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

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

    1-ая глупая ошибка, которой следует избегать

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

    Как сделать пульсирующий светодиодный куб Arduino, который выглядит так, как будто он из карты будущего слоя 3

    2-я глупая ошибка, которой следует избегать

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

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

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

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

    Крепление к доске

    Помните, когда я говорил, что закрепление каждого слоя на себе было самой сложной частью? Я врал. Попытка вставить 16 светодиодных ножек в крошечные отверстия на макетной плате на самом деле сложнее. Самым простым способом, который я нашел, было проколоть 4 за раз, закрепить их внизу зажимами крокодила, а затем перейти к следующему ряду 4. Используйте маркерную ручку, чтобы заранее разметить расстояние, если это поможет.

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

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

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

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

    Для четырех отрицательных слоев я уронил один провод вниз от каждого слоя, а затем просто оттащил их в сторону, например так:

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

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

    Как сделать пульсирующий светодиодный куб Arduino, который выглядит так, как будто он появился из будущего

    Это оно. Законченный!

    Как сделать пульсирующий светодиод Arduino, который выглядит так, как будто он из будущего 4x4x4 закончил светодиодный куб

    Программирование вашего куба

    Я знаю, что вы не можете дождаться, чтобы запустить эту вещь, поэтому подключите 4 отрицательных слоя в Аналоговый ввод / вывод порты A2 (нижний слой) через A5 (верхний слой) (они также могут действовать как цифровой ввод / вывод). Затем подключите 16 светодиодных управляющих контактов, начиная с +1 в дальнем правом углу в цифровой ввод / вывод порт 0, с +15 а также +16 вдаваясь в аналог А0 и А1. (Не используйте AREF и GND)

    частота Arduino привело

    Загрузите демонстрационные образцы и код от обучаемого пользователя forte1994. Он также предоставил полезный онлайн-инструмент для разработки шаблонов байтов для настройки собственной последовательности. Вот видео этого кода в действии на моем кубе (я установил скорость на 5 вместо 20 по умолчанию).

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

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

    1. Для адресации одного светодиода используется плоскость (слой) с номерами 0–3 и выводом светодиодов с номерами 0–15. Поверните плоскость на НИЗКИЙ выход (так как это отрицательный участок) и номер контакта светодиода HIGH (положительный участок), чтобы активировать светодиод.
    2. Перед тем, как активировать один светодиод, убедитесь, что все остальные плоскости выключены — это означает, что установите их на ВЫСОКИЙ выход. Невыполнение этого приведет к тому, что будет гореть столбец светодиодов, а не один светодиод.

    Имея это в виду, я сделал две очень простые программные последовательности для вас — скачайте код отсюда. Первый просто зажигает каждый светодиод последовательно, последовательно. Для этого мы используем два цикла for, перебирая каждый слой и каждый контрольный вывод.

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

    Резюме

    Не пугайтесь этой сборки — мне серьезно не хватает навыков пайки, и я справился с этим хорошо (я думаю?). Общее время сборки составило около часа в день на неделю. В следующий раз я попытаюсь научить вас более амбициозному программированию для куба, поэтому я надеюсь, что вы присоединитесь ко мне в создании собственного куба на этой неделе и загрузке нового кода на следующей неделе — и если вы сделаете свой собственный потрясающие приложения или последовательности, пожалуйста, загрузите их в Pastebin и дайте нам знать в комментариях!

Ссылка на основную публикацию