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

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

  • BMP280

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

    Голосов: 73 73.7%

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

ASM

★★★★★✩✩
26 Окт 2018
1,922
423
Пожелания были с ночным временем, как в DFP.
DFPlayer и его подключение внести в схему
датчик влажности
1 вроде сделал, не тестил только)
2 схему добавил, старую пока оставил, если есть замечания, пишите)
3 по датчику влажности надо подумать, какой добавить, универсальные ли они, если да, то просто подключим библиотеку)
надо глянуть, что там у Алекса) HTU21D вижу) добавил GyverHTU21D
какие еще предложения?)
 
Изменено:

ASM

★★★★★✩✩
26 Окт 2018
1,922
423
@wulf, пока никак) не готова к публикации, тестирую на пустой плате)
переделан механизм с режимами, теперь будет намного удобнее, лишь бы работало как надо)
 

Leon111_09

★★★✩✩✩✩
6 Июн 2021
641
150
57
Таганрог
forum.wisecomp.ru
@ASM, На новой схеме закралась небольшая ошибка: при подключении ДФ-плеера не указано сопротивление между Tx и D4.
P.S. А нельзя ли добавить в раздел настройки плеера кнопку "ТЕСТ"? Подключил плеер и пришлось ждать двадцать минут чтоб проверить играет или нет (правильное подключение). А так тыкнул кнопку и знаешь-будет работать или где-то ошибку допустил при подключении.

P.S. Тут случайно пины в программе и в комментариях не перепутаны?

Screenshot_3.png
 
Изменено:

Leon111_09

★★★✩✩✩✩
6 Июн 2021
641
150
57
Таганрог
forum.wisecomp.ru

ASM

★★★★★✩✩
26 Окт 2018
1,922
423
Тыкни пожалуйста носом
иконка кнопка "ноты")
Я имел ввиду соответствие комментария тексту кода-там разные пины описываются.
та вроде все так)
C++:
#define MP3_TX_PIN 16 // от передатчика (TX) ESP c D0 на приемник (RX) плеера
 
Изменено:
  • Лойс +1
Реакции: Leon111_09

Leon111_09

★★★✩✩✩✩
6 Июн 2021
641
150
57
Таганрог
forum.wisecomp.ru
иконка кнопка "ноты")
Надо бы хоть какую-нибудь подпись к этим нотам-тяжело догадаться о предназначении этого знака.Я вообще думал что это просто иллюстрация к плееру :).

@ASM, Уже два дня бьюсь с этим нехорошим плеером-никак не могу заставить его говорить :( . Проверил сам плеер на исправность (отпаял РХ/ТХ и просто коротнул пин кнопки на плеере-все прекрасно проиграло), пробовал менять в прошивке пины управления местами (IO2\IO16)-не помогло.Может, хоть ты что подскажешь? Кстати,при нажатии на ноту в веб-интерфейсе идет падение ампеража на пол-секунды и тут же восстанавливается но звук не подает.Поставил два резистора по килоому.
 

Leon111_09

★★★✩✩✩✩
6 Июн 2021
641
150
57
Таганрог
forum.wisecomp.ru
написано "модель"?
Посмотреть на установленном модуле нет возможности-запаян намертво.Но,когда я заказал на алике этот плеер то китаец почему-то прислал мне вместо одного два плеера. В описании товара нет ни слова о чипе,на втором модуле тоже проблематично прочитать маркировку-подзатерта,и довольно сильно. Вот фото из лота,там вроде есть надпись на микросхеме,но я не могу ее прочитать.Может у вас получится :)

Screenshot_2.png
 

Maxx1200

★✩✩✩✩✩✩
11 Фев 2022
95
19
@Leon111_09,
Попробуйте в коде поменять тип-модуля в Kukushka.ino

тип модуля копировать зелёный текст!
DFPLAYER_MINI
- DFPlayer Mini module
- MP3-TF-16P module
- FN-M16P module
- YX5200 chip
- YX5300 chip
- JL AAxxxx chip

DFPLAYER_FN_X10P
- FN-M10P module
- FN-S10P module
- FN6100 chip

DFPLAYER_HW_247A
- HW-247A module
- GD3200B chip
- MH2024K-24SS

Тут поменять
mp3.begin(mp3Serial, MP3_SERIAL_TIMEOUT, DFPLAYER_HW_247A, false);
 

ASM

★★★★★✩✩
26 Окт 2018
1,922
423
Просьба протестировать рабочую прошивку на последней версии FastLED, добавив в Constants, в LED_PIN 6 добавить букву D,
чтобы было LED_PIN D6
У меня начинаются мерцания)
 

Leon111_09

