Эмм, извините за нубский вопрос, а как закоментить проверку MHZ-19? У меня он отсутствует, а как закоментить чёт не соображу)@Серый, здравствуйте. При прошивке вашего скетча IDE выдает: "В классе MHZ19_uart нет члена с именем setRange5000()", строка 260. Я ее закомментировал и прошил, вроде бы глюков нет. Для чего она нужна? И вообще, нужна ли?..
dispRain = map(delta, -250, 250, 100, -100); // пересчитать в проценты
dispRain = map(delta, -250, 250, 100, 0); // пересчитать в проценты
char dist_str[6];
dtostrf(temp,5,2,dist_str);
drawDig((byte)(dist_str[0]), 0, 0);
drawDig((byte)(dist_str[1]), 6, 0);
Хотел спросить насчет кода, исправили ли вы его у себя. Если да не могли бы вы его выложить, если конечно не против, и по поводу процентов, есть идея что по хорошему надо чтобы он показывал только положительное значения (Rain 10% или Sun 23%), сам пробывал отредактировать код, но опыта очень мало. Просто как я понял если if dispRain > 0 то lcd.print ("Rain") else то lcd.print("Sun"), возможно я не прав, но хочу научится на примере.Если эта "вероятность" уходит в "+" - это действительно можно назвать "вероятностью дождя".
Если же это значение уходит в "-", то его логичнее было бы назвать "вероятностью солнца".
Я, пожалуй, подправлю у себя код так, чтобы он и отрицательные значения "вероятности" отображал без знака "-", но при этом вместо слова "rain" писал слово "sun".
Собрал устройство и мой датчик постоянно показывает уровень CO2 в пределах 2800-3900, что на улице, что в помещении.Вкратце калибровка MH-Z19B:
У датчика есть автоматическая калибровка, но я сомневаюсь, что она корректно работает.
- поместить датчик (станцию) на открытом пространстве, вне помещения, где концентрация СО2 предположительно около 400 ppm;
- соединить вывод калибровки (HD) с корпусом ("-") на более чем 7 сек, калибровка запустится;
- выдержать станцию на открытом пространстве не менее 20 мин.
Я на HD поставил кнопку, но спрятал её в корпусе, чтобы авторучкой, например, нажать.
Приложил data sheet на датчик.