MEGA2560 + TFT ST7735 + DHT11

Socorro. :slight_smile: :slight_smile: :slight_smile:

Sou iniciante neste assunto e passei o FDS tentando fazer este termômetro/umidade funcionar, sem sucesso.

Estou tentando fazer funcionar o meu TFT ST7735 da sainsmart
A leitura do sensor está funcionando na porta serial, porem, no TFT tenho apenas uma tela iluminada branca.

Este é o sketch que estou usando:
#include <Adafruit_GFX.h> // Core graphics library
#include <Adafruit_ST7735.h> // Hardware-specific library
#include <SPI.h>
#include <DHT.h> // dht temp humidity sensor library

#define cs 10
#define dc 9
#define rst 8
#define sda 51
#define scl 52
#define DHTPIN 2 // what digital pin we’re connected to
#define DHTTYPE DHT11 // DHT 11

DHT dht(DHTPIN, DHTTYPE);
Adafruit_ST7735 tft = Adafruit_ST7735(cs, dc, rst, sda, scl);

void setup(void)
{
tft.initR(INITR_BLACKTAB);
tft.fillScreen(ST7735_BLACK);
tft.drawRoundRect(20,28,90,21,5,0x001f);
tft.setCursor(35,15); //x,y
tft.print(“TEMPERATURE”);
tft.drawRoundRect(20,66,90,21,5,0x001f);
tft.setCursor(40,55); //x,y
tft.print(“HUMIDITY”);

dht.begin();
Serial.begin(9600); // abre a serial para teste do sensor
}

void loop ()
{
delay(1000); // Wait a few seconds between measurements.

float h = dht.readHumidity(); // Read Humidity
float t = dht.readTemperature(); // Read temperature as Celsius

// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t)) {
Serial.println(“Failed to read from DHT sensor!”);
return;
}

// Compute heat index in Celsius (isFahreheit = false)
float hic = dht.computeHeatIndex(t, h, false);

// para testar se o sensor está funcionando via saída serial.

Serial.print(“Humidity: “);
Serial.print(h);
Serial.print(” %\t”);
Serial.print("Temperature: “);
Serial.print(t);
Serial.print(” *C ");
Serial.print("Heat index: “);
Serial.print(hic);
Serial.print(” *C ");

tft.setCursor(40, 31);
tft.setTextSize(2);
tft.println(t);

tft.setCursor(40, 70);
tft.setTextSize(2);
tft.print(h);
//delay(10000);
tft.fillRoundRect(21,29,88,19,5,0x0000);
tft.fillRoundRect(21,67,88,19,5,0x0000);

}

Poderiam me ajudar?
Grato

Display_Temp-Humid.ino (1.77 KB)

Será que o tamanho do texto não deveria ser maior???

Tela iluminada branca quer dizer que ela não é inicializada convenientemente. Já correu algum exemplo? Eu começava por aí.