★★★✩✩✩✩
6 Июн 2021
641
150
57
Таганрог
forum.wisecomp.ru
Тут поменять
mp3.begin(mp3Serial, MP3_SERIAL_TIMEOUT, DFPLAYER_HW_247A, false);
У меня так и есть.
Остальное не совсем понял где находится:просмотрел весь код.
Кукушка:
/[I]░░░▒▒▒▓▓▓ ♫ Кукушка by Romshteks ♫ ▓▓▓▒▒▒░░░[/I]\\

//    [I]░░░▒▒▒▓▓▓ ♪ V2 Без delay ♪ ▓▓▓▒▒▒░░░[/I]    \\

//      [I]░░░▒▒▒▓▓▓ ♂ 3 Голоса ♀ ▓▓▓▒▒▒░░░[/I]      \\


void kuku_tick() {
  if (r.status_kuku) {
    if (hour >= r.start_kuku && hour <= r.stop_kuku) {
      if (minute == 0 && flag_kuku == 1) {
        DFPlayer();
        flag_kuku = 0;
      }
      if (minute == 59 && flag_kuku == 0) {
        flag_kuku = 1;
      }
      Vremy();
      Utro();
      Vecher();
    }
  }
}

//////////// Функция DFPlayer
/*
[*]автор Maxx1200
[*]Каждый час будет говорить время!
*/
/***************************************************************************************************/
/*
   исходный код: https://github.com/enjoyneering/DFPlayer

   Возможности DFPlayer Mini:
    - 3,2В..5,0В, обычно 4,2В
    - microSD-карта до 32 ГБ (FAT16, FAT32)
    - USB-диск до 32 ГБ (FAT16, FAT32)
    - поддерживает частоту дискретизации mp3 8кГц, 11,025кГц, 12кГц, 16кГц, 22,05кГц, 24кГц, 32кГц, 44,1кГц, 48кГц
    - поддерживает до 100 папок, каждая папка может быть назначена на 001..255 песен
    - встроенный моноусилитель мощностью 3 Вт, NS8002 AB-класса с функцией ожидания
    - UART для связи, 9600 бит/с (четность: нет, биты данных: 8, стоповые биты: 1, управление потоком: нет)

    ПРИМЕЧАНИЕ:
    - добавьте резистор 1K последовательно с выводом DFPlayer TX

   Фреймворки и библиотеки:
   ESP8266 Core      -  https://github.com/esp8266/Arduino
   EspSoftwareSerial -  https://github.com/plerup/espsoftwareserial
*/
/***************************************************************************************************/
void DFPlayer_setup() {

  Serial.println("Инициализация DFPlayer... (может занять 3~5 секунд)");                                      //для отладки
  mp3Serial.begin(MP3_SERIAL_SPEED, SWSERIAL_8N1, MP3_RX_PIN, MP3_TX_PIN, false, MP3_SERIAL_BUFFER_SIZE, 0);  //false=сигнал не инвертирован, 0=размер буфера ISR/RX (общий с последовательным буфером TX)
  mp3.begin(mp3Serial, MP3_SERIAL_TIMEOUT, DFPLAYER_HW_247A, false);                                          //"DFPLAYER_HW_247A" см. ПРИМЕЧАНИЕ, false = нет обратной связи от модуля после команды
  mp3.stop();                                                                                                 //если плеер работал во время перезагрузки ESP8266
  mp3.reset();                                                                                                //сбросить все настройки по умолчанию
  mp3.setSource(2);                                                                                           //1=USB-диск, 2=TF-карта, 3=Aux, 4=спящий режим, 5=NOR Flash
  mp3.setEQ(0);                                                                                               //0=Выкл., 1=Поп, 2=Рок, 3=Джаз, 4=Классика, 5=Бас
  mp3.setVolume(r.grom_mp3);                                                                                  //0..30, модуль сохраняет громкость при сбое питания

  Serial.print(" ♫ Громкость: ");   //для отладки, Получить громкость
  Serial.println(mp3.getVolume());  //0..30

  mp3Serial.enableRx(false);  //отключить прерывания на RX-контакте, меньше накладных расходов, чем mp3Serial.listen()

  mp3.playMP3Folder(26);
  Serial.println(" ♫ Приветствие");  // Музыкальное приветствие
}

void DFPlayer() {            // Функция срабатывающая раз в час
  if (r.status_kuku) {       // Если кукушка включена(проверка второй раз для корректной работы портала)
    if (r.kuku_mp3_check) {  // Если включено воспроизведение кукушки
      Serial.println(" ♫ Ку-Ку");
      mp3.playMP3Folder(25);  // проигрываем файл c кукушкой
    }
    if (r.vrem_mp3_check) Vremy_flag = 1;
  }
}

