numbers not changing on TFT

i have been try to get Sensor values to display .Its loading up but no numbers ar changing does anyone have experince with this issue . I have stuck on this issue for while .The display is a Arduino TFT 1.8…thanks again

#include <TFT.h>
#include <SPI.h>
/*
  CONNECT Vout OF TEMP36_1 TO A0, VCC TO 5V OF ARDUINO, GND TO GND
  CONNECT Vout OF TEMP36_2 TO A1, VCC TO 5V OF ARDUINO, GND TO GND
  
  CONNECT DHT TO DIGITAL PIN 3, VDD TO 5V OF ARDUINO, GND TO GND
  CONNECT DQ OF DS18B20 TO DIGITAL PIN 2, VCC & GND WITH GND OF ARDUINO
  
  NOTE: CONNECT DHT & DS18B20 Via resistors as shown in circuit diagram 
  
 
  digital pin 4 is output for relay which coresponds TMP36_1
  digital pin 5 is output for relay which coresponds TMP36_2
  digital pin 6 is output for relay which coresponds DHT
  digital pin 7 is output for relay which coresponds DS18B20
 */


#include <TMP36.h>
#include <DallasTemperature.h>
#include <OneWire.h>
OneWire OneWire(2);
DallasTemperature sensors(&OneWire);
String sensorValue,temp;

#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <DHT_U.h>
//Constants
#define DHTPIN 3     // what pin we're connected to
#define DHTTYPE DHT22   // DHT 11  (AM2302)
DHT dht(DHTPIN, DHTTYPE); //// Initialize DHT sensor for normal 16mhz Arduino
//Variables
int chk;
String hum;  //Stores humidity value
String DHT_temp; //Stores temperature value

const int Pin0 = A0,Pin1 = A1;
String degreesC0,degreesC1;

char temp36_1[4];
char temp36_2[4];
char DHT_TEMP[4];
char DHT_hum[4];
char DS18B20[4];
TMP36 myTMP36_1(A0, 5.0);
TMP36 myTMP36_2(A1, 5.0);

// pin definition for the Uno
#define cs   10
#define dc   9
#define rst  8

// create an instance of the library
TFT TFTscreen = TFT(cs, dc, rst);

void setup()
{
    Serial.begin(9600);
    dht.begin();
    TFTscreen.begin();
    TFTscreen.setRotation(1); 
     TFTscreen.background(255,255,255);
     TFTscreen.setTextSize(2);
     TFTscreen.stroke(50, 50, 50);
    TFTscreen.setCursor(5,5);
    TFTscreen.text("Automated Hydroponic System :\n ", 5, 5);
    
    pinMode(4,OUTPUT);   
    pinMode(5,OUTPUT);    
    pinMode(6,OUTPUT);  
    pinMode(7,OUTPUT);   
    
}


void loop()
{


   degreesC0 = String(myTMP36_1.getTempC());
   degreesC0.toCharArray(temp36_1,4);
   degreesC1 = String(myTMP36_2.getTempC());
   degreesC0.toCharArray(temp36_2,4);

   // read the value from the DS18020 sensor:
   sensors.requestTemperatures();
   temp=String(sensors.getTempCByIndex(0));
   temp.toCharArray(DS18B20,4);



    delay(100);
    //Read data and store it to variables hum and temp
    hum = String(dht.readHumidity());
    hum.toCharArray(DHT_hum,4);
    
    DHT_temp= String(dht.readTemperature());
    DHT_temp.toCharArray(DHT_TEMP,4);
   
   TFTscreen.setCursor(25,5);
    TFTscreen.stroke(0, 0, 0);
    TFTscreen.setTextSize(1);
    TFTscreen.text("TEMP36_1: ",25,5);
    TFTscreen.setCursor(25,20);
    TFTscreen.text(temp36_1,25,20);
    delay(100);
    TFTscreen.setCursor(35,5);
    TFTscreen.setTextSize(1);
    TFTscreen.text("TEMP36_2:",35,5);
    TFTscreen.setCursor(35,20);
    TFTscreen.text(temp36_2,35,20);
    delay(50);
    TFTscreen.setCursor(45,5);
    TFTscreen.setTextSize(1);
   TFTscreen.text("DSB18020:",45,5);
    TFTscreen.setCursor(45,20);
    TFTscreen.text(DS18B20,45,20);
    delay(50);
    TFTscreen.setCursor(55,5);
    TFTscreen.setTextSize(1);
    TFTscreen.text("dht_temp:",55,5);
    TFTscreen.setCursor(55,20);
    TFTscreen.text(DHT_TEMP,55,20);
    delay(50);
    TFTscreen.setCursor(65,5);
    TFTscreen.setTextSize(1);
    TFTscreen.text("Humadity:",65,5);
    TFTscreen.setCursor(65,20);
    TFTscreen.text(DHT_hum, 65, 20);
    delay(50); // repeat once per second (change as you wish!)

    if(degreesC0 >=27)
    {
      digitalWrite(4,HIGH);
    }
    else
    {
      digitalWrite(4,LOW);
    }

    if(degreesC1 >=20)
    {
      digitalWrite(5,HIGH);
    }
    else
    {
      digitalWrite(5,LOW);
    }

    if(DHT_temp >=35)
    {
      digitalWrite(6,HIGH);
    }
    else
    {
      digitalWrite(6,LOW);
    }

    if(temp >=35)
    {
      digitalWrite(7,HIGH);
    }
    else
    {
      digitalWrite(7,LOW);
    }

    
}

Have you written a simple bit of test code that will write a number to the screen, wait a bit, then writes a new number ?

Its what I would do when debugging an new board or setup. Starting with a large programs with lots of different functions going on can be difficult.

yes .The TFTDisplayTEXt example works fine . From what i understand theres a trick to refresh the numbers when thy change bet i dont get iy

Well if the example works, then the 'trick' must be in the example ?

Maybe use dtostrf instead of the String class.

// maximum width is "-dd.d" => 5 + 1 (null terminator)
char buffer[6];
dtostrf(myTemp36_1.getTempC(), 5, 1, buffer);

first of all check to see if any values that you are printing are actually changing by doing a Serial.print() to the Serial monitor. Next, there must be a command in the TFT library called setTextColor() and probably it takes 2 arguments, the textcolor & the backgroundcolor, set them both (different colors of course) and the old digits should get overwritten but first blotted out.

yes it is what your saying..I got it now.i thanks alot guys.