Оглавление:
- Запасы
- Шаг 1. Сделайте коробку
- Шаг 2: циферблат
- Шаг 3: Пайка электроники
- Шаг 4: сборка часов
- Шаг 5: Программное обеспечение
- Шаг 6: Будущие улучшения
Видео: Прикроватные часы-будильник MP3 с буквами: 6 шагов (с картинками)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
Для этого проекта я хотел сделать удобный и полнофункциональный прикроватный будильник со словом «слово».
Мои личные требования к прикроватному будильнику:
- Читается при любом освещении, ночью не слепит
- MP3 мелодии будильника
- Привлекательный и компактный форм-фактор
- Функция повтора
- Функция памяти, так что время, время будильника, мелодия звонка и громкость не теряются при отключении питания.
- Функция дня рождения: в свой день рождения (и в день рождения членов моей семьи) я хочу, чтобы меня разбудило «С Днем Рождения», а не стандартный рингтон.
Я не мог найти никакого поучительного сочетания всего этого; следовательно, это поучительно.
Часы построены на матрице 8X8 WS2812B. Из-за небольшого количества светодиодов не все слова могут состоять из следующих друг за другом букв. Большинство словарных часов 8x8 (например, этот хороший) решают эту проблему, группируя больше букв над одним светодиодом, хотя у других есть более творческие решения. Я решил найти решение, более похожее на это, где слова состоят из непоследовательных букв. Это придает ему магический оттенок, так как вы не видите слов, пока они не загорелись. Для удобства чтения буквы одного и того же слова имеют один цвет. Поначалу это немного озадачивает, но через некоторое время вы можете прочитать это как можно быстрее. Вот почему я называю их буквенными часами, а не словесными часами. Часы будят меня каждое утро, и я до сих пор удивляюсь тому, как формируются слова!
Запасы
Помимо электроники, почти все компоненты являются повторно использованными или утилизированными предметами, которые у меня уже были дома. Единственный инструмент, который вам действительно нужен и которого, вероятно, нет под рукой для циферблата, - это лазерный резак. К счастью, есть много фабрик и творческих пространств, которые могут вам в этом помочь. Спасибо, Makerspace De Prins!
Электронные компоненты:
- Светодиодная матрица 8X8 WS2812B
- Ардуино нано
- Модуль часов реального времени DS3231
- DFPlayer mini
- карта micro SD для установки в DFPlayer mini (самая маленькая / самая дешевая, которую вы можете найти, отлично подойдет)
- Фотодиод
- Один светодиод RGB
- Конденсатор 1000 Ф
- динамик как можно меньше
- общие провода, разъемы, резисторы, кнопки
- Немного дерева, МДФ,.. для коробки
Шаг 1. Сделайте коробку
Для самого ящика я использовал вырезки из нашего деревянного пола. Это красивые дубовые доски толщиной 9 мм. С помощью торцовочной пилы я вырезал 4 куска размером 10,5 х 8,6 см (на самом деле я вырезал запасной, чтобы исправить будущие ошибки!). По короткому краю сделана выемка 5 мм для скрытия передней и задней панели. Длинные края срезаны под углом 45 °, чтобы получилась красивая квадратная коробка. Мастера по дереву не сходят с ума по этому поводу из-за небольшой площади склеивания торцевых волокон. Но мне нравится вид стыка, спрятанного в углу, и он по-прежнему достаточно прочен для применения. Но это как раз мое решение с материалами, которые у меня были под рукой. Любая коробка, в которой находится матрица, отлично справится с этой задачей. Перед тем, как склеить детали, мы должны собрать и смонтировать электронику. Итак, приступим к следующему шагу.
Шаг 2: циферблат
Нет часов без циферблата. Это один из наиболее умных, быстрых и дешевых способов сделать буквы полупрозрачными, блокируя при этом весь остальной свет. Вам понадобится всего лишь небольшой кусок (10 x 10 см) акрилового стекла (AKA plexi), немного аэрозольной краски и лазерный резак. Я начал с регенерированного прозрачного акрилового стекла; толщина не имеет значения, если она соответствует нише вашей коробки. С одной стороны, я зачистил угол наждачной бумагой и покрыл его черной аэрозольной краской. Не волнуйтесь, что капает краска и т. Д., Это будет обратная сторона. С другой стороны, вы должны оставаться как можно более нетронутыми. Теперь вам нужен доступ к лазерному резаку, чтобы удалить краску и часть акрилового стекла, где буквы должны быть нанесены с использованием предоставленного SVG; не забывайте, что буквы должны быть зеркальными! Et voila: дешевый, быстрый и простой способ сделать лицевую панель идеального вида, практически без утечки света! Возможно, вам придется изменить порядок букв, так как они предназначены для голландских часов.
Теперь у вас есть доступ к лазеру, а также вырежьте матрицу (файл тоже прилагается) из 6-миллиметрового МДФ. Он проходит между светодиодной матрицей и лицевой панелью, чтобы рассеивать свет и предотвращать утечку света на соседние буквы.
Шаг 3: Пайка электроники
Теперь пришло время для ядра наших часов; электроника.
Сердце нашего проекта - это arduino nano. Я использовал один на базе Atmega328P. Это работает, но во время разработки программного обеспечения я часто сталкивался с проблемами памяти. Так что, вероятно, лучше подойдет nano или даже ESP32.
Перед тем, как паять все вместе, целесообразно проверить все компоненты и соединения на макетной плате. Из-за большого количества компонентов и необходимых подключений это будет выглядеть неаккуратно. Затем я перекладываю все компоненты по одному на перфорированную печатную плату. Держите компоненты близко друг к другу, так как коробка относительно небольшая, и расположите их таким образом, чтобы такие вещи, как SD-карта, аккумулятор … были доступны после снятия задней части. Сверху все выглядит красиво и аккуратно, а сзади - спагетти в лучшем виде. Но, установив и немедленно протестировав все соединения, вы тоже можете это сделать! Вы можете найти несколько советов по созданию этой макетной платы здесь.
Ниже вы можете найти все подключения, которые необходимо выполнить для различных компонентов:
RTC (часы реального времени) DS3231: 4 контакта напрямую подключены к Arduino
- VCC до 5 В
- GND к GND Arduino
- SDA в A4
- SCL в A5
DFPlayer Mini: он немного отличается от большинства примеров. Чтобы избежать проблем с шиной I2C, я подключаю его к последовательному порту Arduino, а не через программную шину. Карта micro SD, которая входит в DFPlayer Mini, должна содержать 12 рингтонов MP3 (с именами 0001.mp3, 0002.mp3,…) и мелодию с днем рождения с именем 0014.mp3 (13 не хотели работать!?!).
- VCC до 5 В
- GND к GND
- RX в TX на Arduino, не напрямую, а через резистор 1 кОм; не подключайте TX DFPlayer mini, мы не используем обратную связь от модуля, и это нарушит правильную работу часов!
- spk1 и spk2 к динамику
Светодиодная матрица WS2812:
- Положительный и отрицательный напрямую подключены к разъему питания
- Din первого светодиода / буквы подключен к выводу D6 Arduino не напрямую, а через резистор 330 Ом.
Конденсатор на 1000 мкФ: это для защиты светодиодов, вероятно, он отлично работает без него.
Положительный вывод подключается к положительному полюсу светодиодной матрицы (и, следовательно, к гнезду постоянного тока); отрицательная ножка подключается к минусовой стороне светодиодной матрицы
Светодиод RGB: светодиод, который я использую, имеет встроенные резисторы, у большинства из них нет, поэтому включите их при необходимости.
- Самая длинная нога связана с землей
- Другие ножки подключаются к контактам D8, D9 и D10 Arduino.
Фотодиод
- Одна ножка фотодиода подключена к 5В,
- другая нога подключена к контакту A0 на Arduino и к земле через резистор 4,7 кОм
Кнопки: вам нужно 3 кнопки; 1 большая тревожная кнопка и 2 меньшие для функции подъема и опускания. Кнопки подключены к цифровым контактам на Arduino. Вы также должны добавить понижающие резисторы 10 кОм, как хорошо объясняется в этой инструкции.
- Кнопка тревоги подключена к выводу D7.
- Вверх подключен к выводу D12
- Кнопки вниз подключены к выводу D11
Шаг 4: сборка часов
Из-за ограниченного пространства для всех компонентов важно проверить соответствие всех компонентов. Поэтому я соединил все компоненты разъемами, чтобы легко снять их с основной платы. Кнопка будильника, которую я использовал, слишком длинная, и я установил ее очень странным образом. Это потому, что мне не понравился его красный пластик. Теперь он расположен намного глубже в часах, чтобы освободить место для небольшого деревянного диска, который теперь действует как кнопка и лучше соответствует внешнему виду часов. Диск фактически вырезан из ручки старой малярной кисти; Видишь ли, мне нравится повторно использовать старые вещи! Задняя панель также используется повторно: кусок золотой плиты из дибонда, которая служит задней панелью на нашей кухне. Просто отрежьте заднюю панель по размеру с помощью торцовочной пилы и просверлите отверстие для гнезда постоянного тока. Он крепится винтами для обеспечения доступа к внутренним устройствам в дальнейшем. Когда кажется, что все встало и работает, пора приклеить коробку. Склеить несложно, достаточно скрепить все 4 стороны вместе малярным скотчем, нанести клей и обернуть вместе. Светодиодная матрица приклеена к матрице светодиодного покрытия, и это трение соответствует положению. Лицевая панель крепится сверху на двусторонний скотч. В первые ночи я провел несколько «тестовых ночей», когда все было скреплено резиновыми лентами, и я почувствовал, что даже при самых низких настройках светодиоды слишком яркие! Это было решено добавлением двух слоев бумаги между матрицей крышки светодиода и лицевой панелью.
Шаг 5: Программное обеспечение
Программное обеспечение этих часов отличается от большинства других. Поскольку я собираюсь использовать его в качестве основного будильника, мне нужно много функций, которыми можно управлять с помощью всего 3 кнопок! Я также предпочитаю автономное устройство, а не подключение к нему через Wi-Fi, Bluetooth,… для простых вещей, таких как изменение мелодии звонка, времени и т. Д.
Здесь обзор всех включенных мною функций.
- Кратковременное нажатие кнопки будильника включает / выключает функцию будильника. Когда сигнал тревоги активен, светодиод горит красным.
- После активации будильника отображается время будильника, и можно изменить время будильника с помощью кнопок вверх и вниз (часы, когда мигает красный светодиод, затем минуты, когда мигает синий светодиод)
- Для изменения мелодии звонка и громкости; вы должны активировать меню настроек, одновременно нажав кнопки вверх и вниз во время установки времени будильника.
- Когда срабатывает будильник, короткое нажатие на кнопку будильника даст вам время повтора 5 минут. Чтобы действительно выключить: нажмите еще раз или удерживайте, пока не погаснет светодиодный индикатор будильника.
- Чтобы изменить время, вы должны активировать меню настроек, одновременно нажав кнопки вверх и вниз во время нормальной работы.
- Чтобы изменить дату (используется для функции дня рождения), вы должны активировать меню настроек, одновременно нажав кнопки вверх и вниз во время установки времени.
- И напоследок пасхальное яйцо: долгое нажатие на кнопку будильника активирует режим радуги. Это не только круто смотрится, но и может служить ночником!
Необходимый скетч Arduino прилагается. Но можно было бы получить выгоду от переписывания с нуля, поскольку он слишком сильно демонстрирует свой органический рост и, следовательно, не имеет некоторой логики. Но так как все работает, я не хочу тратить на это больше времени, чем я уже делал.
Самая важная функция, которая отличает эти часы, - это:
String TextToLED (String InputText, int анимация, int StartLed)
Он содержит алгоритм, который будет искать необходимые буквы, которые будут освещены для вас, и меняет цвета в любом месте InputText. В большинстве других часов все слова жестко закодированы, а это означает, что когда вы меняете циферблат, вам нужно все перекодировать. Здесь просто нужно указать правильный порядок букв в строке
ClockFace = String ("HETMISDTKWARVIENTBIJFGNAVOORHALFDNTWZEVRPHIAGERNALJFCHTSDUURAPMY"). И это особенно удобно при изменении названия функции дня рождения.
Шаг 6: Будущие улучшения
Даже после нескольких месяцев использования я все еще очень доволен сборкой. Для большинства своих проектов я думаю: «Это нужно улучшить, или это было бы лучше…» Но этот - нет; он чувствует себя и работает так, как я хотел. Одна из проблем может заключаться в энергопотреблении. Это может быть больше, чем средний будильник, который вы покупаете. Но это во многом зависит от количества света в течение дня, так как LDR очень хорошо справляется со своей задачей. Когда совсем темно, мои часы переходят в ночной режим; это означает красные и зеленые буквы при самом тусклом свете. В этом режиме часы потребляют 0,08 ампер и, следовательно, потребляют около 0,4 Вт. При дневном освещении он увеличивается до 0,3 ампер или примерно 1,5 Вт, в то время как в режиме радуги потребляется даже 5 Вт.
В любом случае, глядя на конечный результат, я убежден, что он стоит всех вложенных мною сил!
Не забудьте проголосовать за меня в конкурсе часов! Спасибо, что дочитали до конца.
Рекомендуемые:
Сделать часы-зеркало бесконечности: 15 шагов (с картинками)
Создание зеркальных часов бесконечности: в предыдущем проекте я построил зеркало бесконечности, где моей конечной целью было превратить его в часы. (Сделайте красочное зеркало бесконечности) Я не стал этим заниматься после его создания, потому что, хотя оно и выглядело круто, было несколько вещей с этим
Литературные часы из электронной книги: 6 шагов (с картинками)
Литературные часы из электронной книги: Моя девушка * очень * заядлый читатель. Как учитель и специалист по английской литературе, она читает в среднем восемьдесят книг в год. В ее списке желаний были часы для нашей гостиной. Я мог бы купить в магазине настенные часы, но где же самое интересное
«Универсальные» часы: 10 шагов (с картинками)
«Универсальные» часы: эти часы могут показывать время в 24 часовых поясах мира; эта производительность достигается благодаря расположению, представленному на чертеже, показывающем основные компоненты часов. Часовой механизм 1 установлен в опоре 2, которая может вращаться вокруг
Минималистичные часы со словами: 28 шагов (с картинками)
Minimalistic Word Clock: большое спасибо Super Make Something, так как этот проект был вдохновлен их Neopixel Word Clock. Я создал эти часы как часть моего проекта IGCSE Design & Технологический курс и получил за это пятёрку. CAD-модель была заранее построена на слиянии и таким образом
Подключенные прикроватные часы для детей: 12 шагов
Подключенные прикроватные часы для детей: следуя этим инструкциям, вы сможете создать часы, которые активируются движением и будут показывать дату, время и соответствующее событие дня. Он покажет ночной режим, когда пора спать, а когда дети проснутся, они могут быстро вспомнить, что