problema para cargar programa

buenos dias, me presento soy daniel y estoy empezando en el mundo arduino;
mi proyecto va dirigido al mundo del motor, mi idea es poner a través de una pantalla i2c las temperaturas de motor y aceite, etc, me han pasado un programa ya hecho funcionando con arduino UNO pero el problea es que no puedo pasarlo mi placa arduino UNO, me da error el programa arduino, os adjunto el programa ya que yo no tengo conocimientos para hacerlo funcionar e igual es un problema sencillo, les dejo el programa que me han pasado. gracias.

cuando le doy a verificar y compliar, lo hace sin problema, pero cuando le doy a cargar a arduino me dice:El Sketch usa 9084 bytes (28%) del espacio de almacenamiento de programa. El máximo es 32256 bytes.
Las variables Globales usan 964 bytes (47%) de la memoria dinámica, dejando 1084 bytes para las variables locales. El máximo es 2048 bytes.

gracias por leer

#include <LiquidCrystal.h>
#include <OneWire.h>
OneWire ds(7); 

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

// Rele pin on digital 6
int relay = 6;

//  Presion aceite
double OilPressure;
double Pressure;

// Temperartura aceite
double OilTemperature;
double Temp;

// Vacio
double boost;
int BARO = 0;

// Variables entrada analogicas
int RawADCP;
int RawADCT;
int RawADCB;

const int numReadingsT = 100;
float OilTemp[numReadingsT];
int readIndexT = 0;
float totalT = 0;
float averageTemp = 0;

const int numReadingsP = 20;
float OilPress[numReadingsP];
int readIndexP = 0;
float totalP = 0;
float averagePress = 0;

const int numReadingsV = 10;
float Vacu[numReadingsV];
int readIndexV = 0;
float totalV = 0;
float averageVacu = 0;

// Crea el simbolo de grado

byte newChar6[8] = {
  B00010,
  B00101,
  B00101,
  B00010,
  B00000,
  B00000,
  B00000,
  B00000
};

// ******************INICIO VOID SETUP***************************************************

void setup(void) {

  lcd.clear();

  delay(20);

  //******** Calibracion durante los primeros 400ms en arranque para restar presion atmosferica

  while (millis() < 400)
  {
    BARO = analogRead(2);
  }

  //********

  delay(6000);

  Serial.begin(9600);
  
  lcd.begin(20, 4);
  lcd.createChar(6, newChar6);

  pinMode(relay, OUTPUT);

  for (int thisReadingT = 0; thisReadingT < numReadingsT; thisReadingT++) {
    OilTemp[thisReadingT] = 0;
  }

  for (int thisReadingP = 0; thisReadingP < numReadingsP; thisReadingP++) {
    OilPress[thisReadingP] = 0;
  }

  for (int thisReadingV = 0; thisReadingV < numReadingsV; thisReadingV++) {
    Vacu[thisReadingV] = 0;

  }
}

// **************************FIN VOID SETUP***********************************************

// **************************INICIO VOID LOOP*********************************************

