Оглавление:

Прикроватные часы-будильник MP3 с буквами: 6 шагов (с картинками)
Прикроватные часы-будильник MP3 с буквами: 6 шагов (с картинками)

Видео: Прикроватные часы-будильник MP3 с буквами: 6 шагов (с картинками)

Видео: Прикроватные часы-будильник MP3 с буквами: 6 шагов (с картинками)
Видео: Как правильно мыть Apple Watch 2024, Июль
Anonim
Прикроватные часы с будильником в формате MP3
Прикроватные часы с будильником в формате MP3

Для этого проекта я хотел сделать удобный и полнофункциональный прикроватный будильник со словом «слово».

Мои личные требования к прикроватному будильнику:

  1. Читается при любом освещении, ночью не слепит
  2. MP3 мелодии будильника
  3. Привлекательный и компактный форм-фактор
  4. Функция повтора
  5. Функция памяти, так что время, время будильника, мелодия звонка и громкость не теряются при отключении питания.
  6. Функция дня рождения: в свой день рождения (и в день рождения членов моей семьи) я хочу, чтобы меня разбудило «С Днем Рождения», а не стандартный рингтон.

Я не мог найти никакого поучительного сочетания всего этого; следовательно, это поучительно.

Часы построены на матрице 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 Вт.

В любом случае, глядя на конечный результат, я убежден, что он стоит всех вложенных мною сил!

Не забудьте проголосовать за меня в конкурсе часов! Спасибо, что дочитали до конца.

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