Часы на TM1637 и DS1302 с будильником.

Поделиться
HTML-код
  • Опубликовано: 3 окт 2024
  • Мой вариант часов на семисегментном индикаторе ТМ1637 с настройкой времени и будильника, а так же индикацией температуры. Ниже ссылка на проекты и пользовательские блоки для программы FLProg.
    yadi.sk/d/ft1C...
    Тут же модифицированная библиотека дисплея.
    Ссылка на скетч ардуино: yadi.sk/d/UVla...

Комментарии • 117

  • @___-ez5wu
    @___-ez5wu 5 лет назад +7

    Тоже перерыл весь ютуб, а тут то что надо, спасибо автору

  • @kvk-ut
    @kvk-ut 4 года назад

    Часы выглядят очень симпатично, без разных излишеств, спасибо !!!

  • @ElectricNail
    @ElectricNail 5 лет назад

    Супер!на будильник прикрутить МП3 плеер и ВаЩе Класс будет!Спасибо за толковое видео.

  • @100Kotia
    @100Kotia 6 лет назад +1

    Обалденно. Было бы здорово если на вход подорвался бы "String" и с помощью сложения строк выбирать какой сегмент и что должен отображать. Тогда можно было бы подключить и датчик давления на вроде BMP180. И все равно это великий труд. П.С. Вместо кнопок выведу на ИК приемник для пульта телевизора ))) . Тогда не придется вставать выключать будильник.

    • @Dancopymus
      @Dancopymus 3 года назад +1

      Hi, did you manage to place the IR Sensor? If so, could you share the sketch?

  • @АлексейКучеренко-х1ч

    лайк, красиво всё нарисовал в флпрог, собирался тоже часики сделать, но теперь твои возьму, за доработанные блоки спасибо, пригодятся

  • @Gosha_Khabarovsk
    @Gosha_Khabarovsk 3 года назад

    Скетч перенасыщен конструкциями 'if...' и 'if...else'! Хотя конструкция 'switch...case' позволяет управлять процессом выполнения программы более гибко, быстрее и занимает меньше памяти.
    Так же в коде постоянно используются функции: 'digitalWrite' и 'digitalRead', а так же 'pinMode', которые, безусловно, просты в использовании, но очень сильно замедляют выполнение кода программы!
    К примеру: выполнение 'digitalWrite()' занимает 1800 мкс, в то время как конструкция PORTA=B00001010 выполняется всего за 0,2 мкс (в 9 000 раз быстрее!), 'digitalRead()' потратит 1900 мкс против 0,2 мкс, которые потребуются оператору 'PINA==B00000010' (в 9500 раз быстрее!) и т.п.

    • @jafarxxl
      @jafarxxl  3 года назад +1

      Писал не сам (не умею). Код генерирует программа. Создано в визуальном редакторе. Об оптимизации кода тут речи не идёт от слова совсем...

  • @СвітланаДідняк
    @СвітланаДідняк Год назад

    Добрый день. Я не могу открыть скетч. Можете скинуть скетч в коментарии?

  • @pupkin204
    @pupkin204 3 года назад +1

    Добрый день! А можно ли подключить два индикатора ТМ1637, что бы на одном были часы, а на другом температура?

    • @jafarxxl
      @jafarxxl  3 года назад

      Можно. Но придётся менять программу.

    • @Dancopymus
      @Dancopymus 3 года назад

      That's what I wanted to do; You did it?

  • @vadimgl
    @vadimgl 4 года назад

    Тормознутость зависит от мышки. Это не шутка и не тролинг.

  • @alexandrlatukhin6345
    @alexandrlatukhin6345 3 года назад

    Спасибо.

  • @MrSimpotic
    @MrSimpotic 5 лет назад

    Спасибо! Отличное видео! Схема подключения - красивая и понятная, но на ней нет датчика температуры?

    • @jafarxxl
      @jafarxxl  5 лет назад +1

      Должен быть сверху справа на первой схеме в flprog, рядом с модулем дисплея.

    • @MrSimpotic
      @MrSimpotic 5 лет назад

      @@jafarxxl Спасибо! Просто я на маке - там нет flprog Ну, ладно - разберусь

  • @jafarxxl
    @jafarxxl  6 лет назад

    Сейчас попробовал, ссылка открылась... Напишите почту и что именно хотели получить.

  • @СергейЧуприян
    @СергейЧуприян Год назад

    Здраствуйте. Я с интересом посмотрел ваш проект. Интересный подход. Меня интересует функция регулировки времени срабатывания длительности сигнала будильника. Я ниукого не могу найти эту функцию. Возможно ли применения этой функции в вашем проекте? С уважением Сергей.

    • @jafarxxl
      @jafarxxl  Год назад

      Если вы имеете ввиду отключение будильника не через минуту, а произвольный промежуток времени - можно. Надо только изменить условия сброса триггера отвечающего за включение сигнала. Вместо инвертированного сигнала с блока будильника можно использовать таймер (если его добавить). Это как вариант.

    • @СергейЧуприян
      @СергейЧуприян Год назад

      @@jafarxxl спасибо за совет . Буду думать. С уважением Сергей.

  • @samreliabling6657
    @samreliabling6657 3 года назад

    Здравствуйте! Подскажите, пожалуйста, а в блоке TM1637_Temp (по времени ролика 8:53) тоже присутствует знак градуса? Хочу сделать автоматическое включение вентилятора по температуре. Но чтобы уж совсем красиво было - помимо цифр ещё значок отображался чтобы. Идея такая: в нормальном режиме на индикаторе будет отображаться текущая температура окр.воздуха, а при нажатии на кнопку (или вращении энкодера) будет изменяться уставка для включения вентилятора. Хорошо бы чтобы при изменении ещё и значение уставки мигало, а потом, спустя время, опять постоянно отображалась окружающая температура. Пока думаю над реализацией задуманного. Спасибо за труды!

    • @jafarxxl
      @jafarxxl  3 года назад

      Да, там есть знак градуса. В ролике рассказано про модификацию библиотеки и там видно все отображаемые буквы и символы.

    • @samreliabling6657
      @samreliabling6657 3 года назад

      @@jafarxxl Спасибо! А можете подсказать, как Вы добавляли в библиотеку новые символы? Я так понял изменяли файл .cpp. Но в проект то можно добавлять только .ubl и .ubi. Как Вы "привязали" изменённый .cpp к .ubi? В интернете нашёл ещё кое-какие символы, которых у Вас нет, хочу добавить

    • @jafarxxl
      @jafarxxl  3 года назад

      @@samreliabling6657 библиотека подтягивается при компиляции проекта. Вы просто подменяете библиотеку на модифицированную. Если зайдёте в редактирование пользовательского блока с использованием кода, то там увидите какие библиотеки использует блок.

    • @samreliabling6657
      @samreliabling6657 3 года назад

      @@jafarxxl Спасибо большое, буду теперь знать!

  • @explay1000
    @explay1000 3 года назад

    Расскажи для меня одну загадку связанную с работой этого блока индикатора. Как вывести отрицательное число, то есть со знаком "-" ? Например "-3" не один блок не отображает такие числа со знаком мину...

    • @jafarxxl
      @jafarxxl  3 года назад

      Я не помню, возможно такой задачи не стояло. Следовательно возможность отображения отрицательных значений под вопросом. Надо освежать память. Мои часы уже разобраны.

  • @olegbogmat7223
    @olegbogmat7223 5 лет назад +3

    а можно нормальный скетч для ардуино?

    • @MrSimpotic
      @MrSimpotic 5 лет назад

      Присоединяюсь к просьбе о скетче для Ардуино. У меня МАК и он не работает с FLProg. Спасибо за интересное видео!

    • @jafarxxl
      @jafarxxl  5 лет назад +2

      Добавил в описание

    • @olegbogmat7223
      @olegbogmat7223 5 лет назад +1

      jafarxxl спасибо за скетч

    • @vitek8573
      @vitek8573 5 лет назад

      вы можете открыть в Эф прог, и он перед заливкой в проц переведёт в обычную ино програмку, ))

    • @olegbogmat7223
      @olegbogmat7223 5 лет назад

      vitek8573 спасибо

  • @samantafox4311
    @samantafox4311 6 лет назад +1

    Куча файлов, но я ничего не понял, зачем все они и где сам скетч заливки в ардуино?????

    • @jafarxxl
      @jafarxxl  6 лет назад

      K5072014 Fox скетч для ардуино ide не сохранял. Он компилируется из программы.

    • @MrSimpotic
      @MrSimpotic 5 лет назад

      @@jafarxxl А можно еще раз скомпилировать из программы и сохранить для Ардуино ID? Присоединяюсь к просьбе о скетче для Ардуино. У меня МАК и он не работает с FLProg. Спасибо за интересное видео!

    • @jafarxxl
      @jafarxxl  5 лет назад +1

      @@MrSimpotic Да конечно. Чуть позже выложу в формате ардуино.

    • @vitek8573
      @vitek8573 5 лет назад

      вы можете открыть в Эф прог, и он перед заливкой в проц переведёт в обычную ино програмку, ))

    • @jafarxxl
      @jafarxxl  5 лет назад +1

      @@vitek8573 готовый скетч в описании.

  • @franciszeklendzianwo.1596
    @franciszeklendzianwo.1596 4 года назад

    Nie działa. Źle działają przyciski, wyświetlanie temperatury. Nie można ustawić daty. Kicha.
    Не работает. Кнопки и индикация температуры не работают. Не удалось установить дату.

  • @arduin80
    @arduin80 3 года назад

    Здравствуйте ещё раз!!! Ещё вопросик. В блок DS18b20 куда записывать порт датчика?

    • @jafarxxl
      @jafarxxl  3 года назад

      В настройках блока в программе FLProg. Блок пользовательский, указывается только пин к которому подключен. Мой датчик со стандартными блоками не работал, только с тем что есть в проекте (китай блин...)

  • @АртемБеликов-е5д
    @АртемБеликов-е5д 5 лет назад

    Здравствуйте, на основе ваших библиотек и модулей, написал свои часы. В основе-Node MCU. Для вывода использую тот блок, где одновременно температура и время. Но! Вместо значка градуса(0x63) выводится 0x69. Никак не могу понять как это происходит. В библиотеках проверил- там ничего не менял.

    • @jafarxxl
      @jafarxxl  5 лет назад

      Я не на столько с программированием дружу... Была идея, был дисплей, экспериментировал согласно найденной на просторах тырнета таблицы символов и их кодировки. Боюсь на вскидку сейчас не подскажу....

    • @jafarxxl
      @jafarxxl  5 лет назад

      А вот node mcu интересно. Если не сложно поделитесь своим вариантом на for-register @bk.ru буду признателен.

    • @АртемБеликов-е5д
      @АртемБеликов-е5д 5 лет назад

      Разобрался. Оно хавало не ту библиотеку. А в той небыли прописаны все символы. Но, кстати, вашу библиотеку "TM1637.cpp" оно тоже хавать не хочет. Там есть раздел про I2C в начале, если я правильно понял структуру и вот на этот раздел ругается. Пришлось дополнить таблицу символов в съедобной библиотеке и всё заработало.

    • @АртемБеликов-е5д
      @АртемБеликов-е5д 5 лет назад

      @@jafarxxl отправил вам скетч в формате flprog. Долетело?

    • @jafarxxl
      @jafarxxl  5 лет назад

      @@АртемБеликов-е5д Да, спасибо.

  • @explay1000
    @explay1000 4 года назад

    А как добаить еще один вход, что бы влажность отображать? И как изменить знак С на h?

    • @jafarxxl
      @jafarxxl  4 года назад

      Код делал в flprog. Там можно добавить вход. В архиве есть коды символов для библиотеки.

  • @KettleWithoutHandle
    @KettleWithoutHandle 5 лет назад

    Доброго времени суток, друзья. Подскажите, пожалуйста, как именно подключается лампочка будильника? На изображении "Clock alarm" не смог найти.

    • @jafarxxl
      @jafarxxl  5 лет назад

      Смотрите первый блок сверху в середине (в проекте flprog), там где переключение режимов индикации.

  • @smartcooler6536
    @smartcooler6536 3 года назад

    Добрый вечер. Подскажите, пожалуйста. Мне нужно вывести на ТМ1637 слово из 4 букв, которые есть в списке символов. Если я ввожу в поле "Н - часы" число 173, то на дисплей высвечивается "Н3" в разделе "часы". Как вывести, например, "НН" или слово "PUSH"? Ведь при вводе, например, 1717 - выдается неведомая фигня. Библиотеку установил, все настроил, но во втором и четвертом разряде не могу получить буквы. Спасибо!

    • @dj_Romeo
      @dj_Romeo 2 года назад

      Есть библиотека у Алекса Гайвера. Там и строки и слова с прокруткой и затухания. И еще куча эффектов. Если еще актуально, конечно.

    • @smartcooler6536
      @smartcooler6536 2 года назад

      @@dj_Romeo уже давно разобрался, но спасибо)

  • @kvk-ut
    @kvk-ut 4 года назад

    И еще такой вопрос , в ссылке yadi.sk/d/UVlaqmPtHMZhXA находится файлAlarmClock.ino . Этот скетч записан под плату Ардуино UNO или под NANO (168) ?

    • @jafarxxl
      @jafarxxl  4 года назад

      При заливке выберете свою ардуинку. Скетч не привязан к контроллеру.

    • @kvk-ut
      @kvk-ut 4 года назад

      Спасибо за оперативность с ответами !!! Будем пробовать !!!

  • @IliyaKudryashov
    @IliyaKudryashov 3 года назад

    будильник выставить нельзя, на рисунке аналоговый датчик lm35, а в видео цифровой, зря потраченное время.

    • @jafarxxl
      @jafarxxl  3 года назад

      У меня lm35 никогда не было...

  • @kvk-ut
    @kvk-ut 4 года назад

    Добрый день !!! А у меня проект не может найти библиотеку для ТМ1637.Подскажите как установить ее с вашими изменениями . Стандартную библиотекуТМ1637 ставлю, но она для компиляции не хочет приниматься. Даже в программеFLProg. (версия 3.0.3), при компиляции вашего проекта пишет , что не найдена библиотека ТМ1637.

    • @jafarxxl
      @jafarxxl  4 года назад

      В описании скетч для ардуино, с ним проблемы? Или из программы не хочет?

    • @kvk-ut
      @kvk-ut 4 года назад

      При компиляции в программе FLProg. (версия 3.0.3), выдает , что не найдена библиотека ТМ1637. И как следствие в среде Ардуино при загрузке программы в плату , выдает ошибку, что нет библиотеки ТМ1637. Хотя в списке библиотек она находится.

    • @kvk-ut
      @kvk-ut 4 года назад

      Изменения приведенные в файле " Скрин-77.png" надо в ручную вводить в библиотеку ТМ1637? Или же они уже там прописаны ?

    • @jafarxxl
      @jafarxxl  4 года назад

      @@kvk-ut уже прописаны. Тут список возможных для отображения символов.

    • @kvk-ut
      @kvk-ut 4 года назад

      Хорошо , попробую еще поработать с библиотеками !!!

  • @sergeitechnoshow
    @sergeitechnoshow 5 лет назад

    Собрал часы все работает но на дисплеи бывает выскакивают то 1 то 9 как мне это исправить заранее спасибо!!!!

    • @jafarxxl
      @jafarxxl  5 лет назад

      Сейчас уже не скажу. Давно дело было. Уже даже прототип не сохранился.

    • @sergeitechnoshow
      @sergeitechnoshow 5 лет назад

      ​@@jafarxxl я уже понял в чем была причина контакт плохой. А сейчас все заработало.

  • @arduin80
    @arduin80 3 года назад

    Здравствуйте!!! У меня почему-то вместо знака градуса показывает 8. Не скажете что не в порядке?

    • @jafarxxl
      @jafarxxl  3 года назад

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

    • @arduin80
      @arduin80 3 года назад

      @@jafarxxl а как и где её заменить или куда библиотеку поставить?

    • @jafarxxl
      @jafarxxl  3 года назад

      @@arduin80 Библиотеку подключить в Arduino IDE как любую другую. Скачиваете, скетч - подключить библиотеку - добавить ZIP библиотеку...

    • @arduin80
      @arduin80 3 года назад

      @@jafarxxl а библиотеку брать у вас в папке с блоками то что я скачал? Я имею ввиду исправленную вами.

  • @user-co3nl7tt2i
    @user-co3nl7tt2i 3 года назад

    Не работает. Требует библиотеку rtc, которую автор не выложил.

    • @jafarxxl
      @jafarxxl  3 года назад

      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

  • @kvk-ut
    @kvk-ut 4 года назад

    Подскажите пож. какой используется датчик температуры и куда он по этой схеме подключается ? yadi.sk/i/AL1-jJzKAs2vnQ

    • @jafarxxl
      @jafarxxl  4 года назад

      DS18B20, на рисунке рядом со светодиодом. На рисунке на маркировку можно не смотреть, воткнул наиболее похожее по внешнему виду.

    • @kvk-ut
      @kvk-ut 4 года назад

      Ага. разобрался, вначале подумал, что там два светодиода :)У Вас на видео их показано два.

  • @АлексейКучеренко-х1ч

    Вариант файла проекта флпрог без будильника Clock_for_work не компилируется так как в блоке TON нет времени задержки, стоит 0 мсек, ставишь не ноль, тогла компилируется, сколько надо ставить милисек ?
    pr17:285: error: expected primary-expression before ';' token
    {_swi4=;}

    • @jafarxxl
      @jafarxxl  6 лет назад

      Сейчас компа под руками нет, в понедельник гляну.

    • @АлексейКучеренко-х1ч
      @АлексейКучеренко-х1ч 6 лет назад

      @@jafarxxl Твой блок для тм1637 ещё посмотри, при гашении минут или часов сегменты не все гаснут, остаётся сегмент нижний от единицы, а так нужен твой блок, может битый какой ? Причом оба блока и с термометром и без, попробовал оба. Открывал в флпрог 3.1.2

    • @АлексейКучеренко-х1ч
      @АлексейКучеренко-х1ч 6 лет назад

      Подредактировал... было так
      else {
      TimeDisp[2] = 35;
      TimeDisp[3] = 35;
      сделал
      else {
      TimeDisp[2] = 36;
      TimeDisp[3] = 36;
      Нормально заработало

    • @jafarxxl
      @jafarxxl  6 лет назад

      @@АлексейКучеренко-х1ч Что самое интересное, блоки те, что в проекте на видео.

    • @АлексейКучеренко-х1ч
      @АлексейКучеренко-х1ч 6 лет назад

      заметил ещё один косяк, зачем задержка delay в блоках с выводом температуры ?
      tm1637.set(Bright);
      tm1637.display(TimeDisp);
      delay(250);
      Ардуина начинает тупить конкретно

  • @vladislavzabudko3700
    @vladislavzabudko3700 5 лет назад

    Здравствуйте. А что делать если время не подтягивается с компьютера?( все работает но вот время постоянно 00:00 как исправит помогите пожалуйста.

    • @jafarxxl
      @jafarxxl  5 лет назад

      Время руками. Синхронизацию по пк не делал вроде. Сейчас уже не помню.

    • @vladislavzabudko3700
      @vladislavzabudko3700 5 лет назад

      @@jafarxxl а как там хоть начало кода где время выставить нужно ? а то у меня 1 раз как то получилось .. а потом села батарейка и все.. даже после того как вставил новую перезаписал скетч время 00:00..

    • @jafarxxl
      @jafarxxl  5 лет назад

      @@vladislavzabudko3700 смотреть с 2:40

    • @vladislavzabudko3700
      @vladislavzabudko3700 5 лет назад

      @@jafarxxl спасибо но у меня только одна сенсорная кнопка для переключения режимов.. решил проблему прошивкой памяти ds1302 и все заработало) спасибо за помощь

  • @АлексейКучеренко-х1ч

    Кстати и у меня комп на этой программе тормозит безбожно, проц I7, 16 гиг оперативы, видяха форза 1060 6 гиг, и один хрен тормоза, я так подозреваю не оптимизирована под дрова видюхи или под чипсет мамки, когда то давно на старых версиях программы тормозов не было и с выходом какой то версии начало тормозить, всё ждал что исправят... до сих пор жду :) всякую хрень в программу прикручивают а оптимизацией не займутся ни как

    • @jafarxxl
      @jafarxxl  6 лет назад

      У меня сейчас i5, 16 гиг, 1060 6гб. На видео gf 650ti 2g. Есть мысли по поводу многопоточности камня, но это тольуо теория.

  • @СергейКузнецов-з9ю

    Я новичок в этом деле. Скажи пожалуйста где глянуть куда какой провод подключать. Ну ни как не въеду.

    • @jafarxxl
      @jafarxxl  5 лет назад

      Чуть позже в описание добавлю подключение.

    • @jafarxxl
      @jafarxxl  5 лет назад

      yadi.sk/i/AL1-jJzKAs2vnQ

    • @СергейКузнецов-з9ю
      @СергейКузнецов-з9ю 5 лет назад

      @@jafarxxl Спасибо!

    • @СергейКузнецов-з9ю
      @СергейКузнецов-з9ю 5 лет назад

      @@jafarxxl Я на видео не увидел ни одного сопративления как на схеме. Скажи пожалуйста, можно ли без них обойтись, ккакую они роль выполняют? Компонены купил, первый раз буду что либо собирать. Боюсь чёньть сжечь. Знаний пока ещё не достаточно.

    • @jafarxxl
      @jafarxxl  5 лет назад

      @@СергейКузнецов-з9ю Это подтягивающие сопротивления реализованные программно . Они нужны как защита от дребезга контактов и ложных срабатываний.

  • @user-co3nl7tt2i
    @user-co3nl7tt2i 3 года назад

    Спасибо