void loop(void) {

  OilPressure = float(OilPressure1(analogRead(0)));
  OilTemperature = float(OilTemperature1(analogRead(1)));
  RawADCB = (analogRead(2) - BARO);
  float temperature = getTemp();


  // -------------------MOSTRAR TEMP AC pin digital 7-----------------------------------------

  if (temperature < 10 && temperature >= 0) {

    lcd.setCursor(0, 0);
    delay (10);
    lcd.print("A/C TEMP.   ");
    lcd.setCursor(12, 0);
    lcd.print("+");
    lcd.print(temperature, 1);
    lcd.setCursor(16, 0);
    lcd.write(6);
    lcd.setCursor(17, 0);
    lcd.print("C");

  }
  else {
  }

  if (temperature >= 10) {

    lcd.setCursor(0, 0);
    delay (10);
    lcd.print("A/C TEMP.");
    lcd.setCursor(11, 0);
    lcd.print("+");
    lcd.print(temperature, 1);
    lcd.setCursor(16, 0);
    lcd.write(6);
    lcd.setCursor(17, 0);
    lcd.print("C");

  }
  else {
  }

  if (temperature < 0)  {

    lcd.setCursor(0, 0);
    delay (10);
    lcd.print("A/C TEMP.");
    lcd.setCursor(11, 0);
    lcd.print(temperature, 1);
    lcd.setCursor(16, 0);
    lcd.write(6);
    lcd.setCursor(17, 0);
    lcd.print("C");

  }

  // -------------------MOSTRAR PRESION pin analogico 0----------------------------------------

  totalP = totalP - OilPress[readIndexP];
  OilPress[readIndexP] = OilPressure;
  totalP = totalP + OilPress[readIndexP];
  readIndexP = readIndexP + 1;

  if (readIndexP >= numReadingsP) {
    readIndexP = 0;
  }

  averagePress = totalP / numReadingsP;

  delay(10);

  if (averagePress <= 0) {
    averagePress = 0.0;

    lcd.setCursor(0, 2);
    delay (10);
    lcd.print("OIL PRESS.  ");
    lcd.println(averagePress, 1);
    lcd.setCursor(15, 2);
    lcd.print(" bar");
  }

  else {
  }
  if (averagePress > 0) {

    lcd.setCursor(0, 2);
    delay (10);
    lcd.print("OIL PRESS.  ");
    lcd.println(averagePress, 1);
    lcd.setCursor(15, 2);
    lcd.print(" bar");
  }

  // -------------------MOSTRAR OIL TEMP pin analogico 1----------------------------------------

  totalT = totalT - OilTemp[readIndexT];
  OilTemp[readIndexT] = OilTemperature;
  totalT = totalT + OilTemp[readIndexT];
  readIndexT = readIndexT + 1;

  if (readIndexT >= numReadingsT) {
    readIndexT = 0;
  }

  averageTemp = totalT / numReadingsT;

  delay(40);

  //Activamos rele si la temperatura del aceite es >45ºC, podemos aumentar rpm sin desgaste excesivo motor. Luz en cuadro OFF

  if (OilTemperature> 45.0) {
    digitalWrite(6, HIGH);
  }
  delay(350);

  // Mostramos temperatura

  if (averageTemp < 10 && averageTemp >= 0) {

    lcd.setCursor(0, 1);
    delay (10);
    lcd.print("OIL TEMP.   ");
    lcd.setCursor(12, 1);
    lcd.print("+");
    lcd.println(averageTemp, 1);
    lcd.setCursor(16, 1);
    lcd.write(6);
    lcd.setCursor(17, 1);
    lcd.print("C ");

  }
  else {
  }

  if (averageTemp >= 10 && averageTemp < 100) {

    lcd.setCursor(0, 1);
    delay (10);
    lcd.print("OIL TEMP.  ");
    lcd.setCursor(11, 1);
    lcd.print("+");
    lcd.println(averageTemp, 1);
    lcd.setCursor(16, 1);
    lcd.write(6);
    lcd.setCursor(17, 1);
    lcd.print("C ");

  }
  else {
  }

  if (averageTemp >= 100) {

    lcd.setCursor(0, 1);
    delay (10);
    lcd.print("OIL TEMP.");
    lcd.setCursor(10, 1);
    lcd.print("+");
    lcd.println(averageTemp, 1);
    lcd.setCursor(16, 1);
    lcd.write(6);
    lcd.setCursor(17, 1);
    lcd.print("C ");

  }
  else {
  }

  if (averageTemp < 0 && averageTemp > -10) {

    lcd.setCursor(0, 1);
    delay (10);
    lcd.print("OIL TEMP.");
    lcd.setCursor(12, 1);
    lcd.println(averageTemp, 1);
    lcd.setCursor(16, 1);
    lcd.write(6);
    lcd.setCursor(17, 1);
    lcd.print("C ");

  }

  // -------------------MOSTRAR VACIO pin analogico 2------------------------------------

  boost = ((((RawADCB / 5.0) - 0.04) / 0.004) * 0.0049) * 0.2953337 ;//Convierte raw MAP en kPa > inHg

  totalV = totalV - Vacu[readIndexV];
  Vacu[readIndexV] = boost;
  totalV = totalV + Vacu[readIndexV];
  readIndexV = readIndexV + 1;

  if (readIndexV >= numReadingsV) {
    readIndexV = 0;
  }

  averageVacu = (totalV / numReadingsV);

  lcd.setCursor(0, 3);
  delay (10);
  lcd.print("VACUUM     ");
  lcd.print(averageVacu, 0);
  lcd.print(" inHg ");
  lcd.home();

  delay (30);
}

