Оглавление:

Алфавитная доска, управляемая приложением, вдохновленная очень странными вещами: 7 шагов (с изображениями)
Алфавитная доска, управляемая приложением, вдохновленная очень странными вещами: 7 шагов (с изображениями)

Видео: Алфавитная доска, управляемая приложением, вдохновленная очень странными вещами: 7 шагов (с изображениями)

Видео: Алфавитная доска, управляемая приложением, вдохновленная очень странными вещами: 7 шагов (с изображениями)
Видео: Проверка зрения 2024, Ноябрь
Anonim
Алфавитная доска, управляемая приложением, вдохновленная очень странными вещами
Алфавитная доска, управляемая приложением, вдохновленная очень странными вещами

Все это началось несколько недель назад, когда я пытался придумать, что подарить моей девятилетней племяннице на Рождество. Мой брат наконец сообщил мне, что она большая поклонница "Очень странных дел". Я сразу понял, что я хочу ей подарить - что-то, что вешается на стену с рождественскими гирляндами и буквами, из которых она может составить случайные предложения. Разве вы не знаете, абсолютно никто не делает такие вещи… Я нашел бесчисленное количество экземпляров стен с нарисованными буквами и постоянно горящими рождественскими гирляндами. Я нашел много его миниатюрных версий. Я нашел всего пару проектов, в которых использовались микроконтроллеры (Arduinos) и адресуемые светодиоды для написания фраз, но все они, похоже, полагались на жестко закодированные фразы в программном обеспечении микроконтроллера. Ничего похожего на то, что было у меня в голове. Так родился проект rudLights Alphabet Board.

Алфавитная доска rudLights, или сокращенно rudLights, также использует Arduino и адресуемые светодиоды для отображения предложений на цепочке «Рождественских огней». Тем не менее, он также использует дешевый приемник Bluetooth и специальное приложение для Android, которое пользователь, моя племянница, может использовать для отображения любого предложения, которое она хочет отправить со своего планшета (в данном случае это Amazon Fire).

Читайте подробности того, как я сделал эту вещь, а теперь я делаю вторую для своего дома. У меня не было много фотографий или документации, так как я делал оригинал, к тому же теперь я хочу, чтобы одна была у меня в гостиной. Следуйте инструкциям, если хотите построить его для себя. К концу этого руководства необходимый код будет доступен под самой разрешительной лицензией, которую я могу сделать, вероятно, GPLv3.

Шаг 1: необходимые детали

Необходимые детали
Необходимые детали
Необходимые детали
Необходимые детали

Список запчастей для rudLights довольно прост. Пришлось покупать светодиоды, мне нужно было 26, а под рукой было всего пять. К счастью, я нашел на Amazon упаковку из 100 печатных плат WS2812B всего за пятнадцать долларов. Сложнее всего было найти что-то, что можно выдать за уродливые обои из шоу. Мы с сыном наконец нашли в разделе бумаги для скрапбукинга Джоанн что-то, что работает довольно хорошо. Вот список вещей, которые я использовал, и для чего они нужны. По возможности буду ссылаться на то, где купить. Я не буду использовать партнерские ссылки, хотя по возможности они являются ссылками Amazon Smile.

Необходимые вещи

  • 26+ адресуемых светодиодов (также известных как NeoPixels) - 100 за 15 долларов на Amazon (я не знаю, почему они находятся в разделе «Музыкальные инструменты»).
  • Arduino Pro Mini - подделки на Amazon или законные от SparkFun Нет причин, по которым вы не можете использовать полноразмерный Arduino Uno, если у вас есть место.
  • Bluetooth-модуль HC-05 - 8 долларов на Amazon. Я бы предположил, что модуль HC-06 тоже подойдет, но никаких обещаний.
  • Адаптер питания переменного тока 5 В постоянного тока, 2 А - 7,49 доллара на Amazon
  • Рамка для документа - рамка 8,5 x 11 дюймов, я нашел ее у Джоанн примерно за 10 долларов. Вы можете использовать рамку любого размера, которую хотите, я выбрал такую же, как бумага, которую ест мой принтер.
  • Уродливые обои. На самом деле бумагу для скрапбукинга размером 12х12 дюймов под названием "Tan Swirly Flowers" я нашел в магазине JoAnn Fabric & Craft Store. На самом деле я купил четыре, чтобы пару раз облажаться. Посмотрите на ее "красоту" здесь (нажмите "Да, я розничный продавец ", чтобы фактически просмотреть страницу) YMMV
  • Два листа пергамента - также от JoAnn's, используются в качестве рассеивателей для предотвращения слепоты при наблюдении за светодиодами.
  • ДВП 1/8 дюйма, лист 8,5 x 11 дюймов - 24 x 48 дюймов в Home Depot стоит 5 долларов.