void Vremy() {
  static uint32_t VremyTime;
  if (Vremy_flag == 1) {
    VremyTime = millis();
    Vremy_play_flag = 1;
    Vremy_flag = 0;
  }
  if (Vremy_play_flag == 1 && (millis() - VremyTime) >= 3000) {  // Пауза чтобы выговорилась кукушка

    // mp3.playMP3Folder((r.golos * 100) + (hour) ? hour : 24);
    // mp3.playMP3Folder(hour ? (hour + r.golos * 100) : (24 + r.golos * 100));
    mp3.playMP3Folder((r.golos * 100) + hour + 1);
    Serial.println((String) " ♫ " + hour + " часов");

    if (hour == r.start_kuku) Utro_flag = 1;
    if (hour == r.stop_kuku) Vecher_flag = 1;
    Vremy_play_flag = 0;
  }
}

void Utro() {
  static uint32_t utroTime;
  if (Utro_flag == 1) {
    utroTime = millis();
    Utro_play_flag = 1;
    Utro_flag = 0;
  }
  if (Utro_play_flag == 1 && (millis() - utroTime) >= 3000) {  // Пауза чтобы выговорилось время
    mp3.playMP3Folder((r.golos * 100) + 27);
    Serial.println(" ♫ Доброе утро");  //для отладки
    Utro_play_flag = 0;
  }
}
void Vecher() {
  static uint32_t VecherTime;
  if (Vecher_flag == 1) {
    VecherTime = millis();
    Vecher_play_flag = 1;
    Vecher_flag = 0;
  }
  if (Vecher_play_flag == 1 && (millis() - VecherTime) >= 3000) {  // Пауза чтобы выговорилось время
    mp3.playMP3Folder((r.golos * 100) + 28);
    Serial.println(" ♫ Доброй ночи");  //для отладки
    Vecher_play_flag = 0;
  }
}
 

Leon111_09

★★★✩✩✩✩
6 Июн 2021
641
150
57
Таганрог
forum.wisecomp.ru
Просьба протестировать рабочую прошивку на последней версии FastLED
Это которая CLOCK_ESP_2.0?У меня на настенных часах она работает.Все нормально работает.А эти часы я малому делаю,в Питер на подарок :)
 

ASM

★★★★★✩✩
26 Окт 2018
1,922
423
@Leon111_09, так и у меня нормально) а вот с последней версией вижу косяки)
подожду до завтра, может кто и проверит) если нет, верну предыдущую версию и проверю)
если проблема будет в этом, то супер) в следующем релизе будет намного меньше строчек кода и работать должна лучше с режимами)
dyn1.jpg
я на отдых)

п.с. дело в ядре, надо старый 2.7.4
 
Изменено:

Maxx1200

★✩✩✩✩✩✩
11 Фев 2022
95
19
@Leon111_09,

в строке 55 место этого DFPLAYER_HW_247A поставить это DFPLAYER_MINI если не работает, потом попробовать это DFPLAYER_FN_X10P
 

Leon111_09

★★★✩✩✩✩
6 Июн 2021
641
150
57
Таганрог
forum.wisecomp.ru
в строке 55 место этого DFPLAYER_HW_247A поставить это DFPLAYER_MINI если не работает, потом попробовать это DFPLAYER_FN_X10P
Попробовал оба варианта-вообще никакой реакции.Если со старым вариантом хоть ампераж показывал что плеер реагирует,то эти варианты вообще никак не подают признаков жизни.
 

ASM

★★★★★✩✩
26 Окт 2018
1,922
423
Выпускаю первую версию на тест) ссылка на архив)
Заработало на часах) ночной режим работает)
Не работает смена цвета, не занимался вплотную, свой цвет можно задать в настройках
Не мигают точки, не понимаю пока, почему)
Если мигание вынести в loop, то все работает всегда, принудительное выключение где не нужно Dots(!Dot) не помогает)
Режимы работают корректно, нет той паузы, что была в прошлых версиях)

@wulf пробуй)

п.с. отписывайтесь о результатах)
 
  • Лойс +1
Реакции: Maxx1200 и Leon111_09

Leon111_09

★★★✩✩✩✩
6 Июн 2021
641
150
57
Таганрог
forum.wisecomp.ru
@ASM, А нельзя ли залить на я-диск? Во я попал с гит-хабом :( : логин/пароль правильный,но требует подтверждения устройства (код на мыло).Но почему-то отправляет этот код на ящик с доменом ua, а этот домен уже года три как блокируется :(.
 

ASM

★★★★★✩✩
26 Окт 2018
1,922
423
Извиняюсь, почему-то папка приватная) Сейчас попробую исправить)

Исправил)
 
  • Лойс +1
Реакции: wulf и Leon111_09