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

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

  • BMP280

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

    Голосов: 71 73.2%

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

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
Все подключено правильно,фоторезистор и подтяжку использовал из старых часов
где-то нет контакта)
Кстати,а какой логин/пароль для ОТА?
C++:
//Настройки OTA
#define ota_name "admin"
#define ota_pass "pass"
можно где то в скетче прописать мою точку доступа
C++:
struct Wifi {
  char ssid[32] = "";
  char pass[32] = "";
или можно прописать при настройке, после запуска точки от часов)
 

Leon111_09

★★★✩✩✩✩
6 Июн 2021
641
150
56
Таганрог
forum.wisecomp.ru
где-то нет контакта)
С контактом/ми все в порядке.Заметил одну странность: светишь фонариком на фоторезистор и яркость сразу уменьшается до минимума.
Все,победил авто-яркость :)
Заменил код на:
Авто-яркость:
/////////// функция освещенности
void BrightnessCheck() {
  static uint32_t last_br = millis();
  if ((millis() - last_br) < o.brg) return;
  last_br = millis();
  if (o.auto_bright) {                                                                             // если включена адаптивная яркость
    if (millis() - bright_timer > 100) {                                                           // каждые 100 мс
      bright_timer = millis();                                                                     // сбросить таймер
      if (o.type_brg) {                                                                            // выбор типа датчика, аналог или цифра
        new_bright = map(digitalRead(BRI_PIN), 0, 1023, o.min_bright, o.max_bright);  // считать показания с фоторезистора, перевести диапазон
      } else {
        new_bright = map(analogRead(BRI_PIN), 0, 1023, o.max_bright, o.min_bright);  // считать показания с фоторезистора, перевести диапазон
      }
      LEDS.setBrightness(new_bright);
    }
  }
}

Все работает как надо :).
 
Изменено:

wulf

★✩✩✩✩✩✩
1 Дек 2022
198
27
вопрос ? минимальное количество диодов какое ? а то я чет сделал по диоду на сегмент и бред получается а где указать не вижу
IMG_20230402_020142.jpg
 

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
@wulf, по диоду на сегмент делали тут уже, нет проблем. Если правильно спаяна схема.
 

wulf

★✩✩✩✩✩✩
1 Дек 2022
198
27
@ASM,лежат точно как на схеме в шапке

@ASM,чтоза порамерты где 2 указаныСнимок.JPG
 

Leon111_09

★★★✩✩✩✩
6 Июн 2021
641
150
56
Таганрог
forum.wisecomp.ru
@wulf, Не в схеме дело.Я в свое время пытался уже сделать диод на сегмент-неудобочитаемая фигня получилась.
там очень тяжело визуально определить какие цифры светят.
 

wulf

★✩✩✩✩✩✩
1 Дек 2022
198
27
нашол где . 10 пересмотрел не видел. зач спать пора
 

wulf

★✩✩✩✩✩✩
1 Дек 2022
198
27
@ASM,залил бету 27 точки 2 раза моргнут и секунд 10 примерно молчат
 

wulf

★✩✩✩✩✩✩
1 Дек 2022
198
27
@ASM,ну мне покамисть без датчиков нужны ток часы стоит режим 0 и все . из за этого так себя ведут?
 

ASM

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

wulf

★✩✩✩✩✩✩
1 Дек 2022
198
27
все разобрался в принципе ее работы Снимок.JPGвс такими настройками работают как обычные часы ну есть небольшое подвисание где то секунд на 5 вроде
 

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
@wulf, можно тогда сделать 5-6 режимов с часами и секунды 2. Думаю ровно будет работать)
 

wulf

★✩✩✩✩✩✩
1 Дек 2022
198
27
есть предложение . IMG_20230330_204640.jpg получится вот так запилить цветовую как в гирлянде на окно от гайвера они постоянно меняют цвета плавно . жаль видео не залить сюда я бы показал
 

AlChel