Основы

  • Резисторы делителя напряжения - 1k7 и 3k3 (или 1k и 2k, или даже 2k2 и 3k3) для сдвига уровня между выводом 5V Arduino TX и выводом RX модуля 3.3V BT.
  • Резистор 220-470 Ом - входит в линию передачи данных между Arduino и первым светодиодом WS2812B.
  • 4 конденсатора 16 В 1000 мкФ - Феноменальная космическая сила. Пачка крышек по 11 долларов на Amazon
  • Многожильный провод весом 20-22 г трех цветов - питание, заземление и данные вдоль жилы светодиодов.
  • Небольшой прототип печатной платы - я использовал один для создания штучки для центрального распределения питания.
  • Различные части термоусадочной трубки - для закрытия резисторов, впаянных в соединительные кабели. Пять баксов в Харбор Фрейт.

Инструменты

  • Кусачки и стрипперы
  • Паяльник и припой
  • Макетная плата и соединительный провод
  • Острый нож для хобби (X-Acto)
  • Разделочная доска
  • Универсальный нож
  • Прямоугольник или квадрат
  • Канцелярская кнопка, шило, кернер или другой острый предмет с кнопками
  • 5/16 "дрель и кое-что для ее вращения (двигатель дрели, сверлильный пресс, взбивалка …)
  • Напильник или наждачная бумага
  • Клей для дерева (или белый клей)
  • Пистолет для горячего клея и палочки

По желанию

  • Raspberry Pi Zero W. Я буду использовать его на своей собственной доске для алфавита rudLights вместо HC-05, потому что у меня закончились модули Bluetooth HC-05. Для этого вам также понадобится SD-карта.
  • Сосновая палка 1/2 "x 3/4" x 48 "- используется для расширения задней части рамки документа.
  • Раскрасьте в соответствии с вашей рамкой и кистью (ами) - используется, чтобы замаскировать указанное выше расширение за рамкой. Я использовала черную акриловую краску для рукоделия и кисть для поролона.
  • Теневая рамка - вместо рамки документа устраняет необходимость в указанном выше удлинителе.
  • Разъем питания 2,1 мм - 6 долларов за упаковку из 5 штук на Amazon. Вы также можете просто отрезать разъем от блока питания и припаять его прямо к проекту.
  • 3.3V Arduino и блок питания, если вы хотите снизить мощность. Светодиоды WS2812B должны работать при напряжении 3,3 В. Это устранит необходимость в делителе напряжения. Опять же, никаких обещаний.

Шаг 2: эстетическая часть

Эстетическая часть
Эстетическая часть
Эстетическая часть
Эстетическая часть
Эстетическая часть
Эстетическая часть

Я подумал, что смогу найти снимок экрана или что-нибудь из шоу, чтобы напечатать его как фотографию и использовать в кадре. Как я ни старался, мне не удалось найти именно то изображение, которое я искал. Это то, что побудило нас искать уродливую бумагу для скрапбукинга. Я попросил моего сына нарисовать алфавит с помощью цепочки лампочек, и он разрезал бумагу размером 12x12 дюймов до 8,5x11 дюймов, чтобы она поместилась в принтере. Затем я просто распечатал изображение алфавита прямо на уродливой бумаге и попросил ребенка вырезать все лампочки с помощью ножа X-Acto.

Если вы хотите пойти по тому же пути, пожалуйста, сохраните изображение выше, загрузите иллюстрацию с моего сервера или вы можете получить ее из репозитория GitHub.

Используя обычный лист бумаги для принтера или, что еще лучше, стекло рамы для картины, разложите кусок бумаги размером 12x12 дюймов, чтобы получился лист 8,5x11 дюймов, на котором можно распечатать изображение алфавита. Бумага, которую я использовал, имеет немного окраски по краям, чтобы она выглядела потертой, я думаю. Таким образом, я закончил тем, что выложил часть из середины бумаги. Затем я просто использовал универсальный нож, чтобы сделать надрезы. Обязательно режьте на жертвенной поверхности, если только вы не счастливый обладатель резака для бумаги. После того, как я разрезал бумагу, используя лист бумаги для принтера в качестве ориентира, я обнаружил, что моя рамка чуть меньше 8,5x11 дюймов… Чтобы «исправить» это, я просто положил стекло на свои уродливые обои и обрезал примерно 1/16 с двух сторон ножом для хобби.

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

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

