ESP, IoT [BigClock] Большие часы на WS2812, ESP8266, Народный мониторинг

Какой вариант датчика используется у вас? Интересно, использует ли кто BME280, как у меня?)

  • BMP280

    Голосов: 26 26.8%
  • BME280

    Голосов: 71 73.2%

  • Всего проголосовало
    97

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
@Divin,
Оба выхода работают. И цифровой выход прекрасно работает, проверенно. У Вас какой скетч использован?
 

Divin

★★★★✩✩✩
30 Янв 2021
458
204
@kym13, новогодний, но еще не запускал на диодах, только собираю.
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,319
1,319
Москва
(D0,он дает либо ноль либо единицу, в нашем проекте бесполезная вещь).
Почему же бесполезная ? Там есть подстроечный резистор, который регулирует переход 0 в 1 и обратно.
Так вот если надо не плавно регулировать яркость. а переключать дневная/ночная, то это куда более удобное решение.
 
  • Лойс +1
Реакции: kym13

Leon111_09

★★★✩✩✩✩
6 Июн 2021
641
149
56
Таганрог
forum.wisecomp.ru
Как говорили моя бабушка (1911 года рождения)
А мне(после ваших слов), сразу вспомнилось выражение моей бабушки (после того как она увидела стринги!): В случае чего и обос..ся некуда! :)

Почему же бесполезная ? Там есть подстроечный резистор, который регулирует переход 0 в 1 и обратно.
Так вот если надо не плавно регулировать яркость. а переключать дневная/ночная, то это куда более удобное решение.
Дело в том, что в нашей прошивке изюминка как раз состоит в том чтоб плавно,в зависимости от освещенности, регулировать яркость светодиодов. А цифровой используется для включения/выключения, и не предусматривает плавного изменения состояния пина :).
 

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
@Divin,
Если модуль фоторезистора будет работать наоборот поменяй в строке 135 и 138 min и max местами.
 
  • Лойс +1
Реакции: Divin

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
поменял режим WiFi на
C++:
  WiFi.mode(WIFI_STA);
точка доступа в WiFi исчезла, часы работают пока исправно...

П.С. бывают сбои при отправке показаний, не всегда отправляет показания.
 
Изменено:
  • Лойс +1
Реакции: Divin, kym13 и Leon111_09

Divin

★★★★✩✩✩
30 Янв 2021
458
204
Вот что показывает монитор порта:
C++:
--------------- CUT HERE FOR EXCEPTION DECODER ---------------

Soft WDT reset

>>>stack>>>

ctx: cont
sp: 3ffffda0 end: 3fffffc0 offset: 01a0
3fffff40:  00000000 3ffee6a8 3ffeec10 4020276c
3fffff50:  00706300 00657461 80efeffe 70747400
3fffff60:  feefef00 80efeffe 696d6400 feef006e
3fffff70:  80efeffe feefeffe feefeffe feefeffe
3fffff80:  3fff06b8 3fff06b8 00000000 feefeffe
3fffff90:  feefeffe feefeffe feefeffe 3ffeed5c
3fffffa0:  3fffdad0 00000000 3ffeed1c 40211cd0
3fffffb0:  feefeffe feefeffe 3ffe852c 401013bd
<<<stack<<<

--------------- CUT HERE FOR EXCEPTION DECODER ---------------

ets Jan  8 2013,rst cause:2, boot mode:(3,7)

load 0x4010f000, len 3584, room 16
tail 0
chksum 0xb0
csum 0xb0
v2843a5ac
~ld

Booting Sketch...
Couldn't find RTC
Собрал без модуля часов - по ходу в скетче надо какуюто строку закомментировать? На часах ничего не отображается, но к роутеру есп подключается, веб морды нет - трудно понять что происходит.
 

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
@Divin,
По моему без модуля часов работать не будет.
Он же Вам пишет внизу
Booting Sketch...
Couldn't find RTC
Загрузочный Эскиз...
Не удалось найти RTC
 

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
@Divin, нужно поправить код, чтобы данные брались из переменной, а не из модуля, как я понимаю) записать время в переменную, а не в модуль.
 