★✩✩✩✩✩✩
20 Апр 2022
33
12
@wulf, можно тогда сделать 5-6 режимов с часами и секунды 2. Думаю ровно будет работать)
Я экспериментировал, нужно чтоб все 6 режимов были прописаны, иначе после последнего режима идет увеличенная пауза.
@ASM, я наверное уже задолбал тебя своей яркостью :). Устанавливаю минимум в 0,но все равно меньше 1 яркость не делается, причем это явно программное потому что садил вывод А0 на землю напрямую, яркость все равно 1.
Кстати заметил, если у меня фоторезистор минусом на землю посажен, наблюдаются мерцания в промежуточных режимах яркости, если подключаю фоторезистор к плюсу, мерцаний нет. Ну это так, может кому пригодиться.
И еще, а не правильней ли будет фоторезистор на 3.3 вольта сажать, а не на 5? Все таки микроконтроллер у нас 3.3в питается и значит уровни на входах тоже должны быть макс 3.3 вольта.
 
Изменено:

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
Там в коде была ошибка.
где?)
C++:
  if (o.auto_bright) {                    // если включена автояркость
    if (millis() - bright_timer > 100) {  // каждые 100 мс
      bright_timer = millis();            // сбросить таймер
      if (o.type_brg) {                   // тип датчика цифра
        if (o.min_max) {                  // проверка инверсии
          new_bright = map(digitalRead(BRI_PIN), 0, 1023, o.min_bright, o.max_bright);  // считать показания с фоторезистора, перевести диапазон прямой
        } else {
          new_bright = map(digitalRead(BRI_PIN), 0, 1023, o.max_bright, o.min_bright);  // считать показания с фоторезистора, перевести диапазон обратный
        }
      } else {                            // иначе тип датчика аналог
        if (o.min_max) {                  // проверка инверсии
          new_bright = map(analogRead(BRI_PIN), 0, 1023, o.min_bright, o.max_bright);  // считать показания с фоторезистора, перевести диапазон прямой
        } else {
          new_bright = map(analogRead(BRI_PIN), 0, 1023, o.max_bright, o.min_bright);  // считать показания с фоторезистора, перевести диапазон обратный
        }
      }
      LEDS.setBrightness(new_bright);     // устанавливаем яркость
    }
  } else LEDS.setBrightness(o.min_bright);// если автояркость выключена, то в расчете минимальная
есть предложение
C++:
leds[cursor] = (digit & mask) ? ledColor : CRGB(0, 0, 0);
вот это надо модифицировать) есть идеи?)
 
Изменено:

Leon111_09

★★★✩✩✩✩
6 Июн 2021
641
150
56
Таганрог
forum.wisecomp.ru
@ASM, Не в этом куске кода.Вы давали кусок кода на проверку пару страниц назад (там у человека тоже не работала автояркость). В том куске кода и была ошибка.А этот код у меня так и не заработал.
Я использовал этот код:
Автояркость:
*/////////// функция освещенности
void BrightnessCheck() {
  static uint32_t last_br = millis();
  if ((millis() - last_br) < o.brg) return;
  last_br = millis();
  if (o.auto_bright) {                                                                             // если включена адаптивная яркость
    if (millis() - bright_timer > 100) {                                                           // каждые 100 мс
      bright_timer = millis();                                                                     // сбросить таймер
      if (o.type_brg) {                                                                            // выбор типа датчика, аналог или цифра
        new_bright = map(digitalRead(BRI_PIN), 0, 1023, [B]o.min_bright, o.max_bright[/B]);  // считать показания с фоторезистора, перевести диапазон
      } else {
        new_bright = map(analogRead(BRI_PIN), 0, 1023, [B]o.max_bright, o.min_bright[/B]);  // считать показания с фоторезистора, перевести диапазон
      }
      LEDS.setBrightness(new_bright);
    }
  }
}

Там в выделенных строках ошибка: мин и макс одинаковые.В одной строчке поменял местами мин и макс и все заработало.
 
Изменено:

wulf

★✩✩✩✩✩✩
1 Дек 2022
198
27
C++:
leds[cursor] = (digit & mask) ? ledColor : CRGB(0, 0, 0);
вот это надо модифицировать) есть идеи?)
попробую из того скетча что кидал выковырять . хоть не селен в этом но попытка не пытка
 

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
@Leon111_09, это не ошибка) две строки, два разных датчика) у тебя просто заменены переменные местами, т к. другая распайка. Теперь такой вариант предусмотрен в настройках портала.