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

  • Mark Lucas
  • 0
  • 2173
  • 571
Реклама

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

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

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

  • Ардуино. Поставляемый код предполагает Arduino Uno, но может быть адаптирован и к более крупной модели.
  • 64 светодиода - Точный выбор остается за вами, но я использовал эти сверхяркие 3-миллиметровые синие светодиоды (3.2 В 30 мА) @ £ 2,64 за 50.
  • 16 резисторов соответствующего значения для ваших светодиодов. Для светодиодов выше, 99 пенсов купили 100 из них. Используйте ledcalc.com - введите 5 В для напряжения питания, напряжения светодиодов (в моем случае 3.2) и тока в миллиамперах (3.2). Ваш желаемый резистор будет показан в поле с надписью “Ближайший резистор с более высоким номиналом”, затем просто найдите это значение на eBay.
  • Немного ремесло проволоки для укрепления базовой структуры и для отделки - я использовал 0,8мм толщина.
  • макетная плата какого-то типа, к которому вы можете припаять все свои биты. Я использовал тот, у которого не было полных дорожек вдоль него, так как у меня нет дорожного резца, но использую то, что вам подходит. Экран для прототипирования Arduino слишком мал, если только вы не сожмете свои светодиоды вместе.
  • Случайный компонент провод - некоторые нити сетевого кабеля и некоторые из прототипов проводов из комплекта будут работать нормально.
  • Зажимы крокодил или же “рука помощи” полезны для удержания бит на месте.
  • Паяльник и припой.
  • Немного лома.
  • Дрель с битом того же размера, что и ваши светодиоды.

Примечание: 3D-рисунки в этом уроке были выполнены за несколько минут с использованием TinkerCAD. Я следовал за существующей сборкой, подробно описывающей Instructables пользователем forte1994, которую вы, возможно, также захотите прочитать, прежде чем пытаться это сделать..

Обязательно прочитайте все эти инструкции первый прежде чем пытаться это для себя.

Принцип этой конструкции

Прежде чем приступить к созданию, важно иметь полный обзор того, как эта штука будет работать, чтобы вы могли импровизировать и выявлять ошибки по мере продвижения. Некоторые светодиодные кубы используют один выходной контакт для каждого отдельного светодиода - однако в кубе 4x4x4 для этого потребуется 64 булавки - которого у нас, конечно, нет на Arduino Uno. Одним из решений будет использование сдвиговых регистров. Программирование Arduino - игра с регистрами сдвига (a.k.a еще больше светодиодов). Программирование Arduino - игра с регистрами сдвига (a.k.a даже больше светодиодов). Это довольно важная часть программирования Arduino, в основном потому, что они увеличивают количество выходов, которые вы можете использовать в обмен на…, но это излишне сложно.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вот и все. Законченный!

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

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

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

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

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

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

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

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

Резюме

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




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