Divin

★★★★✩✩✩
30 Янв 2021
458
204
@kym13, , будем паять часы, придется ишшо батарейку покупать к ним :(
 

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
@Divin,
Попробуйте закоментировать строки со 105 по 108
Батарейку можно и не ставить, пока питание идет время сбиваться не будет.
 
  • Лойс +1
Реакции: Divin

Divin

★★★★✩✩✩
30 Янв 2021
458
204
@kym13,
C++:
 FastLED.setMaxPowerInVoltsAndMilliamps (5, milliamp);
  if (!rtc.begin()) {
    Serial.println("Couldn't find RTC");
    while (1);
  }
У меня в скетче 105 строка - FastLED.setMaxPowerInVoltsAndMilliamps (5, milliamp); не думаю что ее надо закоммичивать скорей всего с 106 по 109
 
  • Лойс +1
Реакции: kym13

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
@Divin, думаю этого мало будет) с rtc.now нужно поработать, возможно)
 

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
@Divin,
Вот эти строки и фигурную скобку тоже:
if (!rtc.begin()) {
Serial.println("Couldn't find RTC");
while (1);
}
 

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
@Divin, в переменную DateTime записывается значение из модуля DateTime now = rtc.now();
long unix = now.unixtime();
if (unix > 1640822400) {
Serial.println("Время корректно!");
}
else {
Serial.println("Некорректное время, старт синхронизации!");
syncTime();
}

Не нужно, добавить просто syncTime();
 
Изменено:

Divin

★★★★✩✩✩
30 Янв 2021
458
204
@ASM, Дяденька, я не настоящий сварщик, со мной нужно как с той обезьянкой - нажми синюю кнопку - будет банан надо закомментировать или нет я подозреваю что значение от модуля часов записывается между круглыми скобками в
DateTime now = rtc.now() но знание этого мне ничего не дает.
 

bort707

★★★★★★✩
21 Сен 2020
3,288
955
Если у вас нет RTC, вместо всего этого
C++:
long unix = now.unixtime();
if (unix > 1640822400) {
Serial.println("Время корректно!");
}
else {
Serial.println("Некорректное время, старт синхронизации!");
syncTime();
}
надо оставить только
syncTime();
но работать будет только при хорошем постоянном инете
 
  • Лойс +1
Реакции: Leon111_09 и Divin

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
@Divin, тяжело с телефона это всё писать. Надо с ПК делать, сразу редактируя и проверяя)
 

bort707

★★★★★★✩
21 Сен 2020
3,288
955
подозреваю что значение от модуля часов записывается между круглыми скобками в
DateTime now = rtc.now() но знание этого мне ничего не дает.
подозреваете неправильно
Значение от модуля часов никуда в коде записывать не надо
 

Divin

★★★★✩✩✩
30 Янв 2021
458
204
@bort707, я не корректно выразился , понятно что в код не запишешь текущее значение времени (оно неизвестно) в процессе выполнения кода именно этой строчкой сопоставляются показания времени
 

bort707

★★★★★★✩
21 Сен 2020
3,288
955
в процессе выполнения кода именно этой строчкой сопоставляются показания времени
зачем их сопоставлять?
Без модуля часов корректного значения времени при запуске вам взять неоткуда, поэтому надо сразу делать
syncTime() , не тратя времени на пустые сопоставления
 

Divin

★★★★✩✩✩
30 Янв 2021
458
204
@bort707, но эта строчка в коде подразумевает наличие модуля часов , я не о том как станет после вашей правки, а о том как было до изменений.
 

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
@kDn, как-то не стабильно передаются показания с STA, пропускает. Интересно, почему так происходит?)