@Геннадий П,
Увы, пример тоже показывает нули:
#include "GyverPID.h"
GyverPID regulator(0.1, 0.00, 0.01, 10); // коэф. П, коэф. И, коэф. Д, период дискретизации dt (мс)
void setup() {
Serial.begin(9600);
regulator.setDirection(NORMAL); // направление регулирования (NORMAL/REVERSE). ПО УМОЛЧАНИЮ СТОИТ NORMAL
regulator.setLimits(0, 255); // пределы (ставим для 8 битного ШИМ). ПО УМОЛЧАНИЮ СТОЯТ 0 И 255
regulator.setpoint = 50; // сообщаем регулятору температуру, которую он должен поддерживать
// в процессе работы можно менять коэффициенты
regulator.Kp = 150.2;
regulator.Ki += 0.0;
regulator.Kd = 0;
}
void loop() {
int temp = 100; // читаем с датчика температуру
regulator.input = temp; // сообщаем регулятору текущую температуру
Serial.println(regulator.getResultTimer());
delay(1000);
}