Оглавление:

42 RGB LED Pixel Art Живопись: 5 шагов
42 RGB LED Pixel Art Живопись: 5 шагов

Видео: 42 RGB LED Pixel Art Живопись: 5 шагов

Видео: 42 RGB LED Pixel Art Живопись: 5 шагов
Видео: Обучающий вебинар по работе с программным обеспечением MADRIX 2024, Июль
Anonim
42 RGB LED Pixel Art Живопись
42 RGB LED Pixel Art Живопись

Привет, Итак, для школьного задания под названием «Если это, то это» мне пришлось сделать что-то интерактивное // что-то //, используя стартовый набор Arduino Uno (и все остальное, что можно было купить самостоятельно). Видя, что я занимаюсь искусством / технологиями, я хотел объединить их оба (искусство и технологии). Я подумал, что сделаю картину, состоящую из столько светодиодов RGB, сколько смогу уместить на моем Arduino, и позволю игроку / художнику вручную переключаться между этими светодиодами RGB и выбирать цвет. Таким образом они могут создавать свои собственные «пиксельные рисунки»!

Шаг 1: некоторая справочная информация и теория

Ладно, давай не будем ходить вокруг да около. Если вы хотите воплотить этот проект в жизнь: это сложно. Мне потребовалось много часов, чтобы понять / узнать, что делать, и даже больше, чтобы на самом деле это сделать, но если вам действительно нужен ящик, наполненный проволокой, который может создавать очень маленькие «картины», я научу вас, как это сделать.

Итак, обо всем по порядку. Нам нужно как можно больше светодиодов / светодиодов RGB на нашей Arduino. Чем больше (RGB) светодиодов вы подключите, тем более детализированным вы сможете сделать свою «картину» (10x10 пикселей дают больше места для маневра, чем 2x2 справа). Я полагаю, что есть больше способов установить много (RGB) светодиодов на ваших 13 цифровых контактах (например, сдвиговый регистр), но я использовал метод под названием «Charlieplexing». Я свяжусь с инструкциями, которые помогли мне понять эту концепцию (серьезно, они объясняют это очень хорошо), но я также дам вам краткую версию здесь. Charlieplexing выглядит следующим образом:

Вы помещаете светодиод между контактами 1 и 2, если вы установите для контакта 1 значение HIGH, а 2 - значение LOW, круг будет плавно перемещаться, и светодиод включится. Основы. Ну вот теперь вы прикрепляете еще один светодиод, но перевернули. Длинный конец находится на 2, а короткий - на контакте 1. Теперь, если вы переведите контакт 2 в положение HIGH, а контакт 1 в положение LOW, ваш второй светодиод включится, а ваш первый останется выключенным, потому что поток будет неправильным. Теперь вы можете прикрепить 2 светодиода к 2 контактам. Если мы получим 3-й контакт в миксе, вы можете проделать этот трюк между 1 и 2, 1 и 3, а также 2 и 3. Это 6 светодиодов. Это продолжается, 5 контактов предоставят нам (2 + 4 + 6 + 8) 20 светодиодов. Использование всех 13 цифровых контактов дает нам 156 вариантов. Это 156 светодиодов, которые вы можете включать и выключать по отдельности.

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

(Лучшее и более подробное объяснение с картинками)

Итак, приложив много усилий, когда дело доходит до проводки (я коснусь этого позже), мы можем сделать целую сетку светодиодов, но давайте посмотрим правде в глаза. Светодиоды ужасно надоедают. Как сделать картинку всего в 2-х цветах? Я полагаю, вы могли бы, но это будет круче, если у вас будет больше цветов, верно? Правильно. Итак, перейдем к светодиодам RGB!

Светодиоды RGB - это, по сути, 3 светодиода в 1. У них общий катод или анод (куда входит или выключается питание), а остальные 3 «ножки» - это красный, зеленый и синий светодиоды. Имея это в виду, да, мы можем чарлиплексировать их тоже! Каждый светодиод RGB считается за 3 обычных светодиода. Таким образом, вы по-прежнему можете включать и выключать их все по отдельности и создавать крутые цвета на выбор! Единственным недостатком является то, что это значительно усложняет задачу, так как вам придется составлять карту / планировать и подключать в 3 раза больше светодиодов, чем вам нужно было изначально.

Я выбрал 42 светодиода RGB на 13 контактах. Это 126 обычных светодиодов… довольно много. Позвольте мне рассказать вам, как я это сделал.

