
Оглавление:
- Запасы
- Шаг 1. Заказ печатной платы
- Шаг 2: заказ запасных частей
- Шаг 3: Минимальная сборка (для записи загрузчика)
- Шаг 4: запись загрузчика
- Шаг 5: Сборка печатной платы
- Шаг 6: Установка библиотек
- Шаг 7: Установите время на RTC (часы реального времени)
- Шаг 8: изменение программного кода
- Шаг 9: загрузка вашей программы
- Шаг 10: подготовка коробки
- Шаг 11: Окончательная сборка
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:04



В этой маленькой коробке указано количество дней, в течение которых мы с моим возлюбленным живем вместе. Конечно, для вас свидание может быть любым, оно может указывать дни с момента вашего брака, с того дня, когда вы встретились с супругом, день, когда вы переехали вместе, или что-то еще, что для вас очень важно.
Матрица 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
Рекомендуемые:
Fanair: метеостанция для вашей комнаты: 6 шагов (с изображениями)

Fanair: метеостанция для вашей комнаты: есть бесчисленное множество способов узнать текущую погоду, но тогда вы знаете только погоду на улице. Что, если вы хотите узнать погоду в своем доме, в конкретной комнате? Вот что я пытаюсь решить с помощью этого проекта. Fanair использует муль
Предупреждение о воде - средство для спасения вашей лодки: 5 шагов (с изображениями)

Предупреждение о воде - способ спасти вашу лодку: если вы владелец лодки, то, наконец, вывести лодку на сушу - это надежный комфорт. Там он не может утонуть. Повсюду он сталкивается с постоянной борьбой за преодоление тенденции поскользнуться под волнами и исчезнуть. Зимой здесь, в Увы
Коробка для дезинфекции UV-C - Учебное пособие для базовой версии: 11 шагов (с изображениями)

Коробка для дезинфекции UV-C - Учебное пособие по базовой версии: Стивен Фенг, Шахрил Ибрагим и Санни Шарма, 6 апреля 2020 г. Особая благодарность Шерил за ценные отзывы Версию этой инструкции для документации Google см. На странице https://docs.google. ru / document / d / 1My3Jf1Ugp5K4MV … Предупреждение Свет УФ-С
Коробка обнаружения человека - прототип: 4 шага

Ящик для обнаружения человека - Прототип: Всем привет! В этом проекте мы узнаем, как сделать ящик для обнаружения человека. В этом проекте мы будем использовать пассивный инфракрасный датчик (PIR) для обнаружения движений, животных или людей (всего, что излучает инфракрасное излучение). Один недостаток
Вода - основа жизни человека: 4 шага

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