Esta incompleto.
Primero terminas enviado al oled la misma variable voltaje_final y debia ser justamente la que has convertido a char o sea tmp
void displayOLED() {
char tmp[4], buffer[10];
oled.setFont (FONT16X32DIGITS);
dtostrf( voltaje_final, 4, 3, tmp);
sprintf(buffer,"%4s", tmp);
oled.setCursor(30,10);
oled.print( buffer);
}