End_time_CS= 10;
moisture_Threshold= 20;
tic
Kp = .05;
Ki = 0.01;
Kd = 0.01;
dt = 0.25;
i=1;
while toc <= End_time_CS
V_moisture=readVoltage(a,'A0');
moisture_f=(4.688.*exp(0.2801.*V_moisture))+((1.03.*(10.^(-6))).*exp(14.4.*V_moisture));
rec_temp_CS(i+1) = moisture_f;
rec_time_CS(i+1) = toc;
Error(i+1) = moisture_Threshold - rec_temp_CS(i);
Prop(i+1) = Error(i+1);
Der(i+1) = (Error(i+1) - Error(i))/dt;
Int(i+1) = (Error(i+1) + Error(i))*dt/2;
I(i+1) = sum(Int);
PID(i+1) = Kp*Prop(i) + Ki*I(i+1)+ Kd*Der(i);
i=i+1;
pause(.25)
if PID(i) > 1
writePWMDutyCycle(a,'D9',1)
elseif PID(i) < 0
writePWMDutyCycle(a,'D9',0)
elseif 0 < PID(i) < 1
writePWMDutyCycle(a,'D9',PID(i))
end
end
display('Control System has stopped')