Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Adafruit_GFX.h>
- #include <Adafruit_ST7735.h> // Libreria per il display
- #include <Wire.h> // Libreria per la comunicazione I2C
- #include <Adafruit_SHT4x.h> // Libreria specifica per il sensore SHT45
- // Definizione dei pin del display ST7735
- #define TFT_CS 10
- #define TFT_RST 8
- #define TFT_DC 9
- #define TFT_SCLK 13
- #define TFT_MOSI 11
- // Creazione dell'oggetto per il display ST7735
- Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);
- // Creazione dell'oggetto per il sensore SHT45
- Adafruit_SHT4x sht4 = Adafruit_SHT4x();
- void setup() {
- // Inizializzazione del monitor seriale
- Serial.begin(9600);
- // Inizializzazione del display
- tft.initR(INITR_BLACKTAB); // Inizializza il display ST7735
- tft.fillScreen(ST7735_BLACK); // Pulisce lo schermo con il nero
- tft.setTextColor(ST7735_WHITE);
- tft.setTextSize(1);
- // Inizializzazione del sensore SHT45
- if (!sht4.begin()) {
- Serial.println("Errore nell'inizializzazione del SHT45!");
- tft.fillScreen(ST7735_RED);
- tft.setCursor(0, 0);
- tft.println("Errore nel SHT45!");
- while (1) delay(10); // Blocco il programma se il sensore non risponde
- }
- // Configurazione del sensore SHT45
- sht4.setPrecision(SHT4X_HIGH_PRECISION); // Alta precisione
- sht4.setHeater(SHT4X_NO_HEATER); // Disattiva riscaldatore
- // Messaggio di benvenuto
- tft.setCursor(0, 0);
- tft.println("ST7735 & SHT45 Test");
- delay(2000);
- }
- void loop() {
- // Lettura dei dati dal sensore SHT45
- sensors_event_t humidity, temp;
- sht4.getEvent(&humidity, &temp); // Ottieni i valori di umidità e temperatura
- // Stampa dei dati sul monitor seriale
- Serial.print("Umidita': ");
- Serial.print(humidity.relative_humidity, 1); // 1 decimale
- Serial.print(" %\t");
- Serial.print("Temperatura: ");
- Serial.print(temp.temperature, 1); // 1 decimale
- Serial.println(" *C");
- // Visualizzazione dei dati sul display
- tft.fillScreen(ST7735_BLACK); // Pulisce lo schermo
- tft.setCursor(0, 0);
- tft.print("Temp: ");
- tft.print(temp.temperature, 1); // 1 decimale
- tft.println(" C");
- tft.print("Umidita': ");
- tft.print(humidity.relative_humidity, 1); // 1 decimale
- tft.println(" %");
- // Aspetta un po' prima della prossima lettura
- delay(2000);
- }
Add Comment
Please, Sign In to add comment