Шаг 3: Подготовка доски

Подготовка доски
Подготовка доски
Подготовка доски
Подготовка доски
Подготовка доски
Подготовка доски
Подготовка доски
Подготовка доски

ДВП 1/8 дюйма (ДВП, масонит, как бы вы его ни называли) имеет размер два на четыре фута, поскольку он поступает из магазина. Очевидно, нам нужно немного уменьшить его в размерах. Приятная часть работы с этим видом доски - это что-то вроде толстой бумаги, и ее довольно легко разрезать канцелярским ножом. Просто отмерьте стекло от рамы и отметьте это же измерение на доске карандашом. Затем вы можете использовать линейку или угольник в качестве забор для ножа. Сделайте несколько проходов с ножом, не торопитесь, нет спешки. Если только вам не нужно закончить это к Рождеству, и вы даже не знали, что вам нужно сделать это примерно до 16 декабря … Тем не менее, ваши пальцы дороже проекта, так что будьте осторожны!

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

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

Теперь вам нужно взять обои, которые вы напечатали на последнем шаге, положить их на кусок ДВП и выровнять их. Он должен быть примерно такого же размера. После того, как они выровняются, проткните центр каждой луковицы острым предметом и сделайте углубление в древесноволокнистой плите. Эта выемка будет меткой, на которой вы просверлите 5/16 отверстия в плате, чтобы светодиоды просвечивали сквозь них. Если вы уже вырезали лампочки из обоев, вы можете приблизительно определить места сверления или использовать один из тестов на металлолом. кусочки, которые вы напечатали. Я обнаружил, что немного легче просверлить места на этом материале, нарисовав небольшой кружок вокруг каждой точки с помощью карандаша.

Пора приготовить чипсы. Используйте любое имеющееся у вас устройство для прядения сверл и сверло 5/16 ", чтобы проделать 26 отверстий в доске. Мой детский сверлильный станок не попадал точно в центральное отверстие … поэтому мне пришлось использовать другое устройство для прядения. Вы правы, мой маленький взбиватель для яиц не выдержит сверла 5/16 ", но он отлично справится с 9/32";-) Новые отверстия будут хрустящими, поэтому возьмите напильник или наждачную бумагу и также зачистите их края. Светодиод должен просто проходить через отверстие, чтобы печатная плата лежала на задней части платы.

Если вы еще не вырезали луковицы, сейчас самое время. Выломайте нож X-Acto и разделочную доску и отправляйтесь в город. Мой сын говорит, что вырезание X-образной формы на каждой луковице, а затем обрезка полученных треугольных частей сработало довольно хорошо.

Шаг 4: Добавьте немного блесток

Добавьте немного блесток в это
Добавьте немного блесток в это
Добавьте немного блесток в это
Добавьте немного блесток в это
Добавьте немного блесток в это
Добавьте немного блесток в это
Добавьте немного блесток в это
Добавьте немного блесток в это

Пришло время начать светодиодную часть этого проекта. Отломите 26 WS2812B и выровняйте их на доске. Убедитесь, что все они лежат правильно. Это также хорошее время, чтобы протестировать их все по отдельности, прежде чем паять целую связку, чтобы обнаружить, что там одна шаткая. Я приложил простой эскиз Arduino, который просто выделяет случайные цвета на языке WS2812. Вы можете использовать сервокабель, ленточный кабель или любые перемычки, которые у вас могут быть, чтобы собрать тестовый кабель. Просто вставьте 3-контактный наконечник штыря в кабель, и вы можете удерживать его на «входных» контактных площадках печатных плат светодиодов. Каждый светодиод должен загореться ровно, и пока вы тестируете только по одному, блок питания Arduino может легко справиться с этой задачей.

Убедившись, что все светодиоды исправны, можно приступать к изготовлению проводов. Я просто использовал старый многожильный провод 20-го калибра, который получил, когда Radio Shack еще существовал. Вам нужно будет сделать по 23 красных, черных и зеленых или любых других цветов, которые вы хотите использовать для питания, заземления и данных. У меня нет размера, чтобы рассчитать длину проводов. Я просто зажал кусок провода между парой светодиодов и начал резать связку примерно такой длины. В центре есть пара, которая кажется немного длиннее остальных, так что следите за ней.

