Оглавление:

Бесконечные часы, управляемые смартфоном: 5 шагов (с изображениями)
Бесконечные часы, управляемые смартфоном: 5 шагов (с изображениями)

Видео: Бесконечные часы, управляемые смартфоном: 5 шагов (с изображениями)

Видео: Бесконечные часы, управляемые смартфоном: 5 шагов (с изображениями)
Видео: ВКЛЮЧИ Эту Настройку На Телефоне СРОЧНО!! Об Этом Молчат Разработчики Android 2024, Ноябрь
Anonim
Image
Image
Бесконечные часы, управляемые смартфоном
Бесконечные часы, управляемые смартфоном
Бесконечные часы, управляемые смартфоном
Бесконечные часы, управляемые смартфоном

Я видел много проектов Infinity Mirrors и Infinity Clocks на Instructables, поэтому решил сделать свой. Возможно, он не сильно отличается от других… но я сделал это сам, так оно и есть!

Изображение
Изображение

Если вы этого еще не знаете:

Что такое часы бесконечности?

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

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

Изображение
Изображение

Множественные отражения создают впечатление глубины

Светодиоды адресные и многоцветные, поэтому их легко использовать для создания световых анимаций.

Я хотел сделать его интерактивным и изменяющимся, поэтому добавил управление смартфоном с использованием связи Bluetooth. Между часами и смартфоном существует реальная двухсторонняя связь. Пользователь может использовать HMI (человеко-машинный интерфейс) для изменения различных параметров, таких как анимация, цвета. Но она также может отправлять прямые команды, например, для изменения времени, и часы отвечают, чтобы сказать, принята команда или нет.

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

Изображение
Изображение

Начнем сейчас …

Шаг 1. Что вам нужно?

Что тебе нужно?
Что тебе нужно?
Что тебе нужно?
Что тебе нужно?
Что тебе нужно?
Что тебе нужно?
Что тебе нужно?
Что тебе нужно?

Вот что вам понадобится для создания этих часов бесконечности (цены ориентировочные):

  • Arduino nano (2 доллара США)
  • Адресная светодиодная лента, такая как светодиоды WS2812, 60 светодиодов на метр (6 долларов США)
  • Модуль bluetooth, такой как HC-05 (3 доллара США)
  • Макетная плата (1,5 доллара США)
  • Источник питания 5 В, способный выдавать 4 А или более
  • Несколько электрических проводов
  • Смартфон под управлением Android и приложение Bluetooth Electronics от KeuwlSoft.
  • Некоторые куски древесноволокнистых плит средней плотности (МДФ, один толщиной 3 мм и один толщиной 10 мм)
  • Прозрачная пластина из оргстекла или плексигласа (от 15 до 20 долларов США)
  • Зеркальные и полуотражающие зеркальные самоклеящиеся пленки (от 4 до 15 у.е.)
  • Разъемы, резисторы и одна емкость 1000 мкФ
  • Немного клея и изоленты.
Изображение
Изображение

Принципиальная схема геометрии часов

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

Схема выше объясняет геометрию часов. Светодиодная лента помещается между двумя зеркалами. Конечно, вам понадобится 60 таких светодиодов на полосе. Вы можете найти в Интернете светодиодные ленты с 60 светодиодами на метр, так что одна из них хороша. Тогда периметр светодиодного круга равен 1 м, его диаметр составляет 100 / PI = 31,8 см (приблизительно 12,53 дюйма).

Подготовьте свои компоненты

Вырежьте круг такого диаметра из плиты МДФ толщиной 3 мм. Для этого я пошел в местную фабрику и попросил использовать лазерный резак. Они даже могут сделать это за вас, если вы любезно попросите и пойдете с доской: это займет всего несколько секунд. Пока вы там, вырежьте тот же диск на пластине из оргстекла.

Из плиты МДФ у вас теперь есть диск и плита с круглым отверстием. Оставьте их на потом.

Чтобы светодиоды оставались на месте, вырежьте из МДФ толщиной 1 см тонкий цилиндр того же диаметра. Толщина не важна, если она не слишком хрупкая. Светодиодная лента будет размещена внутри этого цилиндра, поэтому важно, чтобы внутренний периметр совпадал с длиной полосы. Слишком длинные или слишком короткие, а некоторые светодиоды могут располагаться неравномерно, поэтому будьте очень точны.

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

Вы также можете…

Также здесь можно использовать прозрачные или цветные оргстекло вместо МДФ. Оргстекло бывает разных цветов, от черного до желтого, зеленого и фиолетового, так что не стесняйтесь пробовать их.

