Nota
Ciao, benvenuto nella Comunità di Appassionati di Raspberry Pi, Arduino e ESP32 di SunFounder su Facebook! Approfondisci le tue conoscenze su Raspberry Pi, Arduino e ESP32 con altri appassionati.
Why Join?
Expert Support: Risolvi problemi post-vendita e sfide tecniche con il supporto della nostra comunità e del nostro team.
Learn & Share: Scambia consigli e tutorial per migliorare le tue competenze.
Exclusive Previews: Ottieni accesso anticipato ad annunci di nuovi prodotti e anteprime esclusive.
Special Discounts: Godi di sconti esclusivi sui nostri prodotti più recenti.
Festive Promotions and Giveaways: Partecipa a giveaway e promozioni festive.
👉 Pronto a esplorare e creare con noi? Clicca [qui] e unisciti oggi!
Lezione 18: Modulo Sensore di Temperatura (DS18B20)
In questa lezione, imparerai come leggere i dati di temperatura da un modulo sensore di temperatura DS18B20 utilizzando una scheda di sviluppo ESP32. Useremo la libreria DallasTemperature per interfacciarci con il sensore e visualizzare le letture della temperatura sia in gradi Celsius che Fahrenheit sul Monitor Seriale.
Componenti Necessari
Per questo progetto, abbiamo bisogno dei seguenti componenti.
È decisamente conveniente acquistare un kit completo, ecco il link:
Nome |
ELEMENTI IN QUESTO KIT |
LINK |
---|---|---|
Kit Sensori Universale Maker |
94 |
Puoi anche acquistarli separatamente dai link qui sotto.
Introduzione al Componente |
Link d’acquisto |
---|---|
ESP32 & Scheda di Sviluppo (ESP32 WROOM 32E) |
|
- |
|
Cablaggio

Codice
Nota
Per installare la libreria, utilizza il Gestore delle Librerie di Arduino e cerca «DallasTemperature» e installala.
Analisi del Codice
Inclusione delle biblioteche
L’inclusione delle librerie OneWire e DallasTemperature permette la comunicazione con il sensore DS18B20.
Nota
Per installare la libreria, utilizza il Gestore delle Librerie di Arduino e cerca «DallasTemperature» e installala.
#include <OneWire.h> #include <DallasTemperature.h>
Definizione del pin dei dati del sensore
Il DS18B20 è collegato al pin digitale 25 dell’Arduino.
#define ONE_WIRE_BUS 25
Inizializzazione del sensore
Viene creata e inizializzata un’istanza di OneWire e un oggetto DallasTemperature.
OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire);
Funzione di setup
La funzione
setup()
inizializza il sensore e configura la comunicazione seriale.void setup(void) { sensors.begin(); // Avvia la libreria Serial.begin(9600); }
Loop principale
Nella funzione
loop()
, il programma richiede letture della temperatura e le stampa sia in Celsius che in Fahrenheit.void loop(void) { sensors.requestTemperatures(); Serial.print("Temperature: "); Serial.print(sensors.getTempCByIndex(0)); Serial.print("℃ | "); Serial.print((sensors.getTempCByIndex(0) * 9.0) / 5.0 + 32.0); Serial.println("℉"); delay(500); }