ARDUINO Часы на ГРИ v1. Обсуждение проекта

kain-virus

★✩✩✩✩✩✩
7 Фев 2020
37
22
@technotrasher, а с таймерами можно решить достаточно просто задать таймеры таким образом что бы на одном датчике было чётное количество секунд на другом нечётное вот и всего делов )
 

Helpers

★✩✩✩✩✩✩
21 Мар 2019
66
17
Походу я решил проблему с зависаниями. уже сутки - полет норм. библиотека Alexa оказалась с багом. решение оказалось простым. если ещё сутки отработает - выложу две прошивки. для DHT датчика только и для всего. так. убрать перебор анодов-катодов при старте? или сделать динамическую тоже?

мне не так не так не мешает, но смотрится красиво, да и работу шимки можно оценить при старте.
зависает на таких настройках кстати

boolean BL_ENABLED = true; // включена ли подсветка на WS2812B false true
#define INDI_BRIGHT 90 // яркость цифр дневная, %
#define INDI_BRIGHT_N 10 // яркость ночная, %
#define NIGHT_START 22 // час перехода на ночную подсветку (INDI_BRIGHT_N)
#define NIGHT_END 9 // час перехода на дневную подсветку (INDI_BRIGHT)

// ************************** НАСТРОЙКИ **************************
#define FREQ 900 // частота писка будильника
#define REVERSE_TUBES 0 // 1 - зеркально "отразить" отображение времени (для платы ИН-12), 0 - нет
#define TEMP_TIME 5 // время (с), НА которое отображаются температура и влажность
#define TEMP_PRES 200 // время (с), через которое отображается давление
#define TEMP_CO2 270 // время (с), через которое отображается содержание СО2 //330
#define CLOCK_TIME 60 // время (с), через которое отображаются температура и влажность
#define SHOW_TEMP_HUM 1 // 0 - не показывать температуру и вл., 1 - показывать
#define SHOW_PRES 0 // 0 - не показывать давление, 1 - показывать
#define SHOW_CO2 0 // 0 - не показывать CO2, 1 - показывать
 

technotrasher

★★★★✩✩✩
14 Ноя 2019
504
225
@technotrasher, а с таймерами можно решить достаточно просто задать таймеры таким образом что бы на одном датчике было чётное количество секунд на другом нечётное вот и всего делов )
Увы. немного не поняли в чем дело. точнее совсем не поняли. там можно разобраться только используя лист бумаги. расписывая хотя бы немного алгоритм работы. таймеры пересекаются, накладываются убегают и догоняют. при переходе - баг 00-00-00, баг при переходе через 00 минут, и т.д. походу решилось все намного проще. и очень яркий баг когда таймер срабатывает в 50 секунд. и накладывается на переход через 00 минут. а если сразу два таймера срабатывают... да. оно не часто получается. но я увидел. :) есть ещё тонкость с проверкой подсветки. я ее проверяю как раз на переходе через 0. и не хочу выносить на постоянную проверку. решился вопрос просто - не перезапуском (это не работает), а просто задачей интервала. перезадачей. щас ещё до вечера - и если все ок. - выложу. посмотрите где я поменял и что.
 

kain-virus

★✩✩✩✩✩✩
7 Фев 2020
37
22
@technotrasher, я вас понял целиком и полностью просто я не успел до конца изложить свою точку зрения потому стоял уже в куртке и ботинках___))и вот только домой вернулся , ну я дума.. что к себе эту версию лить пока смысла нет а вообще надо сделать так что бы каждый следующий таймер начинал свой отсчёт от окончания предыдущего таймера и вуаля)
 

technotrasher

★★★★✩✩✩
14 Ноя 2019
504
225
@technotrasher, я вас понял целиком и полностью просто я не успел до конца изложить свою точку зрения потому стоял уже в куртке и ботинках___))и вот только домой вернулся , ну я дума.. что к себе эту версию лить пока смысла нет а вообще надо сделать так что бы каждый следующий таймер начинал свой отсчёт от окончания предыдущего таймера и вуаля)
эээ.... зачем так? в том и всё - что нет точных значений. все накладывается пересекается. так же интереснее. просто не нужно было чтобы пересекалось в 00-00. а так наоборот - хорошо. но если сможете доработать - то и мне интересно как это сделать!
 

