O-Clock простые часы на матрице 8х32
- Войдите на сайт для отправки комментариев
Приветствую всех. Давно хотел сделать часы на матрице 8х32. Сначала решил взять уже готовый проект. Но посмотрев несколько вариантов понял, что меня они не устраивают. Хотел модернизировать исходники, но как обычно проще все написать с нуля. Собственно, что и сделал. Часть идей позаимствовал в других проектах. Что хотел получить: простые и удобные часы-будильник, без лишнего функционала. Код написан очень просто, его легко модернизировать под себя.
Что они умеют: показывают время большими анимированными цифрами, показывают температуру и влажность, показывают дату. Можно настроить текущее время. Время срабатывания будильника. В качестве звонка играет мелодия, которую можно выбрать (прошито 5 мелодий). Для будильника можно задать дни недели срабатывания.
Проект выложил на GitHub:https://github.com/vikonix/O-Clock
Используется Arduino Nano, линейная матрица 8х32, часы DS3231, датчик влажности BME280.
Для управления используется 3 кнопки, но достаточно 2-х. Есть регулятор яркости на фоторезисторе. Звук - пассивный пьезо излучатель.
Проект можно собрать под Arduino IDE или под PlatformIO.
Чего не делал: нет информера, пока не вижу ценности для простых часов. Нет русских букв, так как нет нужных символов в шрифте. Дальнейшее развитие будет зависить от собственных потребностей или он предложенных идей, котрые меня заинтересуют.
А можно посмотреть видео, как все это выглядит?
Да конечно, картинки и видео сделаю.
Часы на макетной плате.
Видео работы на Youtube
https://www.youtube.com/watch?v=nfpqMhbTryE
Часики супер. Сегодня вечером попробую собрать
Буду рад если понравятся.
Нарисовал схему.

