Рекламное объявление
Если вы баловались с некоторыми начинающими проектами Arduino, но ищете что-то немного постоянное и на совершенно ином уровне удивительного, то скромный светодиодный куб 4 x 4 x 4 - естественный выбор. Конструкция намного проще, чем вы думаете, и используя мультиплексирование, мы можем управлять всеми светодиодами прямо с одной платы Arduino Uno. Это отличная практика пайки, и общая стоимость компонентов не должна превышать 40 долларов.
Сегодня я подробно опишу конструкторскую сторону и предоставлю некоторое программное обеспечение, которое будет работать на нем, которое будет впечатляющим и научит вас основам.
Тебе понадобится
- Arduino. Поставляемый код предполагает 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 - игра с регистрами сдвига (еще больше светодиодов)Сегодня я попытаюсь немного рассказать вам о регистрах сдвига. Это довольно важная часть программирования 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 по умолчанию).
Конечно, это не единственный способ программирования вашего куба, поэтому позвольте мне потратить несколько минут на обучение основам создания собственных шаблонов. программновместо того, чтобы воспроизводить предустановленные шаблоны, как в приведенной выше демонстрации.
Есть несколько вещей, которые вы должны знать, пытаясь запрограммировать свой куб:
- Для адресации одного светодиода вы используете самолет (слой) номер 0–3 и светодиодный вывод № 0–15. Поверните плоскость на НИЗКИЙ выход (так как это отрицательный участок) и номер контакта светодиода ВЫСОКИЙ (положительный участок), чтобы активировать светодиод.
- Прежде чем активировать один светодиод, убедитесь, что все остальные плоскости выключены - это означает, что они должны быть установлены на ВЫСОКИЙ выход. Невыполнение этого приведет к тому, что будет гореть столбец светодиодов, а не один светодиод.
Имея это в виду, я сделал две очень простые программные последовательности для изучения - скачать код отсюда. Первый просто зажигает каждый светодиод последовательно, последовательно. Для этого мы используем два цикла for, перебирая каждый слой и каждый контрольный вывод.
Второй случайный цикл (вам нужно закомментировать первый и включить его в основном цикле, чтобы проверить его). Он просто выбирает случайный слой и случайный управляющий штырь, мигая их включением и выключением.
Резюме
Не пугайтесь этой сборки - мне серьезно не хватает навыков пайки, и мне это удалось (Думаю?). Общее время сборки составило около часа в день на неделю. В следующий раз я попытаюсь научить вас более амбициозному программированию куба, поэтому я надеюсь, что вы присоединитесь ко мне в создании собственного куба на этой неделе и загрузить новый код на следующей неделе - и если вы создаете свои собственные классные приложения или последовательности, пожалуйста, загрузите их в Pastebin и сообщите нам об этом в Комментарии!
Джеймс имеет степень бакалавра в области искусственного интеллекта и сертифицирован CompTIA A + и Network +. Он является ведущим разработчиком MakeUseOf и проводит свое свободное время за игрой в VR-пейнтбол и настольные игры. Он строит компьютеры с детства.