kain-virus

★✩✩✩✩✩✩
7 Фев 2020
37
22
@technotrasher, к сожалению это лишь моя теория как это выполнить на практике я тоже не знаю но думаю что это не должно быть особо сложно а что бы не было скучно то задать промежуток между показом информации рандомным скажем от 11 до 49 скекунд самое по моему мнению главное это что бы отсчёт шёл от предыдущего таймера тогда ошибок не должно получаться но повторюсь это моя теория ,надо сегодня посмотреть уроки гайвера относительно таймеров
 

technotrasher

★★★★✩✩✩
14 Ноя 2019
504
225
@kain-virus, отсчет от предыдущего таймера при setInterval и так будет перезапущен. НО! правильнее было бы пользоваться setTimeout. но так не будет. потому что есть шанс попасть на сбой программы и таймер вообще не будет никак запущен. тут резервирование. таймер изначально постоянно срабатывает. а его перебиваем из функции дата. и это - оказалось самое надежное. разные там start stop работают некорректно в данном случае - а resume вообще не срабатывает. пришлось разбирать библиотеку с таймерами. там все очень просто. собраны под общей оболочкой таймеры на миллис и микрос. и обработка пропуска шага. заставить таймеры в данном скетче работать идеально подряд друг за другом невозможно. это формат совсем другой программы и самого подхода. тут нужно было лишь одно - чтобы таймеры не заканчивались (функция не срабатывала) в период переходи минут через 0. все! вторая часть - чтобы функции не попадали друг в друга. флагами это не решается. я нашел решение с остановом таймеров и их перезапуска. и так отлично заработало. часы зависать перестали. уроки обязательно посмотрите. потом берите ручку бумагу - открывайте сами библиотеки и начинайте их расписывать на алгоритмы. потом так же примеры. очень помогает разобраться хоть немного в теме.
 

Helpers

★✩✩✩✩✩✩
21 Мар 2019
66
17
@technotrasher, часы в 8 утра не переключились на дневной режим, во сколько переключились не знаю, на работу ушел. Время через прошивку не выставлял, часы идут по модулю, кнопки не трогал, но в 23 ровно переключились на ночной режим. Прошивка с dht последняя.
 

Lazy

✩✩✩✩✩✩✩
4 Янв 2020
12
0
Помогите пожалуйста, подключил питание, начала дымить индуктивность, что делать и в чем проблема?
 

kain-virus

★✩✩✩✩✩✩
7 Фев 2020
37
22
индуктивность надо мощьнее у меня 3 штуки сгорело пока я не подобрал нужной мощности
фото индуктивности скинь посмотрим что там у тебя
 

Helpers

★✩✩✩✩✩✩
21 Мар 2019
66
17
@Lazy, не используйте такие, почти у всех горят, ставят типа гантельки.
 

Lazy

✩✩✩✩✩✩✩
4 Янв 2020
12
0
Как знать на скок uh випаяна индуктивность?
 

kain-virus

★✩✩✩✩✩✩
7 Фев 2020
37
22
@Lazy, я просто выпаивал устанавливал на плату без ардуино и без ламп и мерил напряжение на конденсаторе и поставил ту с которой напряжение было самым большим и которая естественно не сгорала
 

FallenVEye

✩✩✩✩✩✩✩
21 Фев 2020
5
0
Нигде не могу найти индуктивность на 240мкГн. Подскажите, можно ли использовать индуктивность 220мкГн. И если нет, то как быть
 

technotrasher

★★★★✩✩✩
14 Ноя 2019
504
225
Нигде не могу найти индуктивность на 240мкГн. Подскажите, можно ли использовать индуктивность 220мкГн. И если нет, то как быть
Используйте и не волнуйтесь. только берите дроссель не аксиальный, а "боченочек". опять не исправили баг в описании проекта. и никогда не исправят.
 

FallenVEye

✩✩✩✩✩✩✩
21 Фев 2020
5
0
@technotrasher, Спасибо большое, тогда может подскажете ещё, какой ёмкости нужны конденсаторы c1 и c2, они подключены паралельно нагрузке 5 и 12 вольт. Как я понял они уменьшают скачки напряжения. Есть ли вообще разница какой ёмкости ставить?