Получилось ура! Спасибо за проект) Есть вопрос, какой именно фоторезистор вы используете? И ещё, один светодиод тусклей всех светится, не пойму с чем связанно.
По поводу пожеланий, хотелось бы информер в виде бегущей строкой с датой и информацией с датчиков, и такой вид цифр, понимаю вкусовщина, но мне прям зашло)))
Первые мои часы, не устану говорить спасибо. Очень порадовал проект!
Рад что все получилось.
Фоторезистор китайский: 5528 Light Dependent Resistor LDR 5MM Photoresistor
Яркость отдельной точки, это какая-то особенность конкретной матрицы.
Информер пока делать не планирую.
Шрифт часов легко можно подправить под себя, нужно исправить следующую структуру
вместо 16-ричной цифры '0x7e' можно прописать отдельные биты '0b01111110'.
здесь каждая цифра описывает один столбик цифры. В цифре 6 столбиков. Старший-левый бит нижняя точка, правый младший - верхняя точка. Если ошибиться с битами, ничего страшного, будет просто не правильная цифра, можно менять по одной цифре.
Если бы я бы только умел программировать...))) Вообще не шарю в этом. Но все же спасибо)
Если бы я бы только умел программировать...))) Вообще не шарю в этом. Но все же спасибо)
там вообще не нужно программировать )
просто в любом редакторе подправить сами буквы
и пересобрать проект
могу помочь
нужно написаль любую цифру в виде 0или1, 1-светится
например 2 из примера
11111011
11111011
11011011
11011011
11011111
11011111
Если смотреть боком, то единицы образуют цифру 2
Понял, буду пробовать
Нужно сохранить все запятые и перед каждой цифрой писать 0b
0b11111011,
0b11111011,
0b11011011,
0b11011011,
0b11011111,
0b11011111,
Исправил ошибку с вычислением дня срабатывания будильника.
Добавил автоманитеский вывод темперетуры и даты каждую минуту.
Получилось)
Круто!!!
Можно еще и мигающее двоеточее подкрутить.
Например чтобы точка прыгала вверх-вниз
или просто мигало
или менялось крестиком )
Исправил потенциальную ошибку с миганием курсора.
Добрый день.
Ошибка при компиляции в Alarm.h. Подскажите, как исправить ? IDE 1.8.9.
Добрый день.
Эта функция находится во внешней библиотеке RTCLib
Какая у Вас установленна версия? У меня используется 1.2.1
У меня кстати, такая же версия IDE 1.8.9.
name=RTClib
version=1.2.1
author=Adafruit
Все библиотеки скопировал в SRC. Вызываю так - #include "RTClib.h"
Все библиотеки скопировал в SRC. Вызываю так - #include "RTClib.h"
Более правильно настроить версии библиотек в самом IDE
Меню Sketch->Include library->Manage libraries...
В поле поиска ввести "rtclib" и посмотреть, что будет найдено.
Решил, еще в main.cpp исправил на #include "RTClib.h". Всем спасибо.
Сейчас судя по всему конфлики версий библиотеки в IDE и локальной в проекте
Да, разница между #include "RTClib.h" и #include <RTClib.h> огромная.
Подправил позицию курсора при выставлении даты.
Сделал несколько исправлений. В частности сдвинул цифры в середину. Точка активности будильника сливается с некоторыми цифрами, но вроде не сильно мешает.
Если есть цифровой шум в зумере на высокой яркости нужно добавить электролит 470 мкФ и керамику 0.1 мкФ по питанию.
Собрал часики, пока на макетке. Работают замечательно. Есть вопрос к автору: как добавить показ давления в автоматическом режиме?
Чтобы показывать давление нужно немного подправить код. В общем не сложно.
У меня простой вопрос, зачем оно нужно. На сколько я знаю, само по себе значение давления ничего не говорит. Интерес представляет изменение давление (повышение/понижение) и скорость изменения. Или я чего то не понимаю?
Так-то оно конечно. Обычно при изменении давления меняется погода. Многие люди страдают метеочувствительностью, реагируют на смену погоды. Но как я понимаю в данном проекте реализовать график давления непросто. Если же выводить цифровое значение давления на экран, то зная нормальное давление в своем регионе можно знать его отклонение от нормы. Датчик BME280 есть, даже строки в коде на показ давления есть (закоментированные). Я смог сделать только показ давления и перевести его в мм.рт.ст, но для этого пришлось закоментировать строки показа температуры и влажности. Не хватает у меня знаний и опыта :( Если не сложно, помогите, буду весьма признателен.
VladimirSPB, если вас интересует, как сделать график давления, посмотрите, как делал его я в своем проекте Еще одни часы на матрицах. Конечно, просто так выдрать его оттуда не получится, но если разобраться в его работе (код построения графика там не очень большой - всего два-три десятка строк), то сложностей с адаптацией возникнуть не должно.
Не хватает у меня знаний и опыта :( Если не сложно, помогите, буду весьма признателен.
Хорошо добавлю.
Спасибо! Я смотрел Ваш проект, даже прикупил отдельные матрицы под него, наверно со временем сделаю. У меня работают на даче часы на матрицах http://arduino.ru/forum/proekty/chasy-na-matritsakh а графики давления строит барограф http://arduino.ru/forum/proekty/arduino-barometr-barograf . Часики из этого проекта, тоже понравились хочу сделать для дома.
Добавил показ давления в hPa/гектопаскалях. В мм ртутного столба, я думаю, сами переведете?
Исходники на гитхабе.
Большое спасибо! Все отлично работает.
vikonix,VladimirSPB, добрый день, а нет ли возможности выложить скетч с давлением в mm ртутного столба. Спасибо. Буду пробовать собрать. С уважением,Юрий.
Добавил вывод давления в мм. Нужно исправить строчку в файле main.cpp:41
#define PRESSURE_IN_MM
Убрать в начале 2 символа деления //
Спасибо огромное, буду собирать на монтажке пока. Спасибо огромное
У меня на 10-ке вообще не работает среда IDE 1.8.12, ругается на приложение Jawa, что не подставляю, но 10-ка на буче варез. На 7-ке, на второй старенькой SONY буче, та же среда- все влет, а требуется, бибилотеки включать.
У меня на 10-ке вообще не работает среда IDE 1.8.12, ругается на приложение Jawa, что не подставляю, но 10-ка на буче варез. На 7-ке, на второй старенькой SONY буче, та же среда- все влет, а требуется, бибилотеки включать.
>>'const class DateTime' has no member named 'secondstime'; did you mean 'setunixtime'?
By default in compilation is used default time library from Arduino IDE.
So go to Sketch->Library->LibraryManager and input RTCLib. Then select "Install".
У меня на 10-ке вообще не работает среда IDE 1.8.12, ругается на приложение Jawa, что не подставляю, но 10-ка на буче варез. На 7-ке, на второй старенькой SONY буче, та же среда- все влет, а требуется, бибилотеки включать.
У меня все стоит на 10, все работает без проблем.
На семерке тоже все работало.
Скорее всего нужно перустановить Jawa.
I have RTClib 1.8.0 from Adafruit installed.
I reinstalled Java here as well.
I can't. It's still writing the mistake
I can't. It's still writing the mistake
1. Do you have any modification in source code?
2. Put here content of your subdirectory:
how do i insert a photo?