Probably a timing issue. Your timer is set to run every second (1000 ms):
timer.setInterval(1000L, getSendData);
This puppy requires about 800 ms to finish:
DS18B20.requestTemperatures();
With everything else going on, that might be too long before the timer want to start over again and it will normally generate strange behavior
I would use two timers, one for the temp and one for whatever int pos = servo.read();
does.
To avoid unnecessary delays when fetching the temperature, you could
use DS18B20.setWaitForConversion(0);
to speed things up. It requires some coding, I’ve written about it many times so just search the forum or look at my old project: Cheap(est) RF 433 Mhz bridge for home automation with both Tx and Rx
Can’t you set this once and for all during setup?
digitalWrite(2, HIGH);