Изображение
Изображение

Fablab знает, как их резать, а резка оргстекла очень «чиста» по сравнению с деревом, которое может «гореть» (я имею в виду изменение цвета из-за лазерной энергии) на лазерном пути. Зеркальное оргстекло тоже существует, что избавит вас от покупки зеркальной пленки. Просто помните, что при резке нужно направить лазер на заднюю сторону зеркала …

Ниже представлены файлы геометрии для лазерной резки.

Шаг 2: соберите часы

Соберите часы
Соберите часы
Соберите часы
Соберите часы
Соберите часы
Соберите часы
Соберите часы
Соберите часы

Чтобы сделать часы, вам просто нужно собрать детали по схеме.

Подготовить дело

Сначала приклеиваем на диск МДФ зеркальную пленку. Это будет нижняя часть часов.

Во-вторых, наклейте полупрозрачную пленку на диск из оргстекла. Это формирует переднее стекло часов. Этот диск будет вставлен в пластину МДФ, в круглое отверстие: при необходимости приклейте столярным клеем или силиконовой резиной.

Наконец, подготовьте светодиоды. В светодиодах WS2812 используются 3 контактные площадки: источник питания, земля и команда. Если уже подключено 3 электрических провода, просто используйте их. В противном случае припаяйте 3 провода к контактным площадкам. Помните, что светодиоды - это поляризованные устройства: это означает, что ток течет только в одном направлении. Это направление указано на полосе стрелкой. Затем следует припаять провода на конце полосы, откуда идут стрелки (а не на том конце, на который указывают стрелки).

Вставьте светодиоды внутрь толстого цилиндра из МДФ и соберите 3 части с помощью клея и / или ленты.

Изображение
Изображение

Тогда электронная часть

Поместите Arduino в макетную плату и создайте схему, как показано выше. Убедитесь, что все заземления (GND) подключены (GND от Arduino, модуль HC-05, светодиодная лента и питание).

  • Контакты RX и TX модуля Bluetooth HC-05 подключены к контактам D3 и D2 Arduino.
  • Линия данных светодиодной ленты подключена к контакту D12, вы можете вставить резистор на 300 Ом между ними, если он у вас есть.

Если вы хотите изменить контакты, измените их определения в коде соответствующим образом (строки 7 и 13 ino-файла).

Обратите внимание, что для модуля HC-05 требуется делитель напряжения для вывода RX, как показано ниже. Итак, вам понадобится один резистор на 1000 Ом и один резистор на 2000 Ом.

Изображение
Изображение

Питание используется как для Arduino, так и для светодиодной ленты. Сначала подключите конденсатор емкостью 1000 мкФ к винтовой клемме (домино). Вы можете использовать быстрый соединитель, если он у вас есть. Подробнее см. Здесь.

Изображение
Изображение

Этот конденсатор также может быть поляризован: убедитесь, что выводы + и - подключены к + и - источника питания. Как видно на изображении конденсатора, ножка - помечена большим знаком минус.

Изображение
Изображение

Затем к разъему вставьте электрические провода, чтобы соединить светодиодную ленту и плату Arduino. Как сказано выше, все GND должны быть соединены вместе. От положительного потенциала источника питания подключите провод 5V полосы и протяните провод к выводу 5V Arduino: пока оставьте его неподключенным, вы подключите его в конце.

Проверить все… дважды

Дважды проверьте все соединения … Используйте мультиметр, если он у вас есть, чтобы проверить целостность цепи.

Если все правильно, ваши часы почти готовы. Пока не поставляйте его.

Шаг 3. Загрузите код

Загрузите код
Загрузите код
Загрузите код
Загрузите код
Загрузите код
Загрузите код
Загрузите код
Загрузите код

Программируем

Чтобы загрузить код в Arduino nano, используйте Arduino IDE. Поместите все файлы в папку «Horloge_LED3_nano_BTOK» в папке Arduino. Откройте IDE, выберите правильные параметры (тип платы, COM-порт и т. Д.) И нажмите кнопку загрузки.

Изображение
Изображение

Установите на свой смартфон Android приложение Bluetooth Electronics, вы легко найдете его в Google Play. Загрузите файл «BluetoothElectronicsCode.txt» из этого руководства и измените расширение на zip: вы получите zip-архив с кодом интерфейса смартфона для работы с Bluetooth Electronics.

Когда будете готовы, подключите источник питания. Загораются светодиоды, модуль HC-05 также светится в поисках подключения. Запустите приложение Android и следуйте инструкциям по сопряжению модуля Bluetooth со смартфоном. Когда будете готовы, запустите HMI: вы готовы к игре!