После того, как ваши провода будут обрезаны, продолжайте и зачистите немного с каждого конца, ровно настолько, чтобы припаять к контактным площадкам печатных плат. Мы пока не будем соединять H с I или Q с R. Залудите концы проводов и залудите контактные площадки на светодиодах. Затем приготовьтесь к утомительному процессу опаления кончиков пальцев и припаяйте провода к печатным платам. Повторите то, что кажется одиннадцатью тысячами раз, даже если в итоге получится 155.

После того, как все три ряда будут припаяны, вы поместите длинный провод данных от H к I, затем еще один от Q к R. Затем каждый ряд получит провода питания и заземления непосредственно от платы распределения питания / вилки / предмета., поэтому у A, I и R есть свои собственные провода питания. Посмотрите на картинку и схему, и все будет иметь смысл. Вы также установите один из конденсаторов емкостью 1000 мкФ на другом конце каждой линии, в точках H, Q и Z, чтобы сохранить запас мощности для каждой жилы. (Я не могу обещать, что это необходимо, но это точно ничего не повредит.) Наконец, вы сделаете перемычку из данных A в контактной площадке, которая пойдет на Arduino. Просто возьмите обычную перемычку и разрежьте ее посередине, затем припаяйте R1, резистор 220 на 470 Ом, вставьте в линию и накройте термоусадочной пленкой. Припаяйте один конец к DIN-контактной площадке первого светодиода, а другой конец - к контакту 6 Arduino (его не обязательно должно быть 6, на самом деле это может быть любой контакт).

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

На фотографиях вы увидите две четко разные доски. У одного есть Arduino Pro Mini и модуль Bluetooth HC-05, у другого, ну, пока ничего. Тот, что с Pro Mini, достался моей племяннице, и я не получил достаточно фотографий сборки. Он также изображен на прилагаемой схеме. Делитель напряжения, который понижает передачу 5 В от Arduino до 3,3 В RX HC-05, просто встроен в кабель, соединяющий их. Вы можете просто закрепить этот провод и припаять R2, резистор 1k7, в линию. Затем припаяйте R3, резистор 3k3, с конца HC-05 резистора R2 к проводу, идущему на землю. Или вы можете построить это на прототипной плате, если хотите.

Другая плата на фотографиях - моя, и на ней будет использоваться Raspberry Pi Zero W вместо HC-05. У Arduino есть плата распределения питания, которую я сколотил на прототипной плате. Это всего лишь пара рядов разъемов и еще один конденсатор емкостью 1000 мкФ, припаянный к кабелям разъема питания. У меня совсем недавно не было таких разъемов для кабеля питания, как для версии Pi, поэтому я просто взял такой с винтовыми клеммами на конце и прикрутил к нему все провода питания. Я, вероятно, сделаю что-то более аккуратное, и я обязательно добавлю ограничение на 1000 мкФ.

Шаг 5: дайте ему немного ума - путь Arduino

Image
Image

Теперь та часть, которую мы все ждали, заставляет ее что-то делать. К счастью для вас, я уже провел несколько ночей за написанием кода для этого проекта. Все, что вам нужно сделать, это загрузить zip-файл, распаковать его куда-нибудь на свой компьютер, открыть в Arduino IDE и загрузить на свой Arduino. К счастью для меня, я веду ночной образ жизни, поздние ночи не имеют большого значения (сейчас 4 часа утра, когда я пишу это).

На самом деле, конец Arduino - это шесть файлов в папке с именем «rudLightsArduino». К этому шагу прилагается zip-файл, содержащий их. Как вариант, вы можете получить его из репозитория GitHub. Как бы вы ни решили получить файлы, как только они появятся на вашем компьютере, откройте rudLightsArduino.ino в среде Arduino IDE. Это также должно загрузить пять других файлов в виде вкладок в среде IDE. Если вы подключили вывод данных светодиодного индикатора WS2812B к выводу Arduino, отличному от вывода 6, вы захотите найти строку «#define LED_PIN 6» и заменить 6 на используемый вами вывод.

Затем вы можете переключиться на вкладку «daVars.h» и найти часть жестко запрограммированных строк, которые отображаются на плате. Это строки, начинающиеся с «const char string_X PROGMEM blah blah» в верхней части файла. Измените их по своему усмотрению, просто убедитесь, что все они CAP и не содержат специальных символов (например, точки, запятой и т. Д.). Пробелы вполне подойдут.