Шаг 2: планирование

Планирование
Планирование

Да, этот шаг довольно прост, если вы понимаете теорию, лежащую в основе того, что вы делаете. Вы в основном записываете все свои светодиоды и планируете, какой контакт должен перейти к какой «ножке» какого RGB-светодиода, чтобы охватить все возможные варианты. Я приложил изображение своего планирования, не стесняйтесь использовать и его (я не использовал все доступные варианты, так как мне «всего» нужно было 126 подключений из 156. Я структурировал его таким образом, потому что это сделало бы строительство немного более выполнимым).

Важно изложить это на бумаге, это понадобится вам позже для написания кода. Если вы не запишете это и испортите 1 соединение, код не будет работать для этого светодиода.

Шаг 3: Код

Итак, если у вас уже есть идея, как подключить 2 таких светодиода RGB к 2 контактам: Вперед! Приятно проверить код, но уверяю вас, он работает! Я попытался сделать как можно больше «чистого» кодирования (вы также можете справиться с этим с помощью переключателей в переключателях, но это просто ужасная проблема, когда вы записываете весь свой код x42, это заставило меня понять, что, вероятно, был лучший способ).

Цель кода следующая. Вы начинаете с LED1. Кнопка 1 позволяет перейти к следующему светодиоду, но предыдущий светодиод остается включенным. Кнопка 2 позволяет вернуться к предыдущему светодиоду, кнопка 3 позволяет изменить цвет. Текущий выбранный светодиод мигает, поэтому вы можете видеть, какой светодиод «выбран».

Для этого я работал с массивами. Я создал класс светодиода, который использует информацию, которую вы записали на этапе планирования, чтобы увидеть, какой вывод нужен для создания определенного цвета. Я помещаю их все в массив, и я позволяю arduino проходить через светодиодный массив, чтобы определить, какой из них включен, и через цветной массив, чтобы определить, какой цвет выбран (цвет определяется переключателем, который позволяет выбрать 7 цветов). Мигание регулируется оператором if.

Код прилагается, не стесняйтесь загружать и использовать. Раздел комментариев открыт для вопросов, если вы чего-то не понимаете, но вы можете просто скопировать и вставить!

Шаг 4: самая сложная часть

Самая тяжелая часть
Самая тяжелая часть
Самая тяжелая часть
Самая тяжелая часть

Итак, теперь у вас есть идея, рабочий код… а не сам продукт. Это, безусловно, самая ужасная часть этого проекта, и я бы посоветовал вам не относиться к этому легкомысленно. Помните все эти разные ножки, которые заканчиваются одной булавкой? ну да … вы должны сделать свою сетку из светодиодов, затем подключить каждую ножку к каждой другой ножке, которая должна перейти к тому же выводу, а затем подключить их к указанному выводу. Это, безусловно, самая сложная часть, и моя тоже не вышла на 100% идеальной, хотя, если вы хорошо умеете паять, у вас может быть шанс.

Я поставил ряд светодиодов RGB за раз и подключил медный провод к каждой ноге (я рекомендую медный провод с корпусом / оберткой. Мой был слишком толстым, и это вызвало у меня ОЧЕНЬ огорчения). Будьте осторожны, чтобы никакие две ножки или провода не соприкасались друг с другом! затем «просто» подключите все провода, которые должны пройти к одному и тому же контакту, а затем подключите их к резистору и подключите его к указанному контакту. Я уверен, что есть "более безопасный" способ сделать это, но я уверен, что можно утонуть в проводе, пытаясь и, честно говоря … ваш макет просто такой большой!

(Я добавил рисунок, который мог бы упростить этот шаг. Он говорит вам, какая нога должна перейти к какому выводу, чтобы точно следовать моему коду.)

На это у меня ушло целых 4 дня работы, но теперь каждый светодиод (минус 3-4, которые я напортачил) можно включать индивидуально!

тогда вам нужно только подключить несколько кнопок и готово! Ваша собственная картина в стиле пиксель-арт!

Этот парень также сделал пример проводки, это действительно полезно

Шаг 5: злорадство. Абсолютно злорадство

Если вы начинающий (как я), и вам удалось сделать что-то даже похожее на это крысиное гнездо проводов, и оно включается; злорадствовать. Вы действительно хорошо сделали!

Если у вас есть какие-либо вопросы / комментарии, просто оставьте их ниже, я постараюсь помочь, если смогу!

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