Оглавление:
- Что такое часы бесконечности?
- Начнем сейчас …
- Шаг 1. Что вам нужно?
- Подготовьте свои компоненты
- Вы также можете…
- Шаг 2: соберите часы
- Подготовить дело
- Тогда электронная часть
- Проверить все… дважды
- Шаг 3. Загрузите код
- Программируем
- Обратите внимание, что…
- Шаг 4: Наслаждайтесь
- Последняя настройка…
- Анимация…
- Что еще?
- Шаг 5: Новая версия для точного времени
Видео: Бесконечные часы, управляемые смартфоном: 5 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
Я видел много проектов 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, и может поддерживать точное время.
Рекомендуемые:
Часы со словами, управляемые 114 сервоприводами: 14 шагов (с изображениями)
Word Clock, управляемый 114 сервоприводами: что имеет 114 светодиодов и всегда работает? Как вы, возможно, знаете, ответ - часы со словами. Что имеет 114 светодиодов + 114 сервоприводов и всегда в движении? Ответ - эти часы с сервоуправлением. Для этого проекта я объединился с моим другом, который
Управляемые смартфоном неопиксели (светодиодная лента) с приложением Blynk через Wi-Fi: 6 шагов
Неопиксели, управляемые смартфоном (светодиодная лента) с приложением Blynk через Wi-Fi: Я создал этот проект после того, как меня вдохновили неопиксели, управляемые смартфоном, в доме друзей, но его были куплены в магазине. Я подумал: `` Как сложно сделать самому, это было бы намного дешевле! '' Вот как. Примечание: я предполагаю, что вы
Светодиодные индикаторы Bluetooth, управляемые смартфоном (с синхронизацией живой музыки): 7 шагов
Управляемые смартфоном светодиоды Bluetooth (с синхронизацией живой музыки): мне всегда нравилось строить вещи, после того, как я обнаружил, что в моем новом общежитии колледжа было ужасное освещение, я решил немного оживить его. *** ПРЕДУПРЕЖДЕНИЕ *** Если вы строите этот проект в том же масштабе, что и моя установка, вы будете работать с приличным количеством элементов
Штабелируемые шестиугольные бесконечные зеркала: 5 шагов (с изображениями)
Штабелируемые шестигранные зеркала бесконечности: Итак, я получил Arduino, и это мой первый проект. Я получил вдохновение, когда просматривал этот сайт и пытался сделать простой проект для себя. Кодирование - не моя сильная сторона, поэтому я должен был сделать его простым и хотел сделать его более сложным
Схема обучения NANO: одна печатная плата. Легко учить. Бесконечные возможности: 12 шагов (с изображениями)
Схема обучения NANO: одна печатная плата. Легко учить. Бесконечные возможности: начать заниматься электроникой и робототехникой поначалу может быть довольно сложно. Вначале нужно многому научиться (проектирование схем, пайка, программирование, выбор правильных электронных компонентов и т. Д.), А когда что-то пойдет не так, как надо