Come scegliere un sensore
Parti da ciò che ti serve sapere, non dal sensore che hai nel kit. Per un termometro da stanza bastano ±0,5 °C; contro la muffa o in una serra conviene un sensore di umidità da ±2 % UR; una stazione meteo che confronta la pressione con le previsioni ha bisogno di una buona precisione assoluta, mentre per un altimetro conta quella relativa.
Poi guarda come si collega. I sensori I²C condividono due fili con altri dispositivi, purché gli indirizzi siano diversi; DHT11 e DHT22 usano un protocollo a filo singolo tutto loro, il DS18B20 usa l’1-Wire e la maggior parte dei sensori di CO₂ e di polveri usa una UART. Con ESP32 e Raspberry Pi Pico preferisci sensori che funzionano a 3,3 V o con linee dati a 3,3 V.
Temperatura e umidità: la posizione conta più del chip
L’umidità relativa dipende dalla temperatura: un sensore di 2 °C più caldo della stanza legge un’umidità più bassa di diversi punti percentuali, qualunque cosa dica il suo datasheet. Mettilo lontano dal microcontrollore, dal regolatore e dall’antenna Wi-Fi, meglio se su un cavetto o in un contenitore aerato, e lontano dal sole diretto.
DHT11 e DHT22 sono economici e semplici, ma lenti e meno precisi. AHT20, SHT31, SHT4x, HTU21D, Si7021 e HDC1080 sono sensori I²C con ±0,2–0,3 °C tipici; tra questi l’SHT4x è il più preciso sull’umidità. Il BME280 aggiunge la pressione in cambio di un po’ di precisione, mentre DS18B20 e TMP117 misurano solo la temperatura.
CO₂ reale o eCO₂
I sensori NDIR e fotoacustici (MH-Z19C, SCD30, SCD40, SCD41) misurano davvero la CO₂, che ti dice quando una stanza va arieggiata. I sensori a ossidi metallici (SGP30, SGP40, SGP41, ENS160, CCS811, BME680) reagiscono ai composti organici volatili: alcuni ne ricavano una stima di “eCO₂”, che però non è una misura della CO₂. Sono utili per accorgersi di cucina, detersivi o vernici, e sono più piccoli ed economici.
Ultrasuoni, infrarossi o laser per la distanza
I moduli a ultrasuoni come l’HC-SR04 hanno un fascio largo e funzionano su vetro e superfici scure, ma i materiali morbidi assorbono l’eco. I sensori laser a tempo di volo (VL53L0X, VL53L1X, VL53L4CD) e il LiDAR TF-Luna hanno un fascio stretto e leggono bersagli piccoli, ma la luce del sole e le superfici scure ne riducono la portata. Per i serbatoi d’acqua la scelta abituale è il JSN-SR04T impermeabile.
Ogni sensore I²C rimanda alla sua scheda nell’elenco degli indirizzi I²C, con collegamenti, pull-up e conflitti. Per i progetti a batteria, somma la corrente del sensore a quella del resto della scheda nel calcolo dell’autonomia della batteria.
Fonti: datasheet e pagine prodotto dei produttori (Sensirion, Bosch Sensortec, Texas Instruments, Analog Devices, Silicon Labs, TE Connectivity, Aosong, Infineon, STMicroelectronics, Benewake, Sharp, ROHM, ams OSRAM, Vishay, Winsen, ScioSense, Plantower, Nova Fitness) e documentazione di ESPHome, verificati a novembre 2026.
Domande frequenti
Qual è il miglior sensore di temperatura e umidità per ESP32?
Per la precisione, un Sensirion SHT4x o SHT31 su I²C: ±0,2 °C e ±1,8 o ±2 % UR tipici. L’AHT20 costa meno e ci va vicino (±0,3 °C, ±2 % UR). Scegli il BME280 se ti serve anche la pressione e tieni il DHT22 per i progetti semplici. Qualunque sensore scegli, montalo lontano dalle parti calde della scheda.
Meglio il DHT22 o il BME280?
Il DHT22 è dichiarato a ±0,5 °C e ±2 % UR tipici, il BME280 a ±1 °C (±0,5 °C a 25 °C) e ±3 % UR. Il BME280 aggiunge la pressione, funziona su I²C o SPI e in sleep assorbe 0,1 µA contro circa 50 µA, quindi è adatto ai progetti a batteria; il DHT22 è lento e usa un protocollo a filo singolo tutto suo. Per un’umidità precisa, un SHT4x batte entrambi.
Perché il mio sensore segna un’umidità bassa in casa?
Di solito perché è più caldo della stanza. L’umidità relativa scende quando la temperatura sale, quindi un sensore scaldato dal microcontrollore, dal regolatore o dal sole legge un’aria troppo secca. Allontanalo dalla scheda, su un cavetto o in un contenitore aerato, e confrontalo con un altro sensore dopo qualche minuto.
SGP30, ENS160 e CCS811 misurano la CO₂?
No. Sono sensori di gas a ossidi metallici che reagiscono ai composti organici volatili e ne ricavano una stima di “eCO₂”. Per conoscere il livello reale di CO₂, per esempio per decidere quando arieggiare una stanza, usa un sensore NDIR o fotoacustico come SCD40, SCD41, SCD30 o MH-Z19C.
Meglio l’HC-SR04 o il VL53L0X?
L’HC-SR04 arriva a 4 m con un fascio largo e vede il vetro, ma richiede 5 V e un partitore sul pin di eco con le schede a 3,3 V. Il VL53L0X è un piccolo sensore laser I²C a 3,3 V con un fascio stretto: circa 1,2 m su bianco al chiuso, fino a 2 m al buio, meno sotto il sole. Per i serbatoi d’acqua usa il JSN-SR04T impermeabile.
Posso collegare due sensori con lo stesso indirizzo I²C?
Solo se il sensore permette di cambiarlo: molti hanno un pin di indirizzo (BME280, SHT31, TMP117), i VL53 si possono rinumerare via software e sull’SHT4x l’indirizzo dipende dalla sigla del componente. Altrimenti usa un multiplexer come il TCA9548A, oppure un secondo bus I²C sull’ESP32.
Quali di questi sensori funzionano con ESPHome?
Quasi tutti hanno un componente ESPHome ufficiale, indicato nella tabella. Non ce l’hanno VL53L1X, VL53L4CD e Sharp GP2Y0A21; il sensore Sharp si può comunque leggere con il componente adc. Il generatore ESPHome di questo sito scrive la configurazione per DHT11, DHT22, BME280, SHT3x e DS18B20.