Вы можете добавить больше строк, скопировав существующую строку, вставив ее под другими и изменив число в части "string_X ". Просто увеличивайте число каждый раз. Теоретически вы можете сохранить столько строк, сколько поместится во флеш-хранилище Arduino. Магия части PROGMEM означает, что не все эти строки хранятся в ОЗУ, вместо этого они считываются непосредственно из флэш-памяти. Я не буду вдаваться в подробности, но вы можете узнать больше на справочной странице Arduino. Когда вы добавляете или удаляете там строки, вам также придется отредактировать пару других частей. Найдите следующий раздел с «таблицей ссылок для вышеуказанных строк» и добавьте / удалите «string_X» по мере необходимости между {фигурными скобками}. Наконец, найдите строку «int string_count = X» и измените число на количество строк из приведенной выше таблицы. Это число является фактическим числом, т. Е. Не начинается с нуля. Если есть семь строк "const char string_X", поставьте здесь 7.

Теперь скомпилируйте и загрузите код в свой Arduino. Для этого вам необходимо отключить HC-05, поскольку модуль Bluetooth использует те же линии TX / RX, что и устройство программирования компьютер-> Arduino. После загрузки кода отключите duino от компьютера и снова подключите модуль BT.

Теперь можно, наконец, собрать стопку, которая идет в раму. Сначала стекло, потом некрасивые обои с вырубленным светом. Затем идут два листа пергамента в качестве диффузора. Я закончил тем, что добавил еще один слой диффузии, приклеив еще и лист обычной бумаги для принтера. Наконец, вы можете положить в раму ДВП, полную вкусностей, убедившись, что она правильно сориентирована по отношению к листу обоев.

Что будет дальше, зависит от того, что вы использовали для кадра, и от того, как на самом деле все складывается в указанном кадре. На фотографии готовой модели вы можете видеть, что мне пришлось надстроить раму надстройкой, чтобы вмещать все элементы по высоте. Это расширение представляло собой сосновую полосу размером 1/2 на 3/4, скошенную по углам и приклеенную к задней части рамы с помощью столярного клея. Затем я использовал несколько небольших треугольных кусочков ДВП, чтобы вклиниться в прорезь внутри рамы, которая удерживалась в исходной основе. К ним я приклеил несколько кусков сосны, чтобы прикрепить их к заднему краю надставки рамы. Затем я просверлил несколько пилотных отверстий и прикрутил исходную основу рамы к стойкам. Наконец, я просверлил и прикрутил кусок оставшегося соединительного провода к удлинителю рамы, чтобы он действовал как вешалка. Если вы использовали теневой ящик или более толстую рамку, вам, возможно, не придется проделывать все это развлечение.

Наконец-то переверните его, подключите адаптер переменного тока и смотрите, как начинается световое шоу. Когда моя племянница впервые подключила свою к розетке, на нем мигало надпись «С Рождеством». Ваш будет записывать любую строку, которую вы вставили в "const char string_0 " или "RUDLIGHTS ALPHABET BOARD", если вы еще не изменили код.

Если вы пропустили часть этого раздела, посвященную модулю Bluetooth HC-05, поздравляем, вы закончили! Я надеюсь, что вы извлечете много пользы из вашего общения с Upside Down:-)

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

Шаг 6: Приложение (!)

Приложение(!)
Приложение(!)
Приложение(!)
Приложение(!)

Да, ты читаешь это правильно. Для rudLights существует сопутствующее Android-приложение, которое позволяет отображать и даже сохранять пользовательские сообщения на доске. На прошлое Рождество мы подарили моей племяннице планшет Amazon Fire. Таким образом, одним из ключевых моментов этого проекта было дать ей возможность использовать этот планшет для взаимодействия с доской алфавита rudLights. Я попал в Thunkable, который предоставил хороший и простой способ создания приложения для парня, который никогда раньше не делал приложения для Android. Мне удалось собрать что-то, что сделало все, что мне было нужно, всего за несколько дней. Однако вам не обязательно этого делать, вы можете просто загрузить приложение с моего сервера или из репозитория GitHub. Из любого места вы также можете загрузить файл проекта приложения.aia, который вы можете использовать на Thunkable, чтобы создать свою собственную версию приложения rudLights. Не стесняйтесь добавлять или удалять что угодно, менять ярлыки, изменять изображения, что у вас есть. Он доступен под лицензией GPLv3, как и все, что связано с Arduino.

Вы можете посетить веб-страницу rudLights для получения подробной информации об установке и настройке приложения, а также узнать, как его использовать после его установки.

Шаг 7: Конец?

Конец?
Конец?

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

Спасибо за чтение, наслаждайтесь!

Отредактировано 20180113 - Изменена ссылка на модуль Bluetooth HC-05, поскольку изначально связанный элемент отсутствует в наличии

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