Большое спасибо, единственный нормальное объяснение, продолжай в том же духе!
@denisnikonov45983 жыл бұрын
Вот спасибо! Без лишних слов. Ясно и понятно
@НазарійГуляк-в5л4 жыл бұрын
Спасибо, это то видео которое я искал. Ещё раз спасибо.)))
@НикитаЗахаров-н5в Жыл бұрын
Ты лучший Боже, сколько я это искал
@БезИмени-н6п2 жыл бұрын
может еще есть скетч, чтобы кроме времени и даты показывало еще температуру и влажность (датчик DHT11)?
@decrepify1798Ай бұрын
в целом, можно загуглить библиотеки датчика и на жижко криссталическом дисплее их вывести
@notdumb29034 жыл бұрын
все доходчиво для новичков... а как внедрить в эту схему кнопку set ? для установки времени... ну и даты...
@Cobra.rc.5 жыл бұрын
Спасибо огромное,продолжай в том же духе))))
@GreenWoodse2 ай бұрын
Непонятно , как скачать по указанной уважаемым автором ссылке , скетч и библиотеки ?
@slavyanskishkafАй бұрын
Надо открывать не в приложении Ютуба а в браузере, например в Яндексе у меня всё скачалось
@GreenWoodseАй бұрын
@@slavyanskishkaf , да я уже разобрался Спасибо
@xx_qqw4 ай бұрын
у меня не идет время и двоеточия мигают как захотят. то быстро, то медленно, можно как-то это исправить?
@ВладимирРадченко-я6ц5 жыл бұрын
Собрал за 5 минут.Все заработало.
@ВладиславМорозкин4 ай бұрын
А почему у меня после того как я загрузил программу часы показывают только 00:00 и не идут дальше, с чем это может быть связано?
@ОлегЗолотоников3 жыл бұрын
СПАСИБО толково всё работает .
@JonMatrix5 жыл бұрын
Новечкам будет полезно.
@MrMultiSIM2 жыл бұрын
Спасибо! Как управлять точками на дисплеях, у которых не двоеточие, а 4 точки внизу - у каждой цифры - к ним есть доступ по отдельности? Можете пример кода дать? Или подсказать: вот фрагмент мигания двоеточием - что в нём заменить и на что, для дисплея с точками, чтобы мигала вторая точка, а не двоеточие? Сейчас на нём, при таком коде, все 4 точки мигают. // #ifdef TM1637_USE if (millis() - tmr_clock > 500UL) { // каждую секунду изменяем tmr_clock = millis(); // обновляем значение счетчика dotFlag = !dotFlag; // инверсия флага if (!DisplayFlag) display.point(dotFlag); // выкл/выкл двоеточия Display_Timer (); } if (dawnFlag) { clockTicker_blink(); } #endif //TM1637_USE
@Yuturner Жыл бұрын
Спасибо тебе большое! очень помог!
@Николай-п7з3с4 ай бұрын
Где взять скетч
@Parallax0 Жыл бұрын
Can someone translate why did he put the resistor in the circuit? I uploaded his code with these two libraries but my display didn’t show any numbers or light. Does anyone know how to fix it?
@AlexeySilichenko3 жыл бұрын
У меня модуль не хотел идти. Время выставлялось - и таким и оставалось. Заработал только при отключенном VCC: подключаю - время замораживается, отключаю - дальше идет. Хак с 10k в разрыв земли не влияет.
@UK8CFT4 жыл бұрын
Можно использовать твой скетч в видео? Ссылку на твой канал оставлю обязательно. Ответь пж.
@TryTech4 жыл бұрын
Да, пожалуйста.
@Baker53908 Жыл бұрын
Он не работает. Показывает кучу ошибок
@dgwerz Жыл бұрын
есть ли принципиально электрическая схема?
@makskot134 жыл бұрын
У меня возникла проблема: когда я пишу значение времени в монитор порта, время на tm1637 загорается на полсекунды и возвращается в 00:00. Резистор уже подключал, не помогло(((
@TryTech4 жыл бұрын
Тоже была такая проблема, но не могу вспомнить почему. Посмотрите на скорость передачи данных в мониторе порта (в нижней части окна), должно совпадать с тем, что прописано в коде Serial.begin(скорость) Насколько помню, без батарейки работало неадекватно, возможно она у вас не установлена или разряжена.
@mkote__90164 жыл бұрын
У меня такое тоже произошло, но я нашёл решение - вбиваем время в мониторе порта, нажимаем Enter. Не закрывая монитор порта вынимаем USB-порт подключения ардуинки. Если подключение правильное и батарейка норм, то время сохранится после подключения ардуинки обратно в USB-порт.
@БульдогВалерьянович Жыл бұрын
@@mkote__9016 Скорость порта нужно выставить на 9600 бод
@Глебардуиньщик-Радиоэлектрик4 жыл бұрын
Без модуля реального времени можно? (Ну так что бы при отключении питания время сбрасывалось?)
@TryTech4 жыл бұрын
Можно, есть библиотека для использования системного таймера. Но может немного отставать/спешить в зависимости от температуры окружающей среды.
@Глебардуиньщик-Радиоэлектрик4 жыл бұрын
@@TryTech а как библиотека называется?
@Глебардуиньщик-Радиоэлектрик4 жыл бұрын
@@TryTech спасибо огромное
@romanivanov72772 жыл бұрын
повторил работает супер
@tatarin40154 жыл бұрын
Хороший парень)))
@sergey_vaenenko14172 жыл бұрын
У меня вместо VCC на плате 5V, это одно и то же? Куда что паять в таком случае?
@Wolf-xn2pt2 жыл бұрын
VCC это питание, а 5V это выход 5V
@ОлегКишко-ю5в2 жыл бұрын
огромное спасибо! если бы еще DS18B20 приделать.
@chelobozes2 жыл бұрын
Скетч при компиляции выдаёт ошибку.
@TryTech2 жыл бұрын
Посмотрите, что пишет в консоли, возможно не хватает какой-то библиотеки.
@rim633 жыл бұрын
Отлично. Я новичок в этом . Есть у меня DS3231, как его пристроить? Спасибо.
@TryTech3 жыл бұрын
Думаю там немного править, но надо иметь DE3231 на руках. Если хотите просто разобраться с этим модулем, загрузите для него библиотеку и посмотрите примеры (файл > примеры > название библиотеки).
@YMrsupe3 жыл бұрын
@@TryTech Как сделать, чтобы через некоторое время показывало еще и дату, скиньте код, пожалуйста
@kamilgaazka13685 жыл бұрын
'class DS1302' has no member named 'time'; did you mean 'getTime'?
@TryTech5 жыл бұрын
Maybe you are using a different library for the DS1302? library from archive has time() function.
@kamilgaazka13685 жыл бұрын
@@TryTech i download and use your library
@TryTech5 жыл бұрын
Try updating the Arduino IDE, I don’t know how else to solve this. I tried to download the sketch again, but I have no error. If you used the same libraries before, delete all files of the old libraries.
@kamalpoladov55314 жыл бұрын
здравствуйтеб поскажите пожалуйстя как мне настраивать часы с помошью кнопок
@TryTech4 жыл бұрын
Нужно сделать немало изменений в программе, боюсь в одном комментарии этого не объяснить.
@kamalpoladov55314 жыл бұрын
@@TryTech дайте пожалуйста мейл или вк чтобы связаться с вами.
@ПРОСТОКУСТ-ж5ь2 жыл бұрын
у меня почему то ошибку выдаёт #include "LCD 1602.h" вот эта команда
@romanolijnyk55453 жыл бұрын
Привет у меня вопрос может ли сделать точно такие же часы только без модуля времени?
@TryTech3 жыл бұрын
Да, но при потере питания, время будет сбрасываться. Возможно они будут заметно спешить/отставать, придется делать корректировку через определенные периоды времени.
@2476-z3n2 жыл бұрын
про резистор в цепь питания верно глаголят..
@dizerdef2 жыл бұрын
зачем в коде либа stdio?
@mem.341 Жыл бұрын
А где ссылка на архив
@ВалерийВалерий-я7е7 ай бұрын
часики не работают на строке 62 стоп при компиляции
@ПростоРома-я5э3 жыл бұрын
а с DS1307 будет работать?
@TryTech3 жыл бұрын
Библиотека, которую я использовал, предназначена только для DS1302, поэтому, скорее всего - нет.
@ВалерийВалерий-я7е7 ай бұрын
компиляция скеча не проходит, ошибка, нет данных на переменную Time t
@slavyanskishkafАй бұрын
скорее всего кривая библиотека, удали и установи по новой ту что шла с архивом, мне помогло
@TayniltMTB3 жыл бұрын
А как выбрать порт на котором ардуино седит ?
@TryTech3 жыл бұрын
В среде разработки во вкладке "Инструменты" есть пункт "Порт".
@UB6HJO2 жыл бұрын
Все хорошо, но резистор на 1 ком ставится в разрыв линии DAT.
@ДанилСаитов-з3ч3 жыл бұрын
'class DS1302' has no member named 'time' такая ошибка что делат?
@TryTech3 жыл бұрын
Похоже, что библиотека для DS1302 у вас другой версии, а не та, что с архива. Возможно вы качали эту библиотеку раньше, и несмотря на то, что загрузили с архива, используется старая. У среды разработки есть несколько папок для хранения библиотек, придется поискать во всех.
@Next__Play3 жыл бұрын
Молодец. Лайк.
@ИгорьСиманько3 жыл бұрын
как настроить яркость на табло
@TryTech3 жыл бұрын
методом set(uint8_t) библиотеки TM1637 В моем скетче это будет так tm1637.set(5); Устанавливается числом от 0 до 7, или константами: BRIGHT_DARKEST - темный BRIGHT_TYPICAL - средний BRIGHTEST - яркий Например, tm1637.set(BRIGHT_TYPICAL);
@eugeniyfrolov6953 Жыл бұрын
хороший канал, но новых роликов уже больше года нет.
@pupkin2044 жыл бұрын
Что надо исправить в коде, что бы скейч не выдавал ошибку в версии 1,8,10?
@TryTech4 жыл бұрын
Скопируйте текст ошибки сюда, номер версии мало о чем говорит.
@pupkin2044 жыл бұрын
@@TryTech 'buttonValue' was not declared in this scope
@TryTech4 жыл бұрын
Видимо вы говорите про другой скетч, сейчас скачал с описания и скомпилировал без ошибок в этой же версии IDE. Да и переменной "buttonValue" в моем коде нет, а ошибка указывает на то, что в скетче используется эта переменная без предварительного объявления.
@pupkin2044 жыл бұрын
@@TryTech Я извеняюсь , действительно в вашем скейче все компелируется, но дисплей не светится, перепробовал кучу библиотек. Я просто уже много перепробовал скейчей вот по ошибке отправил ошибку с другого скейча. А немогли бы помочь мне как обьявить эту переменную ввот в этом скейче. #include #include "TM1637.h" #define CLK 4 #define DIO 3 int soundPin = 1; // объявляем переменную с номером пина спикера const int buttonPin = 5; // номер входа, подключенный к кнопке int sensorValue = 0; boolean status = false; TM1637 tm1637(CLK,DIO); ///// часы .. byte decToBcd(byte val){ return ( (val/10*16) + (val%10) ); } byte bcdToDec(byte val){ return ( (val/16*10) + (val%16) ); } void setDateDs1307(byte second, // 0-59 byte minute, // 0-59 byte hour, // 1-23 byte dayOfWeek, // 1-7 byte dayOfMonth, // 1-28/29/30/31 byte month, // 1-12 byte year) // 0-99 { TinyWireM.beginTransmission(0x68); TinyWireM.send(0); TinyWireM.send(decToBcd(second)); TinyWireM.send(decToBcd(minute)); TinyWireM.send(decToBcd(hour)); TinyWireM.send(decToBcd(dayOfWeek)); TinyWireM.send(decToBcd(dayOfMonth)); TinyWireM.send(decToBcd(month)); TinyWireM.send(decToBcd(year)); TinyWireM.endTransmission(); } void getDateDs1307(byte *second, byte *minute, byte *hour, byte *dayOfWeek, byte *dayOfMonth, byte *month, byte *year) { TinyWireM.beginTransmission(0x68); TinyWireM.send(0); TinyWireM.endTransmission(); TinyWireM.requestFrom(0x68, 7); *second = bcdToDec(TinyWireM.receive() & 0x7f); *minute = bcdToDec(TinyWireM.receive()); *hour = bcdToDec(TinyWireM.receive() & 0x3f); *dayOfWeek = bcdToDec(TinyWireM.receive()); *dayOfMonth = bcdToDec(TinyWireM.receive()); *month = bcdToDec(TinyWireM.receive()); *year = bcdToDec(TinyWireM.receive()); } float get3231Temp(){ byte tMSB, tLSB; float temp3231; TinyWireM.beginTransmission(0x68); TinyWireM.send(0x11); TinyWireM.endTransmission(); TinyWireM.requestFrom(0x68, 2); if(TinyWireM.available()) { tMSB = TinyWireM.receive(); //2's complement int portion tLSB = TinyWireM.receive(); //fraction portion temp3231 = (tMSB & B01111111); //do 2's math on Tmsb temp3231 += ( (tLSB >> 6) * 0.25 ); //only care about bits 7 & 8 } else { //oh noes, no data! } return temp3231; } ///////////////// void setup() { TinyWireM.begin(); tm1637.init(); tm1637.set(7); // яркость, от 0 до 7 pinMode(soundPin, OUTPUT); //объявляем пин как выход. pinMode(buttonPin, INPUT_PULLUP); pinMode(5, INPUT); // установка часов //byte second, minute, hour, dayOfWeek, dayOfMonth, month, year; second = 30; minute = 50; hour = 06; dayOfWeek = 3; // день недели //dayOfMonth = 1; // день ///month = 4; //year = 14; setDateDs1307(second, minute, hour, dayOfWeek, dayOfMonth, month, year); } void loop(){ byte second, minute, hour, dayOfWeek, dayOfMonth, month, year; getDateDs1307(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year); byte temp = get3231Temp(); int8_t TimeDisp[4]; TimeDisp[0] = hour / 10; TimeDisp[1] = hour % 10; TimeDisp[2] = minute / 10; TimeDisp[3] = minute % 10; if (second%2) tm1637.point(POINT_ON); // включаем точки else tm1637.point(POINT_OFF); // выключаем точки // } buttonValue = digitalRead(buttonPin); // считываем данные с кнопки if(hour==7) { if (minute==00) { if (second < 30) status = true; else status = false; } } if (buttonValue) status = false; if (status) { tone(soundPin, 1500); // включаем звук частотой 100 Гц delay(200); tone(soundPin, 1000); // включаем звук частотой 100 Гц delay(200); tone(soundPin, 500); // включаем звук частотой 100 Гц delay(200); } else noTone(soundPin); // выключаем звук tm1637.display(TimeDisp); // отправляем массив на экран }
@Gamer-dq1yn Жыл бұрын
почему у меня на часы идет вперед на 5 минут
@МаксимГрищенко-н1с3 жыл бұрын
Спасибо. Все отлично работает.
@ЖеняИвченко-щ8г3 жыл бұрын
А если у меня время не идёт и не меняется?
@TryTech3 жыл бұрын
Возможно батарейка севшая, если нет, попробуйте ее вынуть на пару минут.
@phitrow4 жыл бұрын
что такое Timer1 почему ошибка? ClockDisplay.ino:31: undefined reference to `Timer1'
@TryTech4 жыл бұрын
Получается вы открыли не мой скетч, а один из примеров, встроенных в библиотеку TM1637. Для работы этого примера нужно установить библиотеку TimerOne, возможно надо будет еще что-то сделать, но это надо уже смотреть по ситуации. Иногда после обновления одной библиотеки, перестают работать другие, которые ее использовали.
@AdvaScriptYT-FlaxenMedal25602 жыл бұрын
'class TM1637' has no member named 'set'
@b1dju_u2254 жыл бұрын
Продолжи проект. Можешь сделать что бы у него был режим сна?
@TryTech4 жыл бұрын
А для какой цели? Можно просто приделать выключатель.
@ВасилисаПримудрая-х9ц3 жыл бұрын
Спасибо.
@bomjeekporoh2900Ай бұрын
Привет , ввожу своё время оно меняется , а через секунду показывает прошлое
@motobro384 жыл бұрын
Доброго времени суток, собрал всё по видео - не работает, то 6 раз то 10 раз мигнут точки на дисплее и дисплей замирает и так до перезагрузки. добавлением кода мигания светодиода встроенного оказалось что ардуинка останавливает выполнение функции loop() ........... и еще заметил что когда ставишь delay в 1000 мс, то задержка нифига не одна секунда, а секкунд 5-6......что может быть может кто подскажет, скетч вроде как рабочий..... отцепил дисплей и модуль часов перезагрузил ардуинку и хоба работает падла
@Tor-Toredo3 жыл бұрын
Как увеличить яркость індикатора.
@TryTech3 жыл бұрын
Методом set(uint8_t) библиотеки TM1637 В моем скетче это будет так tm1637.set(5); Устанавливается числом от 0 до 7, или константами: BRIGHT_DARKEST - темный BRIGHT_TYPICAL - средний BRIGHTEST - яркий Например, tm1637.set(BRIGHT_TYPICAL);
@Tor-Toredo3 жыл бұрын
@@TryTech Я в программировании ноль можно поподробней.
@TryTech3 жыл бұрын
Вот, попробуйте. Схему не собирал, но должно работать. drive.google.com/file/d/1THTv-vj4i6DwWxUoAmekAWDd7TNoWTCI/view?usp=sharing
@Tor-Toredo3 жыл бұрын
@@TryTech Благодарю, помогло.
@kadachigarou3393 Жыл бұрын
AMIGO DIOS TE BENDIGA DONDE SEA QUE VAYAS GRACIAS!!!!!!
@AdvaScriptYT-FlaxenMedal25602 жыл бұрын
Код не роботает!
@Baker53908 Жыл бұрын
У меня тоже выдает кучу ошибок.
@Zeracool.1984.7 ай бұрын
Библиотеки битые😢
@nighthunter284 жыл бұрын
самый трешевый rtc, как по точности, так и по подключению (3 контакта на этот мусор нужно). используй DS1302 с i2c
@C_A_III_K_A4 жыл бұрын
Зачем делать часы на МИКРОСХЕМЕ у которой с точностью очень большие проблемы?? Если можно взять DS3231 и сделать ОТЛИЧНЫЕ ЧАСЫ с прекрасной точностью!
@TryTech4 жыл бұрын
Делал как пример для тренировки новичкам. С точностью и правда есть проблемы, но тут виновата не микросхема, а дешевый кварц без термостабилизации.
@zman77384 жыл бұрын
Arduino: 1.8.12 (Windows 10), Плата:"Arduino Nano, ATmega328P" C:\Users\kolot\Desktop\TryTech_Clock\TryTech_Clock.ino: In function 'void loop()': TryTech_Clock:43:14: error: 'class DS1302' has no member named 'time'; did you mean 'getTime'? Time t = rtc.time(); //создаем экземпляр класса Time и пишем в него данные из модуля часов. ^~~~ getTime TryTech_Clock:51:9: error: 'class Time' has no member named 'hr'; did you mean 'hour'? t.hr=num/100; //hr это стандартная переменная класса Time. Пишем в нее часы например вы ввели 1732 тогда 1732/100 будет 17(остаток сам отбрасывается), ^~ hour TryTech_Clock:59:11: error: 'class DS1302' has no member named 'time'; did you mean 'getTime'? rtc.time(t); // пишем в модуль часов все значения экземпляра класса Time (часы, секунды, минуты) ^~~~ getTime TryTech_Clock:64:9: error: 'class Time' has no member named 'hr'; did you mean 'hour'? hour=t.hr; ^~ hour exit status 1 'class DS1302' has no member named 'time'; did you mean 'getTime'? Этот отчёт будет иметь больше информации с включенной опцией Файл -> Настройки -> "Показать подробный вывод во время компиляции"
@TryTech4 жыл бұрын
Похоже вы используете другую библиотеку для DS1302
@Венера-ш3с7 ай бұрын
Libraries ты прочел как лИброрис, аж слух режит. Сорян, но как то думаешь что программисты знают язык
@tatarin40154 жыл бұрын
Подключил к 18650, хватает на два дня
@TryTech4 жыл бұрын
Увы, но голая ардуино проработала бы еще день-два, не более. Контроллер с обвязкой слишком много потребляют, чтобы создавать устройства, которые будут месяц без подзарядки работать. Можно уводить контроллер в глубокий сон, когда он не нужен и питать через вход 5v а не через линейный стабилизатор + выпаять светодиоды с платы и микросхему конвертер для связи с компьютером. Также можно переключиться на внутренний кварц, но наверное легче купить отдельно контроллер. С часами уводить контроллер в сон некогда, он постоянно нужен, поэтому лучше питать эти часы от USB.
@tatarin40154 жыл бұрын
@@TryTech спасибо, что прояснили) а то я думал, может что то не то)))