Обратите внимание, что…

Первый светодиод ленты нужно разместить сверху часов. Если вы не поместили его туда, вы можете изменить значение параметра смещения в коде (строка 65 ino-файла). Он позаботится об этом.

Когда вы приклеивали светодиодную ленту внутрь неглубокого цилиндра, было 2 варианта: либо полоса поворачивалась по часовой стрелке, либо против часовой стрелки. Если вы сделали это неправильно, стрелки часов повернут не в ту сторону! Не стоит беспокоиться. Просто измените значение логической переменной sens_horaire на true (строка 77 ino файла)

Изображение
Изображение

Шаг 4: Наслаждайтесь

Наслаждаться!
Наслаждаться!
Наслаждаться!
Наслаждаться!
Наслаждаться!
Наслаждаться!

Последняя настройка…

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

  • Hxx: установите часы на xx (например, H4)
  • Myy: установите минуты (например, M15)
  • Szz: установите секунды (например, S30)

Команды можно объединить в цепочку, вставив между ними звездочку, например: H4 * M15 * S35

Установка часов и / или минут обнулит секунды.

Затем вы увидите, что час отслеживается КРАСНЫМ светодиодом, а минуты - ЗЕЛЕНЫМ светодиодом:

Изображение
Изображение

Сейчас 9:52:00!

Цвет секунд можно изменить с помощью ползунка на HMI.

Изображение
Изображение

Когда вы перемещаете ползунок, маленький кружок с правой стороны показывает текущий цвет. Когда ползунок останавливается, он отправляет цвет на часы, и индикатор секунд соответственно изменяется.

Ползунки АНИМАЦИЯ и ПАЛИТРА можно использовать для выбора и настройки световой анимации на часах. Протестируйте их и посмотрите видео для некоторых примеров. Когда вы меняете некоторые настройки в HMI, небольшая консоль показывает ответ от Arduino.

Анимация…

  • 0: просто отображает время, вы можете изменить цвет секунд с помощью ползунка.
  • 1: Цветной фон (можно изменить цвет) переменной амплитуды.
  • 2: Вращающаяся радуга
  • 3: Цветная полоса (которую можно изменить), которая делает один оборот в секунду.
  • 4: Цветная полоса, отражающаяся от секундной стрелки.
  • 5: Цветной фон (вы можете изменить палитру) случайной амплитуды.
  • 6: просто отображает время, секундная стрелка изменяет свою амплитуду свечения.
  • 7: Вращение флажков (измените палитру, чтобы изменить флаг среди 4 возможных)
Изображение
Изображение

Французский флаг - 7:11:51

Недавно была добавлена еще одна анимация, которая меняется каждые 15 секунд для случайно выбранной анимации.

Кнопка MINUTES включает и выключает белые светодиоды каждые 5 минут на часах.

Изображение
Изображение

7:11:25

Обратите внимание, что видео и фото были сняты на смартфон и поэтому имеют плохое качество. На часах цвета намного ярче и точнее, чем на видео …

Что еще?

Надеюсь, вам понравятся эти часы бесконечности. Еще многое предстоит сделать: вы можете покрасить переднюю пластину из МДФ, чтобы сделать ее красивее, добавить еще одну светодиодную полосу на внешней стороне цилиндра, чтобы создать анимированный свет на стене и т. Д.

Изображение
Изображение

Шаг 5: Новая версия для точного времени

Часы Arduino nano имеют тенденцию дрейфовать во времени, поскольку у них нет точных часов. Я сделал другую версию, используя часы реального времени (RTC), чтобы сохранять точное время.

RTC существуют в разных моделях, рекомендую использовать модуль DS3231, который очень точен (по сравнению с DS1307). Эта новая версия программы использует библиотеку MD-DS3231, доступную здесь. Просто создайте новую папку Horloge_LED3_nano_BT_RTC в папке Arduino и загрузите все файлы.

Подключите DS3231 как устройство I2C, то есть SDA к A4 и SCL (или SCK) к A5

Во-первых, вам нужно установить время RTC. См., Например, этот Instructables или этот учебник.

Загрузите файл Horloge_LED3_nano_BT_RTC.ino на свой Arduino nano и запустите его. Время обновляется каждые 30 минут, поэтому часы всегда остаются точными.

Конечно, вам необходимо иметь батарею в модуле RTC, потому что она поддерживает работу RTC, даже если она не поставляется Arduino, и может поддерживать точное время.

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