Электронное зеркало подтверждения: 8 шагов (с изображениями)
Электронное зеркало подтверждения: 8 шагов (с изображениями)
Anonim
Электронное зеркало подтверждения
Электронное зеркало подтверждения
Электронное зеркало подтверждения
Электронное зеркало подтверждения
Электронное зеркало подтверждения
Электронное зеркало подтверждения

By bekathwiaBecky Stern Follow Еще от автора:

Веб-камера Конфиденциальность Друг
Веб-камера Конфиденциальность Друг
Веб-камера Конфиденциальность Друг
Веб-камера Конфиденциальность Друг
Рулетка Yagi Antenna с 3D-печатными муфтами
Рулетка Yagi Antenna с 3D-печатными муфтами
Рулетка Yagi Antenna с 3D-печатными муфтами
Рулетка Yagi Antenna с 3D-печатными муфтами
Вышивка Зодиака
Вышивка Зодиака
Вышивка Зодиака
Вышивка Зодиака

О себе: Создавать и делиться - две мои самые большие страсти! Всего я опубликовал сотни уроков обо всем, от микроконтроллеров до вязания. Я мотоциклист из Нью-Йорка и упорная мама-собака. Мое горе… Подробнее о bekathwia »

Когда вы смотрите в зеркало, кто не мог бы использовать несколько слов ободрения? Создайте дисплей внутри зеркала, чтобы прокручивать пользовательские утверждения, которые вы можете прочитать поверх собственного отражения. Этот отполированный проект легко сочетается с купленной в магазине рамкой для теней и некоторым прозрачным зеркальным материалом. Вы можете создать простую версию с базовым Arduino или совместимым, или выровнять ее с помощью NodeMCU (плата Wi-Fi ESP8266), чтобы добавить больше положительных цитат в зеркало через Интернет.

Эта статья изначально была опубликована в журнале HackSpace.

/ * Определения шрифтов * / @ font-face {font-family: SimSun; паносе-1: 2 1 6 0 3 1 1 1 1 1; mso-font-alt: 宋体; кодировка шрифта МСО: 134; мсо-родовое семейство шрифтов: авто; МСО-шрифт-шаг: переменная; mso-font-signature: 3 680460288 22 0 262145 0;} @ font-face {семейство шрифтов: "Cambria Math"; паносе-1: 2 4 5 3 5 4 6 3 2 4; МСО-шрифт-кодировка: 0; мсо-родовое семейство шрифтов: римский; МСО-шрифт-шаг: переменная; mso-font-signature: -536870145 1107305727 0 0 415 0;} @ font-face {семейство шрифтов: "Liberation Serif"; паносе-1: 2 11 6 4 2 2 2 2 2 4; mso-font-alt: «Times New Roman»; МСО-шрифт-кодировка: 0; мсо-родовое семейство шрифтов: римский; МСО-шрифт-шаг: переменная; mso-font-signature: 0 0 0 0 0 0;} @ font-face {семейство шрифтов: "\ @ SimSun"; паносе-1: 2 1 6 0 3 1 1 1 1 1; кодировка шрифта МСО: 134; мсо-родовое семейство шрифтов: авто; МСО-шрифт-шаг: переменная; mso-font-signature: 3 680460288 22 0 262145 0;} / * Определения стилей * / p. MsoNormal, li. MsoNormal, div. MsoNormal {mso-style-unhide: no; МСО-стиль-qformat: да; МСО-стиль-родитель: ""; маржа: 0 дюймов; нижнее поле: 0,0001pt; mso-pagination: вдова-сирота; мсо-дефис: нет; текст-автопространство: идеограмма-другое; размер шрифта: 12.0pt; семейство шрифтов: "Liberation Serif", serif; мсо-fareast-font-family: SimSun; мсо-биди-шрифтов: Arial; МСО-шрифт-кернинг: 1,5 пункта; MSO-ANSI-язык: EN-GB; mso-fareast-language: ZH-CN; mso-bidi-language: HI;} p. Standard, li. Standard, div. Standard {mso-style-name: Standard; МСО-стиль-показать: нет; МСО-стиль-родитель: ""; маржа: 0 дюймов; нижнее поле: 0,0001pt; mso-pagination: вдова-сирота; мзо-дефис: нет; текст-автопространство: идеограмма-другое; размер шрифта: 12.0pt; семейство шрифтов: "Liberation Serif", serif; мсо-fareast-font-family: SimSun; мсо-биди-шрифтов: Arial; МСО-шрифт-кернинг: 1,5 пункта; MSO-ANSI-язык: EN-GB; mso-fareast-language: ZH-CN; mso-bidi-language: HI;}. MsoChpDefault {mso-style-type: только для экспорта; МСО-по умолчанию-реквизит: да; семейство шрифтов: "Liberation Serif", serif; семейство шрифтов mso-ascii: «Засечки освобождения»; мсо-fareast-font-family: SimSun; семейство шрифтов мсо-ханси: «Засечки освобождения»; мсо-биди-шрифтов: Arial; МСО-шрифт-кернинг: 1,5 пункта; MSO-ANSI-язык: EN-GB; mso-fareast-language: ZH-CN; mso-bidi-language: HI;}. MsoPapDefault {mso-style-type: только экспорт; мсо-дефис: нет; text-autospace: ideograph-other;} @page WordSection1 {размер: 8,5 дюйма 11,0 дюйма; поля: 1,0 дюйма, 1,0 дюйма, 1,0 дюйма, 1,0 дюйма; поля МСО-заголовка: 0,5 дюйма; Поля нижнего колонтитула: 0,5 дюйма; mso-paper-source: 0;} div. WordSection1 {page: WordSection1;}

