надо просто заменить кусок из 85-го сообщения на приведенный мной код. И все :-)
Это фактически тот же код, что и Ваш, отличается двумя вещами:
1. Вместо кучи идентичных if стоит один.
2. Добавлена DeltaConst, то есть диапазон значений, мертвая зона, в которой двигатель стоит (оба вывода в high).
Вы этот диапазон организовали так:
if (analogRead(var)<var_15)digitalWrite(m3_r,HIGH);
else digitalWrite(m3_r,LOW);
if (analogRead(var)>var_14)digitalWrite(m3_l,HIGH);
else digitalWrite(m3_l,LOW);
а я - впрямую прописал.
Без диапазона (как у Вас с temp_s==40) всегда будет жужать потому, что и АЦП шумит немнгого (значение не постоянно) и двигатель не может мгновенно остановиться, да и внутри сервомеханизма переменный резистор не идеален. Чуть проскочило в одну сторону, начинает в обратную, потом опять и тд. А так есть мертвая зона, в нее зашли и мотор стоит.