Оглавление:

Коробка Dreamday для особенного человека в вашей жизни: 11 шагов (с изображениями)
Коробка Dreamday для особенного человека в вашей жизни: 11 шагов (с изображениями)

Видео: Коробка Dreamday для особенного человека в вашей жизни: 11 шагов (с изображениями)

Видео: Коробка Dreamday для особенного человека в вашей жизни: 11 шагов (с изображениями)
Видео: Препарирование Daydream - Александр Коршак | DevFest Siberia 2016 2024, Июль
Anonim
Коробка Dreamday для особенного человека в вашей жизни
Коробка Dreamday для особенного человека в вашей жизни
Коробка Dreamday для особенного человека в вашей жизни
Коробка Dreamday для особенного человека в вашей жизни
Коробка Dreamday для особенного человека в вашей жизни
Коробка Dreamday для особенного человека в вашей жизни

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

Матрица 8x8 пикселей может отображать любой символ, достаточно просто изменить код для желаемого изображения. Я выбрал это сверкающее сердце, чтобы символизировать любовь и привязанность, которые мы дарим нам в повседневной жизни. (Также я как бы хотел закончить проект до Дня святого Валентина, но SARS-CoV-2 немного задержал его)

Питание осуществляется USB-аккумулятором 18650 LiIon, который должен работать около 24 часов при постоянном отображении 7-сегментной матрицы и матрицы 8x8, но имейте в виду, что они не светятся, если коробка закрыта. Так что реалистичное время автономной работы составит годы. Часы реального времени (RTC) хранят время, использованное для подсчета прошедших дней. У него есть собственная резервная батарея (CR2032), которой хватит примерно на 8 лет.

Основа - изготовленная на заказ печатная плата. Я заказал его на JLCPCB. Файлы Gerber можно найти в репозитории GitHub. Вы можете загрузить их у любого производителя печатной платы, это универсальный формат файла. Или, конечно, вы можете написать мне электронное письмо, у меня есть запасные части, которые я готов отправить, только на оплату доставки.

Также включен файл BOM (спецификация материалов), в котором вы найдете каждую деталь электроники, необходимую для проекта.

Полная стоимость без деревянной коробки и фото распечаток составит около 30 $, в зависимости от стоимости печатной платы.

Запасы

Инструменты:

  • Паяльник
  • Защитный ключ Arduino ISP (см. Другие мои инструкции по его созданию)
  • ПК или Mac для программирования
  • Изготовленная на заказ печатная плата (Герберы включены, или спросите меня, у меня есть запасные)
  • Детали электроники (см. BOM-файл)
  • Коробка какая-то (или сделайте свою)

Шаг 1. Заказ печатной платы

Заказ вашей печатной платы
Заказ вашей печатной платы

Перейдите в JLCPCB и загрузите gerber.zip из репозитория GitHub, вы также можете выбрать желаемый цвет печатной платы.

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

Шаг 2: заказ запасных частей

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

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

Шаг 3: Минимальная сборка (для записи загрузчика)

Минимальная сборка (для записи загрузчика)
Минимальная сборка (для записи загрузчика)

Чтобы успешно записать загрузчик (объяснено в следующем шаге), некоторые детали не следует припаивать к печатной плате. Существенными частями являются ATmega32u4 (очевидно…), кристалл и два его нагрузочных конденсатора, шестиконтактный разъем и три конденсатора для ATmega32u4.

Важно, чтобы вы не припаивали резисторы / перемычки 0 Ом на последовательном соединении.

Шаг 4: запись загрузчика

Запись загрузчика
Запись загрузчика

Прежде чем вы сможете загрузить программу в ATmega32u4 с помощью Arduino IDE, в ней должен быть записан загрузчик. Обычные Arduinos уже сделали это с ними, но поскольку мы здесь работаем с голым чипом, мы должны сделать это сами. Но не волнуйтесь, это совсем не сложно.

Подключите вашего Arduino ISP к шестиконтактному разъему на печатной плате, соблюдая полярность.

Если у вас нет интернет-провайдера Arduino, ознакомьтесь с моим руководством. Один можно построить за 10 минут.

Проверьте следующие настройки в Arduino IDE:

  • Инструменты -> Плата: Arduino Leonardo
  • Инструменты -> Порт: [Выбрать COM-порт программатора]
  • Инструменты -> Программист: Arduino как ISP

