Часы на TM1637 и DS1302 с будильником.
HTML-код
- Опубликовано: 3 окт 2024
- Мой вариант часов на семисегментном индикаторе ТМ1637 с настройкой времени и будильника, а так же индикацией температуры. Ниже ссылка на проекты и пользовательские блоки для программы FLProg.
yadi.sk/d/ft1C...
Тут же модифицированная библиотека дисплея.
Ссылка на скетч ардуино: yadi.sk/d/UVla...
Тоже перерыл весь ютуб, а тут то что надо, спасибо автору
Часы выглядят очень симпатично, без разных излишеств, спасибо !!!
Супер!на будильник прикрутить МП3 плеер и ВаЩе Класс будет!Спасибо за толковое видео.
Обалденно. Было бы здорово если на вход подорвался бы "String" и с помощью сложения строк выбирать какой сегмент и что должен отображать. Тогда можно было бы подключить и датчик давления на вроде BMP180. И все равно это великий труд. П.С. Вместо кнопок выведу на ИК приемник для пульта телевизора ))) . Тогда не придется вставать выключать будильник.
Hi, did you manage to place the IR Sensor? If so, could you share the sketch?
лайк, красиво всё нарисовал в флпрог, собирался тоже часики сделать, но теперь твои возьму, за доработанные блоки спасибо, пригодятся
Скетч перенасыщен конструкциями 'if...' и 'if...else'! Хотя конструкция 'switch...case' позволяет управлять процессом выполнения программы более гибко, быстрее и занимает меньше памяти.
Так же в коде постоянно используются функции: 'digitalWrite' и 'digitalRead', а так же 'pinMode', которые, безусловно, просты в использовании, но очень сильно замедляют выполнение кода программы!
К примеру: выполнение 'digitalWrite()' занимает 1800 мкс, в то время как конструкция PORTA=B00001010 выполняется всего за 0,2 мкс (в 9 000 раз быстрее!), 'digitalRead()' потратит 1900 мкс против 0,2 мкс, которые потребуются оператору 'PINA==B00000010' (в 9500 раз быстрее!) и т.п.
Писал не сам (не умею). Код генерирует программа. Создано в визуальном редакторе. Об оптимизации кода тут речи не идёт от слова совсем...
Добрый день. Я не могу открыть скетч. Можете скинуть скетч в коментарии?
Добрый день! А можно ли подключить два индикатора ТМ1637, что бы на одном были часы, а на другом температура?
Можно. Но придётся менять программу.
That's what I wanted to do; You did it?
Тормознутость зависит от мышки. Это не шутка и не тролинг.
Спасибо.
Спасибо! Отличное видео! Схема подключения - красивая и понятная, но на ней нет датчика температуры?
Должен быть сверху справа на первой схеме в flprog, рядом с модулем дисплея.
@@jafarxxl Спасибо! Просто я на маке - там нет flprog Ну, ладно - разберусь
Сейчас попробовал, ссылка открылась... Напишите почту и что именно хотели получить.
Здраствуйте. Я с интересом посмотрел ваш проект. Интересный подход. Меня интересует функция регулировки времени срабатывания длительности сигнала будильника. Я ниукого не могу найти эту функцию. Возможно ли применения этой функции в вашем проекте? С уважением Сергей.
Если вы имеете ввиду отключение будильника не через минуту, а произвольный промежуток времени - можно. Надо только изменить условия сброса триггера отвечающего за включение сигнала. Вместо инвертированного сигнала с блока будильника можно использовать таймер (если его добавить). Это как вариант.
@@jafarxxl спасибо за совет . Буду думать. С уважением Сергей.
Здравствуйте! Подскажите, пожалуйста, а в блоке TM1637_Temp (по времени ролика 8:53) тоже присутствует знак градуса? Хочу сделать автоматическое включение вентилятора по температуре. Но чтобы уж совсем красиво было - помимо цифр ещё значок отображался чтобы. Идея такая: в нормальном режиме на индикаторе будет отображаться текущая температура окр.воздуха, а при нажатии на кнопку (или вращении энкодера) будет изменяться уставка для включения вентилятора. Хорошо бы чтобы при изменении ещё и значение уставки мигало, а потом, спустя время, опять постоянно отображалась окружающая температура. Пока думаю над реализацией задуманного. Спасибо за труды!
Да, там есть знак градуса. В ролике рассказано про модификацию библиотеки и там видно все отображаемые буквы и символы.
@@jafarxxl Спасибо! А можете подсказать, как Вы добавляли в библиотеку новые символы? Я так понял изменяли файл .cpp. Но в проект то можно добавлять только .ubl и .ubi. Как Вы "привязали" изменённый .cpp к .ubi? В интернете нашёл ещё кое-какие символы, которых у Вас нет, хочу добавить
@@samreliabling6657 библиотека подтягивается при компиляции проекта. Вы просто подменяете библиотеку на модифицированную. Если зайдёте в редактирование пользовательского блока с использованием кода, то там увидите какие библиотеки использует блок.
@@jafarxxl Спасибо большое, буду теперь знать!
Расскажи для меня одну загадку связанную с работой этого блока индикатора. Как вывести отрицательное число, то есть со знаком "-" ? Например "-3" не один блок не отображает такие числа со знаком мину...
Я не помню, возможно такой задачи не стояло. Следовательно возможность отображения отрицательных значений под вопросом. Надо освежать память. Мои часы уже разобраны.
а можно нормальный скетч для ардуино?
Присоединяюсь к просьбе о скетче для Ардуино. У меня МАК и он не работает с FLProg. Спасибо за интересное видео!
Добавил в описание
jafarxxl спасибо за скетч
вы можете открыть в Эф прог, и он перед заливкой в проц переведёт в обычную ино програмку, ))
vitek8573 спасибо
Куча файлов, но я ничего не понял, зачем все они и где сам скетч заливки в ардуино?????
K5072014 Fox скетч для ардуино ide не сохранял. Он компилируется из программы.
@@jafarxxl А можно еще раз скомпилировать из программы и сохранить для Ардуино ID? Присоединяюсь к просьбе о скетче для Ардуино. У меня МАК и он не работает с FLProg. Спасибо за интересное видео!
@@MrSimpotic Да конечно. Чуть позже выложу в формате ардуино.
вы можете открыть в Эф прог, и он перед заливкой в проц переведёт в обычную ино програмку, ))
@@vitek8573 готовый скетч в описании.
Nie działa. Źle działają przyciski, wyświetlanie temperatury. Nie można ustawić daty. Kicha.
Не работает. Кнопки и индикация температуры не работают. Не удалось установить дату.
Здравствуйте ещё раз!!! Ещё вопросик. В блок DS18b20 куда записывать порт датчика?
В настройках блока в программе FLProg. Блок пользовательский, указывается только пин к которому подключен. Мой датчик со стандартными блоками не работал, только с тем что есть в проекте (китай блин...)
Здравствуйте, на основе ваших библиотек и модулей, написал свои часы. В основе-Node MCU. Для вывода использую тот блок, где одновременно температура и время. Но! Вместо значка градуса(0x63) выводится 0x69. Никак не могу понять как это происходит. В библиотеках проверил- там ничего не менял.
Я не на столько с программированием дружу... Была идея, был дисплей, экспериментировал согласно найденной на просторах тырнета таблицы символов и их кодировки. Боюсь на вскидку сейчас не подскажу....
А вот node mcu интересно. Если не сложно поделитесь своим вариантом на for-register @bk.ru буду признателен.
Разобрался. Оно хавало не ту библиотеку. А в той небыли прописаны все символы. Но, кстати, вашу библиотеку "TM1637.cpp" оно тоже хавать не хочет. Там есть раздел про I2C в начале, если я правильно понял структуру и вот на этот раздел ругается. Пришлось дополнить таблицу символов в съедобной библиотеке и всё заработало.
@@jafarxxl отправил вам скетч в формате flprog. Долетело?
@@АртемБеликов-е5д Да, спасибо.
А как добаить еще один вход, что бы влажность отображать? И как изменить знак С на h?
Код делал в flprog. Там можно добавить вход. В архиве есть коды символов для библиотеки.
Доброго времени суток, друзья. Подскажите, пожалуйста, как именно подключается лампочка будильника? На изображении "Clock alarm" не смог найти.
Смотрите первый блок сверху в середине (в проекте flprog), там где переключение режимов индикации.
Добрый вечер. Подскажите, пожалуйста. Мне нужно вывести на ТМ1637 слово из 4 букв, которые есть в списке символов. Если я ввожу в поле "Н - часы" число 173, то на дисплей высвечивается "Н3" в разделе "часы". Как вывести, например, "НН" или слово "PUSH"? Ведь при вводе, например, 1717 - выдается неведомая фигня. Библиотеку установил, все настроил, но во втором и четвертом разряде не могу получить буквы. Спасибо!
Есть библиотека у Алекса Гайвера. Там и строки и слова с прокруткой и затухания. И еще куча эффектов. Если еще актуально, конечно.
@@dj_Romeo уже давно разобрался, но спасибо)
И еще такой вопрос , в ссылке yadi.sk/d/UVlaqmPtHMZhXA находится файлAlarmClock.ino . Этот скетч записан под плату Ардуино UNO или под NANO (168) ?
При заливке выберете свою ардуинку. Скетч не привязан к контроллеру.
Спасибо за оперативность с ответами !!! Будем пробовать !!!
будильник выставить нельзя, на рисунке аналоговый датчик lm35, а в видео цифровой, зря потраченное время.
У меня lm35 никогда не было...
Добрый день !!! А у меня проект не может найти библиотеку для ТМ1637.Подскажите как установить ее с вашими изменениями . Стандартную библиотекуТМ1637 ставлю, но она для компиляции не хочет приниматься. Даже в программеFLProg. (версия 3.0.3), при компиляции вашего проекта пишет , что не найдена библиотека ТМ1637.
В описании скетч для ардуино, с ним проблемы? Или из программы не хочет?
При компиляции в программе FLProg. (версия 3.0.3), выдает , что не найдена библиотека ТМ1637. И как следствие в среде Ардуино при загрузке программы в плату , выдает ошибку, что нет библиотеки ТМ1637. Хотя в списке библиотек она находится.
Изменения приведенные в файле " Скрин-77.png" надо в ручную вводить в библиотеку ТМ1637? Или же они уже там прописаны ?
@@kvk-ut уже прописаны. Тут список возможных для отображения символов.
Хорошо , попробую еще поработать с библиотеками !!!
Собрал часы все работает но на дисплеи бывает выскакивают то 1 то 9 как мне это исправить заранее спасибо!!!!
Сейчас уже не скажу. Давно дело было. Уже даже прототип не сохранился.
@@jafarxxl я уже понял в чем была причина контакт плохой. А сейчас все заработало.
Здравствуйте!!! У меня почему-то вместо знака градуса показывает 8. Не скажете что не в порядке?
К сожалению уже точно не скажу. Мой вариант давно разобран, и деталей я не помню.Но знак градуса вроде прописан в библиотеке которую немного модифицировал. Возможно сюда копать надо. В описании ссылка на архив, там библиотека эта есть и сейчас добавил скетч для arduino IDE.
@@jafarxxl а как и где её заменить или куда библиотеку поставить?
@@arduin80 Библиотеку подключить в Arduino IDE как любую другую. Скачиваете, скетч - подключить библиотеку - добавить ZIP библиотеку...
@@jafarxxl а библиотеку брать у вас в папке с блоками то что я скачал? Я имею ввиду исправленную вами.
Не работает. Требует библиотеку rtc, которую автор не выложил.
yandex.ru/search/touch/?text=ds1302%20%D0%B1%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0%20%20rtc&lr=213
Подскажите пож. какой используется датчик температуры и куда он по этой схеме подключается ? yadi.sk/i/AL1-jJzKAs2vnQ
DS18B20, на рисунке рядом со светодиодом. На рисунке на маркировку можно не смотреть, воткнул наиболее похожее по внешнему виду.
Ага. разобрался, вначале подумал, что там два светодиода :)У Вас на видео их показано два.
Вариант файла проекта флпрог без будильника Clock_for_work не компилируется так как в блоке TON нет времени задержки, стоит 0 мсек, ставишь не ноль, тогла компилируется, сколько надо ставить милисек ?
pr17:285: error: expected primary-expression before ';' token
{_swi4=;}
Сейчас компа под руками нет, в понедельник гляну.
@@jafarxxl Твой блок для тм1637 ещё посмотри, при гашении минут или часов сегменты не все гаснут, остаётся сегмент нижний от единицы, а так нужен твой блок, может битый какой ? Причом оба блока и с термометром и без, попробовал оба. Открывал в флпрог 3.1.2
Подредактировал... было так
else {
TimeDisp[2] = 35;
TimeDisp[3] = 35;
сделал
else {
TimeDisp[2] = 36;
TimeDisp[3] = 36;
Нормально заработало
@@АлексейКучеренко-х1ч Что самое интересное, блоки те, что в проекте на видео.
заметил ещё один косяк, зачем задержка delay в блоках с выводом температуры ?
tm1637.set(Bright);
tm1637.display(TimeDisp);
delay(250);
Ардуина начинает тупить конкретно
Здравствуйте. А что делать если время не подтягивается с компьютера?( все работает но вот время постоянно 00:00 как исправит помогите пожалуйста.
Время руками. Синхронизацию по пк не делал вроде. Сейчас уже не помню.
@@jafarxxl а как там хоть начало кода где время выставить нужно ? а то у меня 1 раз как то получилось .. а потом села батарейка и все.. даже после того как вставил новую перезаписал скетч время 00:00..
@@vladislavzabudko3700 смотреть с 2:40
@@jafarxxl спасибо но у меня только одна сенсорная кнопка для переключения режимов.. решил проблему прошивкой памяти ds1302 и все заработало) спасибо за помощь
Кстати и у меня комп на этой программе тормозит безбожно, проц I7, 16 гиг оперативы, видяха форза 1060 6 гиг, и один хрен тормоза, я так подозреваю не оптимизирована под дрова видюхи или под чипсет мамки, когда то давно на старых версиях программы тормозов не было и с выходом какой то версии начало тормозить, всё ждал что исправят... до сих пор жду :) всякую хрень в программу прикручивают а оптимизацией не займутся ни как
У меня сейчас i5, 16 гиг, 1060 6гб. На видео gf 650ti 2g. Есть мысли по поводу многопоточности камня, но это тольуо теория.
Я новичок в этом деле. Скажи пожалуйста где глянуть куда какой провод подключать. Ну ни как не въеду.
Чуть позже в описание добавлю подключение.
yadi.sk/i/AL1-jJzKAs2vnQ
@@jafarxxl Спасибо!
@@jafarxxl Я на видео не увидел ни одного сопративления как на схеме. Скажи пожалуйста, можно ли без них обойтись, ккакую они роль выполняют? Компонены купил, первый раз буду что либо собирать. Боюсь чёньть сжечь. Знаний пока ещё не достаточно.
@@СергейКузнецов-з9ю Это подтягивающие сопротивления реализованные программно . Они нужны как защита от дребезга контактов и ложных срабатываний.
Спасибо