Главная » Arduino
Призовой фонд
на октябрь 2020 г.
1. 1500 руб
Сайт Паяльник
2. Тестер компонентов MG328
Сайт Паяльник
3. 150 руб.
От пользователей


Педальный переключатель, 220В, 10А

O-Clock – простые часы-будильник на Arduino и матричном индикаторе 8х32

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

 Стал я искать готовые варианты часов, и тут оказалось, что простого и удобного варианта для повторения нет. Нужны автономные простые часы-будильник, типа собрал и забыл. Большинство вариантов представляют из себя информеры, причем ввести данные можно только с компьютера. Делать информер без доступа в интернет не вижу смысла, делать простые часы с WiFi тоже не понимаю зачем. Кроме того многие авторы забросили свои разработки. А поизучав их исходники я понял, что исправить их под себя задача мало интересная. Поэтому решил просто написать код с нуля, позаимствовав некоторые идеи у других.

Выбрал самую простую стандартную схемотехнику с минимумом деталей, но с максимумом потенциала. Написал код. Сейчас часы свою функцию выполняют. Думаю какой корпус для них сделать. Мне кажется такой вариант вполне может заинтересовать кого то еще. Поэтому решил поделиться с другими. Проект выложен на GitHub: https://github.com/vikonix/O-Clock.

Что могут часы. Показывают время большими анимированными цифрами, дату, температуру и влажность. Есть будильник, при срабатывании он играет заданную мелодию. Сейчас прошито 5 мелодий. Для будильника можно определить дни недели для срабатывания, время и мелодию. Управление осуществляется 3 кнопками, но достаточно 2-х. Логика управления совершенно простая, никакие инструкции в принципе не нужны. Код легко поддается кастомизации.

Чего сейчас нет: Русских букв, так как их пока вообще нет для маленького шрифта, который используется (или мне не встречались). Нет бегущий строки, тоже пока не вижу в этом смысла.

Теги:

Опубликована: 0 1
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (11) | Я собрал (0) | Подписаться

0
Евгений. #
В проекте нет скетча.
Ответить
0

[Автор]
vikonix #
Не знаю, что это означает.
В Arduino IDE нужно открыть файл src.ino
Ответить
0
Евгений. #
Спасибо! Просто я новичок в этом деле. Скажите, если собрать часы без датчика BME280, часы будут работать?
Ответить
0

[Автор]
vikonix #
Да все должно работать и без этого модуля.
Ответить
0
Евгений. #
Подскажите, пожалуйста, возможно ли настроить фоторезистор так, чтобы в полной темноте часы не светились вовсе? Программно.
Ответить
0

[Автор]
vikonix #
Сейчас фоторезистор используется для пересчета яркости матрицы. Яркость задается числом в диапазоне 0-15. При этом даже на минимальной яркости часы светятся. Для полного отключения нужно вызывать команду отключить матрицу.

//all these commands work on ALL segments
//display brightness: 0 - 15
void setIntensity(uint8_t level);
void setEnabled(bool enabled); // вот эту команду.

Только после отключения нужно не забывать включать обратно.

В любом случае нужно дорабатывать код.
Ответить
0
Евгений. #
То есть, при яркости 0 и вызове команды, дисплей будет полностью отключаться?
Ответить
0

[Автор]
vikonix #
А плата на всякий случай отмыта от флюса? Луженая?

Я добавил в код полное отключение матрицы в темноте.
Обновите исходники.

clock.cpp:166
int v = analogRead(Photo_Pin);
#if 0

нужно вместо 0 написать 1
#if 1

Тогда матрица будет отключаться
Ответить
0
Евгений. #
Спасибо! Смогу попробовать только через неделю.
Ответить
0
Евгений. #
В общем, удалось проверить сразу, раздобыл подтягивающий резистор 10кОм дома. По логике вещей, без фоторезистора, матрица находится в режиме яркости 0. Обновил исходники и залил новый скетч, но матрица полностью не отключилась, к сожалению. То есть, алгоритм изменения яркости остался таким же.
Ответить
0

[Автор]
vikonix #
Код подправили
нужно вместо 0 написать 1
#if 1
По умолчанию эта логика отключена
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическое сопротивление?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Raspberry Pi 2
Raspberry Pi 2
Мультиметр DT9205A Катушка Тесла
вверх