СпойлерПоказать
Опустил датчик в стакан с водой, получил значение - 441, просушил - 824.
Нужно привести эти значения к процентному соотношению. На с++ есть простое решение, команда MAP, а вот на php такого не нашел. Очень помогла ссылка тов. Alexandr в телеграм-канале.
Вот что получилось:
Код: Выделить всё
$hum=gg('vlajnost.pochva1'); // Забираем не обработанные данные с датчика
$sat = round(map($hum,834,441,20,100)); // Вызываем функцию с параметрами и округляем
sg ('vlajnost.pochva1_obr',$sat); // Записываем влажность в процентах
function map($x, $in_min, $in_max, $out_min, $out_max) {
return ($x - $in_min) * ($out_max - $out_min) / ($in_max - $in_min) + $out_min;
}
834 - Данные с сухого датчика
441 - Данные датчика в стакане с водой
20 - Начало отсчета в процентах при сухом датчике( дома по замерам 20% влажности)
100 - Конец отсчета в процентах при 100% влажности ( в стакане с водой)