Большие часы на адресных светодиодах WS2812B

начинающий

★✩✩✩✩✩✩
13 Дек 2020
130
10
Ребзя ,кто в силах допилить скетч Вячеслава и добавить в него BME280 с возможностью замеров не только температуры и давления, но еще и влажности, очень хочецца, честно, поверьте. Помогите пожалуйста увидеть часы с температурами внешней и внутренней, давлением и влажностью, вот это и будет версия 2.0 окончательно допиленная со всеми наворотами.
 

Leon111_09

★★★✩✩✩✩
6 Июн 2021
641
149
56
Таганрог
forum.wisecomp.ru
,кто в силах допилить скетч Вячеслава и добавить в него BME280
насколько мне не изменяет память, в теме уже есть скетч с этим датчиком. кто мешает скопировать из него все, что касается БМЕ, и заменить в финальном скетче все,что касается БМП?
 

начинающий

★✩✩✩✩✩✩
13 Дек 2020
130
10
в теме уже есть скетч с этим датчиком. кто мешает скопировать из него все, что касается БМЕ, и заменить в финальном скетче все,что касается БМП?
Пытался сравнивать, Но или я совсем "начинающий" или "оно все таки тонет", не смог найти "подобных" для замены, скетч #482 и скетч Вячеслава как бы кардинально отличаются друг от друга, совершенно разная структура алгоритма, нет ничего друг на друга похожего что бы можно было просто взять и заменить один блок другим, т.е. даже процедуры считывания данных с датчиков реализованы по разному, что вводит в заблуждение а для меня, как это совместить и заменить это уже темный лес, Ну неужели никто не задумывался о полнофункциональной замене BMP280 на BME280?
 

Leon111_09

★★★✩✩✩✩
6 Июн 2021
641
149
56
Таганрог
forum.wisecomp.ru
не смог найти "подобных" для замены
а что там сравнивать? заменяйте одну библиотеку на другую, вставляете в финишный скетч опрос датчика и вывод влажности в финальный скетч и все. только не забудьте обьявить БМЕ, ато будет ругаться компилятор.
 

Leon111_09

★★★✩✩✩✩
6 Июн 2021
641
149
56
Таганрог
forum.wisecomp.ru
а вот как достать оттуда влажность
да все элементарно: в секции БМЕ в вашем скетче продублируйте секцию давления и замените в ней одно значение: давление на влажность и все. я правда, не помню как влажность в скетче называется, но в выделенной строке замените pres на влажность и все. у вас должно быть в том куске скетча три раздела: температура,давление и влажность.

БМЕ:
[CODE lang="cpp" highlight="pres"]  case 22: {            // Режим вывода температуры BME280

      TempColor(TEMP_BME_COLOR, temp, TEMP_BME_MIN, TEMP_BME_MAX);

      if (temp < 100) DigitOut(18, (temp % 100) / 10, temp % 10, TEMP_BME_SYMBOL, 1, temp_color);

      else DigitOut(temp / 100, (temp % 100) / 10, temp % 10, TEMP_BME_SYMBOL, 1, temp_color);

        if (millis() - t > time_tp) {

          if (setups[8] >= 2) {

            mode = 23;

            t = millis();}

          else if (setups[2] != 0) {

            mode = 25;

            t = millis();}

          else mode = 0;}

      break;}



    case 23: {            // Режим вывода давления

       DigitOut(21, pres / 100, (pres % 100) / 10, pres % 10, 0, pres_color);

        if (millis() - t > time_tp) {

          if (setups[2] != 0) {

            mode = 25;

            t = millis();}

          else mode = 0;}

      break;}

     

#endif
[/CODE]
 

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
...да все элементарно: в секции БМЕ в вашем скетче продублируйте секцию давления..
Не получится, в этот массив <byte digits[22] = {0b01111110, // 0 ...> тоже нужно вносить изменения (значок влажности) и не только в этот. Попробовал внести изменения, проверил, скетч компилируется но кроме часов ни чего не отображается.
PS: Если нужно проверить скидывайте, у меня схема собрана. DS3231, DS18b20, BME280
 

Leon111_09

★★★✩✩✩✩
6 Июн 2021
641
149
56
Таганрог
forum.wisecomp.ru
Не получится, в этот массив <byte digits[22] = {0b01111110, // 0 ...> тоже нужно вносить изменения (значок влажности)
можно пока без значка вывод сделать. главное чтоб заработал. я не планирую ставить БМЕ, просто начинающий подсказываю. мне сейчас переделкой скетча не с руки заниматься: жена с приступом под боком лежит.
 

Leon111_09

★★★✩✩✩✩
6 Июн 2021
641
149
56
Таганрог
forum.wisecomp.ru
@начинающий, попробуйте в сектор,отвечающий за БМЕ вставить этот кусок кода
C++:
case 24: {            // Режим вывода влажности

       DigitOut(21, humi / 100, (humi % 100) / 10, humi % 10, 0, humi_color);

        if (millis() - t > time_tp) {

          if (setups[2] != 0) {

            mode = 25;

            t = millis();}

          else mode = 0;}
 

начинающий

★✩✩✩✩✩✩
13 Дек 2020
130
10
Хорошо попробую, но только завтра, сегодня дома поздно буду. А что касается кода символа % для обозначения единиц измерения влажности, то относительно кодов символов из скетча Вячеслава получается вот так: 0b000001111 // % 22 верхний левый нолик, 0b01110001 // % 23 нижний правый нолик, могу и ошибаться... .
 

Leon111_09

★★★✩✩✩✩
6 Июн 2021
641
149
56
Таганрог
forum.wisecomp.ru
А что касается кода символа % для обозначения единиц измерения влажности, то относительно кодов символов из скетча Вячеслава получается вот так: 0b000001111 // % 22 верхний левый нолик, 0b01110001 // % 23 нижний правый нолик, могу и ошибаться... .
ну это вы уже сами поэкспериментируете :)
 

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
Начинающий
В 132 строке фигурную скобку не убрали, а в 134 не поставили. Если строку DigitOut(22,humi / 100, (humi % 100) / 10, humi % 10, 0, humi_color); оставить в таком виде то компилируется, а если как у Вас в скетче то ругается на нее.
 
  • Лойс +1
Реакции: Leon111_09

начинающий

★✩✩✩✩✩✩
13 Дек 2020
130
10
исправил, если строка такого вида
DigitOut(22, 23 humi / 100, (humi % 100) / 10, humi % 10, 0, humi_color);
то ругается на нее, если удалить "23", то ругается на фигурную скобку в строке 593
 

начинающий

★✩✩✩✩✩✩
13 Дек 2020
130
10
ну вот а я то дума что 22 и 23 это коды символов знака "процент", ща попробуем компильнуть. с 24
 

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
Он не ругается на фигурную скобку в 593 строке, а показывает что нужно поставить еще одну.
У меня компилируется.
 

начинающий

★✩✩✩✩✩✩
13 Дек 2020
130
10
Он не ругается на фигурную скобку в 593 строке, а показывает что нужно поставить еще одну.
У меня компилируется.
а еще одну через пробел, через запятую, или подряд (рядом) без пробелов и запятых?
 

начинающий

★✩✩✩✩✩✩
13 Дек 2020
130
10
даже давление? может еще с меню надо что то изобретать, ну там где t, tt, td добавлять включение датчика влажности и время отображения его показаний? у меня в первый раз даже давления небыло, пока не выбрал в меню P=3, и время отображения каждого по 4 сек, только потом появились давление и температура с бме280
 

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
Скетч скинь у меня стенд готов и через пару минут будет результат