#include "GyverPID.h" GyverPID mot (0.35, 0.09, 0.05); int shim = 10; int volt = A1; int pulse; void setup() { // put your setup code here, to run once: Serial.begin (9600); Serial.setTimeout(10); mot.setpoint = 310; pinMode(shim, OUTPUT); pinMode(volt, INPUT); } void loop() { pulse = analogRead(volt); mot.input = pulse; mot.getResult(); analogWrite(shim, mot.output); Serial.print(mot.input); Serial.print (" "); Serial.print(mot.output); Serial.print (" "); Serial.println(mot.setpoint); parsing(); } void parsing(){ if(Serial.available() > 1) { char incoming = Serial.read(); float value = Serial.parseFloat(); switch (incoming) { case 'p': mot.Kp = value; break; case 'i': mot.Ki = value; break; case 'd': mot.Kd = value; break; case 's': mot.setpoint = value; break; } } }