Запасы

  • Рамка Shadowbox
  • Прозрачное зеркальное стекло или акрил
  • Черная бумажная лента
  • Ручка или карандаш
  • Линейка или рулетка
  • Ремесленный нож
  • USB-кабель
  • NodeMCU, Trinket M0 или аналогичная плата микроконтроллера
  • Белые буквенно-цифровые светодиодные дисплеи с рюкзаками i2c (я использовал три, но два тоже подойдут)
  • Паяльные инструменты и принадлежности
  • Большой паяемый макет

Чтобы быть в курсе того, над чем я работаю, подписывайтесь на меня на YouTube, Instagram, Twitter, Pinterest и подписывайтесь на мою рассылку. Как партнер Amazon я зарабатываю на соответствующих покупках, которые вы совершаете с помощью моих партнерских ссылок.

Шаг 1. Соберите буквенно-цифровые дисплеи

Соберите буквенно-цифровые дисплеи
Соберите буквенно-цифровые дисплеи
Соберите буквенно-цифровые дисплеи
Соберите буквенно-цифровые дисплеи
Соберите буквенно-цифровые дисплеи
Соберите буквенно-цифровые дисплеи

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

Рюкзак представляет собой печатную плату, содержащую микросхему для управления каждым из сегментов светодиодов по протоколу данных I2C, который использует всего два вывода данных для управления большим количеством светодиодов. Тонкие штыри сегментного дисплея проходят через отверстия на плате, затем вы можете положить дисплей лицевой стороной и припаять штыри сзади. Будьте осторожны, совместив десятичную точку светодиода с точкой на шелкографии платы, чтобы не припаять ее вверх ногами! Разумно сперва припаять два диагональных угловых штыря, чтобы можно было отрегулировать посадку, прежде чем все зафиксируется на месте. Компоненты с несколькими выводами чрезвычайно сложно распаять позже. После того, как все выводы припаяны, обрежьте выступающие выводы провода парой плоских ножниц.

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

Вы можете связать эти устройства I2C вместе, если у них разные адреса. Вы должны изменить адрес двух дисплеев, припаяв один или две пары контактных площадок на задней стороне платы. Например, соедините контактные площадки, обозначенные A0, на одном дисплее, и контактные площадки, отмеченные A1, на другом, оставив третий по его адресу по умолчанию. Однако вам не обязательно использовать три дисплея! Он по-прежнему выглядит хорошо и легко читается всего с двумя, хотя сложнее сфотографировать значимую фразу, так как сразу появляется так мало букв. Чтобы соединить контактные площадки, прикоснитесь горячим паяльником к обоим контактам одновременно, затем нанесите немного припоя на нагретые контактные площадки, которые должны покрыть обе контактные площадки. Если поначалу он не выглядит ровным и блестящим, попробуйте снова нагреть шов.

Шаг 2: Тест с использованием схемы макетной платы без пайки

Тест с беспаечной макетной схемой
Тест с беспаечной макетной схемой
Тест с беспаечной макетной схемой
Тест с беспаечной макетной схемой
Тест с беспаечной макетной схемой
Тест с беспаечной макетной схемой

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

// маркируем дисплеи их адресами i2c

