Guest User

Codice 2

a guest
Aug 23rd, 2024
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.30 KB | None | 0 0
  1. #include <Adafruit_GFX.h>
  2. #include <Adafruit_ST7735.h> // Libreria per il display
  3. #include <Wire.h> // Libreria per la comunicazione I2C
  4. #include <Adafruit_SHT4x.h> // Libreria specifica per il sensore SHT45
  5.  
  6. // Definizione dei pin del display ST7735
  7. #define TFT_CS 10
  8. #define TFT_RST 8
  9. #define TFT_DC 9
  10. #define TFT_SCLK 13
  11. #define TFT_MOSI 11
  12.  
  13. // Creazione dell'oggetto per il display ST7735
  14. Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);
  15.  
  16. // Creazione dell'oggetto per il sensore SHT45
  17. Adafruit_SHT4x sht4 = Adafruit_SHT4x();
  18.  
  19. void setup() {
  20. // Inizializzazione del monitor seriale
  21. Serial.begin(9600);
  22.  
  23. // Inizializzazione del display
  24. tft.initR(INITR_BLACKTAB); // Inizializza il display ST7735
  25. tft.fillScreen(ST7735_BLACK); // Pulisce lo schermo con il nero
  26. tft.setTextColor(ST7735_WHITE);
  27. tft.setTextSize(1);
  28.  
  29. // Inizializzazione del sensore SHT45
  30. if (!sht4.begin()) {
  31. Serial.println("Errore nell'inizializzazione del SHT45!");
  32. tft.fillScreen(ST7735_RED);
  33. tft.setCursor(0, 0);
  34. tft.println("Errore nel SHT45!");
  35. while (1) delay(10); // Blocco il programma se il sensore non risponde
  36. }
  37.  
  38. // Configurazione del sensore SHT45
  39. sht4.setPrecision(SHT4X_HIGH_PRECISION); // Alta precisione
  40. sht4.setHeater(SHT4X_NO_HEATER); // Disattiva riscaldatore
  41.  
  42. // Messaggio di benvenuto
  43. tft.setCursor(0, 0);
  44. tft.println("ST7735 & SHT45 Test");
  45. delay(2000);
  46. }
  47.  
  48. void loop() {
  49. // Lettura dei dati dal sensore SHT45
  50. sensors_event_t humidity, temp;
  51. sht4.getEvent(&humidity, &temp); // Ottieni i valori di umidità e temperatura
  52.  
  53. // Stampa dei dati sul monitor seriale
  54. Serial.print("Umidita': ");
  55. Serial.print(humidity.relative_humidity, 1); // 1 decimale
  56. Serial.print(" %\t");
  57. Serial.print("Temperatura: ");
  58. Serial.print(temp.temperature, 1); // 1 decimale
  59. Serial.println(" *C");
  60.  
  61. // Visualizzazione dei dati sul display
  62. tft.fillScreen(ST7735_BLACK); // Pulisce lo schermo
  63. tft.setCursor(0, 0);
  64. tft.print("Temp: ");
  65. tft.print(temp.temperature, 1); // 1 decimale
  66. tft.println(" C");
  67. tft.print("Umidita': ");
  68. tft.print(humidity.relative_humidity, 1); // 1 decimale
  69. tft.println(" %");
  70.  
  71. // Aspetta un po' prima della prossima lettura
  72. delay(2000);
  73. }
  74.  
Add Comment
Please, Sign In to add comment