// **************************FIN VOID LOOP*************************************************

// ***************************CALCULOS*****************************************************

// ++++++++++++++++++CALCULO TEMPERATURA A/C+++++++++++++++++++++++++++++++++++++++++++++++

float getTemp() {

  delay (50);

  byte data[12];
  byte addr[8];

  if (!ds.search(addr)) {
    ds.reset_search();
    return -1000;
  }

  if ( OneWire::crc8( addr, 7) != addr[7]) {
    Serial.println("CRC is not valid!");
    return -1000;
  }
  if ( addr[0] != 0x10 && addr[0] != 0x28) {
    Serial.print("Device is not recognized");
    return -1000;
  }

  ds.reset();
  ds.select(addr);
  ds.write(0x44, 1);

  byte present = ds.reset();

  ds.select(addr);
  ds.write(0xBE);
  for (int i = 0; i < 9; i++) {
    data[i] = ds.read();
  }

  ds.reset_search();

  byte MSB = data[1];
  byte LSB = data[0];

  float tempRead = ((MSB << 8) | LSB);
  float TemperatureSum = tempRead / 16;

  return TemperatureSum;

  delay(100);

}

// +++++++++++++++CALCULO PRESION++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

float OilPressure1(int RawADCP) {

  float Pressure;

  Pressure = (RawADCP / 1023.0) * 5.0;  // Calcula el voltage actual a traves del sensor
  Pressure = (-0.1768167832 + sqrt(0.0312641748211958 - ((4.0 * (-0.006461538462)) * (0.0524965035 - Pressure)))) / -0.012923076924;

  delay (20);

  return Pressure;

}

// ++++++++++++++++CALCULO VDO OIL TEMP++++++++++++++++++++++++++++++++++++++++++++++++++++

float OilTemperature1(int RawADCT) {

  float Resistance;
  float Temp;

  Resistance = ((-1.0 * RawADCT * 5.0 / 1023.0 * 910.0) / (RawADCT * 5.0 / 1023.0 - 5.0));
  Temp = log(Resistance);
  Temp = 1.0 / ((0.001632842402 + (0.0002550688974 * Temp) + (-0.00000006264434723 * Temp * Temp * Temp)));
  Temp = Temp - 273.15;     // Convierte Kelvin a Celsius

  delay (20);

  return Temp;

}

dnie:
le doy a cargar a arduino me dice:El Sketch usa 9084 bytes (28%) del espacio de almacenamiento de programa. El máximo es 32256 bytes. Las variables Globales usan 964 bytes (47%) de la memoria dinámica, dejando 1084 bytes para las variables locales. El máximo es 2048 bytes.

Osea te esta diciendo que todo esta bien.

Si quieres ahorrar un poco de SRAM en variable globales puedes hacer estos cambios:

const byte relay = 6;             //int relay = 6;

//double Pressure;                 //Es local en OilPressure1()
//double Temp;                     //Es local en OilTemperature1
//int RawADCP;                     //Es local en OilPressure1()
//int RawADCT;                     //Es local en OilTemperature1

const byte newChar6[8] = {  //byte newChar6[8] = {

const byte numReadingsV = 10;   //const int numReadingsV = 10;

Te recomiendo leer un poco sobre el Ambito de las variables.

Y cual es el problema con el mensaje que te arroja el IDE, esta bien, eso es lo que estas consumiendo en RAM y FLASH.