struct {uint8_t addr; // I2C-адрес Adafruit_AlphaNum4 alpha4; } disp = {{0x70, Adafruit_AlphaNum4 ()}, // левый дисплей {0x72, Adafruit_AlphaNum4 ()}, // средний дисплей {0x71, Adafruit_AlphaNum4 ()}, // правый дисплей}; Ищите этот блок кода в начале примера quadalphanum-multi. Если ваши дисплеи не прокручиваются по порядку, попробуйте поменять местами адреса (0x70, 0x72, 0x71) и повторно загрузить свой код. Если вы припаяли другую конфигурацию адресных контактов, чем показано на рисунке, вы можете попробовать другие адреса: 0x73, 0x74, 0x75, 0x76 и 0x77. Адрес вычисляется как сумма 0x70 и мостовых контактов адреса, каждый из которых имеет собственное значение (A0 = 1, A1 = 2, A3 = 4).

Вы можете решить, какой микроконтроллер использовать для этого проекта. Если вы хотите, чтобы ваше зеркало отображало аффирмации из заданного списка случайным образом, вы можете использовать что-нибудь простое и автономное, например безделушку. Если вы хотите опробовать более продвинутую версию, которая подключается к Интернету для получения новых сообщений, вы можете использовать плату Wi-Fi, такую как NodeMCU. Просто посмотрите, какие контакты используются для данных I2C и часов на вашем микроконтроллере, и подключитесь соответственно. Кроме того, эти дисплеи требуют подключения к земле, источнику питания и опорному напряжению, соответствующему логическому напряжению микроконтроллера.

Шаг 3: Определите компоновку дисплея внутри рамы и паяных дисплеев

Определение макета дисплея внутри рамы и дисплеев под пайку
Определение макета дисплея внутри рамы и дисплеев под пайку
Определение макета дисплея внутри рамы и дисплеев под пайку
Определение макета дисплея внутри рамы и дисплеев под пайку
Определение макета дисплея внутри рамы и дисплеев под пайку
Определение макета дисплея внутри рамы и дисплеев под пайку

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

Шаг 4: Соберите остальную часть схемы и протестируйте

Соберите остальную часть схемы и проверьте
Соберите остальную часть схемы и проверьте

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

Шаг 5: Код

Код
Код

Найдите аффирмации, которые имеют для вас значение! Пример кода для этого проекта содержит 17 поднимающих настроение цитат известных креативщиков:

  • «Неудача - это всегда вариант» - Адам Сэвидж.
  • «Власть вам не дана, вы должны ее взять», - Бейонсе Ноулз-Картер.
  • «Я не оцениваю себя ожиданиями других и не позволяю другим определять мою ценность», - Соня Сотомайор
  • «Мы должны принять конечное разочарование, но никогда не можем потерять бесконечную надежду». -Мартин Лютер Кинг младший.
  • «Настало время понять, чтобы мы меньше боялись». -Мари Кюри
  • «Не идите на компромисс - вы все, что у вас есть». -Дженис Джоплин
  • «Если у вас хорошие мысли, они будут сиять вам лицом, как солнечные лучи, и вы всегда будете прекрасно выглядеть». -Роальд Даль
  • «Что отличает вас от других или странных, в этом ваша сила». -Мерил Стрип
  • «То, кем вы являетесь внутри, помогает вам создавать и делать все в жизни». -Фред Роджерс
  • «Я не боюсь штормов, потому что учусь управлять своим кораблем». -Луиза Мэй Олкотт
  • «Я намерен и ничего не боюсь». -Audre Lord
  • «То, на чем мы зацикливаемся, - это то, чем мы стали». -Опра Уинфри
  • «Всегда будь первоклассной версией себя, а не второсортной версией кого-то другого». -Джуди Гарланд
  • «Достаточно ли я хорош? Да, я." -Мишель Обама
  • «Вы должны верить в себя, иначе никто не поверит» - Сара Мишель Геллер
  • «Ничто не может приглушить свет, исходящий изнутри». -Майя Анжелу
  • «Моя сила заключается исключительно в моем упорстве». -Луи Пастер

Шаг 6: лента и зеркала

Лента и зеркала
Лента и зеркала
Лента и зеркала
Лента и зеркала
Лента и зеркала
Лента и зеркала
Лента и зеркала
Лента и зеркала

Чтобы собрать зеркало, возьмите кусок прозрачного зеркала из пластика или стекла такого же размера, чтобы он соответствовал рамке вашего теневого бокса. Вы можете заказать эти вещи в Интернете или найти их в специализированных магазинах пластика и стекла. Вы можете использовать толстый кусок стекла или пластика вместо стекла рамы или использовать тонкий кусок пластика, лежащий за исходным стеклом рамы. Снимите защитную пленку и оцените, какая сторона дает лучшее отражение, поскольку с обеих сторон она не всегда одинакова. Закройте «изнаночную» сторону черной бумажной лентой или приклейте ее на темную бумагу. Обрежьте края заподлицо, чтобы лента не свешивалась с края. Черная бумажная лента (ласково сокращенно «BPT» в киноиндустрии) предпочтительнее для этого проекта, потому что она полностью блокирует свет.

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

Шаг 7: прорежьте выемку для кабеля

Сделайте выемку для кабеля
Сделайте выемку для кабеля

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

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

Шаг 8: думайте позитивно

Мыслить позитивно
Мыслить позитивно
Мыслить позитивно
Мыслить позитивно

Какие утверждения вы хотите вложить в свои? Я хотел бы услышать их в комментариях ниже.

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

Спасибо, что подписались! Чтобы быть в курсе того, над чем я работаю, подписывайтесь на меня на YouTube, Instagram, Twitter, Pinterest и подписывайтесь на мою рассылку.