Вы можете найти COM-порт в диспетчере устройств Windows.

Наконец, нажмите Инструменты -> Записать загрузчик.

Шаг 5: Сборка печатной платы

Сборка печатной платы
Сборка печатной платы
Сборка печатной платы
Сборка печатной платы

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

Припаяйте два разъема под 90 ° на задней стороне, чтобы спрятать аккумулятор и кабель переключателя. Я использовал 3-контактный разъем для аккумулятора, так что его нельзя будет подключить неправильно позже.

Шаг 6: Установка библиотек

Чтобы загрузить программы, представленные в этом руководстве, вам необходимо установить следующие зависимости:

  • RTClib
  • DS3231

Загрузите файлы.zip и импортируйте их через IDE Arduino через:

Эскиз -> Включить библиотеку -> Добавить библиотеку. ZIP

Если по какой-то причине ссылки для скачивания не работают, копии библиотек находятся в ЭТОМ каталоге GitHub. Просто перетащите их в папку с библиотеками Arduino.

После этого вам может потребоваться перезапустить Arduino IDE.

Шаг 7: Установите время на RTC (часы реального времени)

Проверяйте мой GitHub на наличие последней версии / обновлений проекта!

Интегральная схема DS3231 на вашей печатной плате сохраняет текущее время, необходимое для расчета прошедших дней. Но для этого вам сначала нужно указать, какое время / дата сейчас. Это делается путем загрузки скетча RTC_set.ino.

Перед загрузкой убедитесь, что ваши настройки следующие:

  • Инструменты -> Плата: Arduino Leonardo
  • Инструменты -> Порт: [Выберите порт Arduino Leonardo, а не ISP на этапе загрузчика]
  • Инструменты -> Программист: AVR ISP или AVRISP mkII

Нажмите кнопку загрузки и дождитесь завершения.

Шаг 8: изменение программного кода

Проверяйте мой GitHub на наличие последней версии / обновлений проекта!

Теперь мы можем приступить к модификации основной программы. Откройте проект main.ino с помощью Arduino IDE. В коде есть несколько строк, в которых вы можете / должны изменить некоторые значения по своему усмотрению. Я не буду упоминать какие-либо номера строк, потому что они могут когда-нибудь измениться, но я стараюсь сделать так, чтобы их было как можно проще найти.

Установите особую дату:

Вам нужно получить метку времени Unix от вашей даты. Перейдите на этот сайт и введите свою дату: www.unixtimestamp.com

Это даст вам 10-значное десятичное число. Скопируйте это число в строку кода с надписью «const long special_date =» и замените это число там. Это число - количество секунд с 1 января 1970 года, также известное как время Unix.

Установите пиктограмму 8x8:

Вы можете изменить изображение на светодиодной матрице, изменив значения в "const unsigned int matrix_heart_big [8]". Эти значения 8 0x [XX] представляют собой вертикальные линии на дисплее слева направо. Если вы не знаете, что означают значения, попробуйте 0x00, 0x01, 0x02, 0x04 и посмотрите, что произойдет, или прочтите шестнадцатеричное представление. (Или напишите мне по электронной почте)

Шаг 9: загрузка вашей программы

После того, как вы внесли все необходимые изменения в код, убедитесь, что в вашей Arduino IDE установлены следующие настройки:

  • Инструменты -> Плата: Arduino Leonardo
  • Инструменты -> Порт: [Выберите порт Arduino Leonardo, а не ISP на этапе загрузчика]
  • Инструменты -> Программист: AVR ISP или AVRISP mkII

Нажмите кнопку загрузки и дождитесь завершения.

Шаг 10: подготовка коробки

Подготовка коробки
Подготовка коробки

Чтобы поддерживать печатную плату в коробке и предохранять ее от падения, я вырезал несколько деревянных полос 8x10 мм и приклеил их на место.

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

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

Я также использовал липкие полоски с петлей для крепления батарейного отсека снизу.

Шаг 11: Окончательная сборка

Окончательная сборка
Окончательная сборка
Окончательная сборка
Окончательная сборка
Окончательная сборка
Окончательная сборка
Окончательная сборка
Окончательная сборка

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

Я надеюсь, что ваша вторая половинка найдет радость в этой маленькой задумчивости.

Сердечный конкурс
Сердечный конкурс
Сердечный конкурс
Сердечный конкурс

Финалист конкурса Heart Contest

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