Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Я люблю часы! Я искал инструкцию для часов, отображающих римские цифры на экране. Когда у меня не было подходящих на базе Arduino, я решил построить сам. Вкупе с цветным TFT дисплеем мне было интересно, что еще можно отображать и альт! мысли о различных системах счисления, которые я изучал во времена моего бакалавра инженерного колледжа (более двух десятилетий назад!), хлынули мне в голову: двоичные, цифровые, восьмеричные и шестнадцатеричные и т. д.
Это заставило меня начать, и после долгого планирования и кодирования вот реализация t!
Отличительные особенности этих часов:
Мультимодальный дисплей, где вы можете отображать время в 5 различных системах счисления на одном экране или каждый числовой формат отображаться на отдельных экранах, выбираемых кнопкой
Ориентация циферблата может быть с любых 4 сторон, а данные на дисплее могут быть выровнены с ориентацией с помощью кнопки. Позже я собираюсь использовать гироскоп / датчик ускорения, чтобы ориентировать дисплей в зависимости от стороны, на которой он включен
Доступные режимы
Цифровой
Роман
Шестнадцатеричный (основание 16)
Восьмеричный (база 8)
Двоичный (База 2)
Для тех, кто плохо знаком с этими системами нумерации, вот ссылки из формата netBinary:
Восьмеричный формат:
Шестнадцатеричный формат:
Римский формат:
Шаг 1: Необходимые детали:
Необходимые предметы:
- Arduino UNO / Nano или аналогичный
- TFT-дисплей: 1,44-дюймовый 128 * 128 SPI-дисплей на базе IL9163 (заказан уже давно через aliexpress) (КРАСНАЯ печатная плата)
- Модуль DS 3231 RTC
- Кнопочные переключатели 2
- Макетная плата, печатная плата, соединительные провода
- Дополнительно: паяльник, соединительные провода общего назначения и подходящий корпус (я еще не определился с одним для этих часов)
Шаг 2: соберите схему
Используйте эти соединения между RTC и Arduino. Обратитесь к схематическому изображению, составленному вручную, для справки.
-
DS3231 ---- Ардуино
- SDAA4
- SCLA5
- Vcc 5V (от Arduino)
- GNDGND (от Arduino)
-
Arduino ---- TFT-дисплей
- 9A0
- 10CS
- 11SDA
- 13SCK
-
Подключения Arduino
- ВКК-5В
- GND-GND
- 2GND с помощью кнопки (кнопка изменения режима отображения-Bin / Hex / Dec / All)
- 3GND с помощью кнопки (кнопка изменения ориентации дисплея)
-
Подключения дисплея
- VCC3.3V (от Arduino)
- GND-GND
- СБРОС: 3,3 В
- LED5V (от Arduino)
Шаг 3: Загрузите код
Используйте прикрепленный файл.ino для всего кода с комментариями, которые не требуют пояснений!
Шаг 4. Наслаждайтесь творчеством и планируйте дальнейшие улучшения
У вас на столе красивые и вызывающие часы часы, и есть много места для новых идей.
- Измените отображение или обновите только определенные части экрана, чтобы ускорить обновление дисплея (в этой текущей реализации иногда не отображается секунда из-за обновления всего экрана)
- Добавьте плату гироскопа / акселерометра и соответствующий код для регулировки поворота дисплея в соответствии с ориентацией корпуса.
- Дайте волю своему воображению…
И последнее, но не менее важное: если вам нравятся мои часы, проголосуйте за них в текущем конкурсе часов.