Alcune parti di questo sito web non sono ancora disponibili nella tua lingua. Stiamo lavorando per risolvere questo problema e ci scusiamo per eventuali disagi.
Tutoriale ESP32 25/55 - Misurare la temperatura utilizzando NTC e LCD | Kit di apprendimento IoT ESP32 di SunFounder
In questo tutorial, impareremo come misurare la temperatura utilizzando un termistore a coefficiente di temperatura negativo (NTC) e visualizzare le letture su uno schermo LCD utilizzando il microcontrollore ESP32. Il progetto comporterà il collegamento di un termistore NTC all'ESP32 e l'uso di un LCD per mostrare le letture della temperatura sia in Celsius che in Fahrenheit. Questo è un ottimo modo per iniziare con le tecniche di rilevamento e visualizzazione della temperatura utilizzando la piattaforma ESP32.
ESP32-25-NTC_termometroLCD
Utilizzeremo la scheda di espansione ESP32 di SunFounder, che migliora le capacità dell'ESP32 con Wi-Fi e Bluetooth integrati. Questa scheda può essere facilmente integrata con vari sensori e display, rendendola ideale per progetti IoT. Il termistore NTC fornirà letture della temperatura basate sulla sua resistenza, che varia in modo inverso rispetto alla temperatura. Per ulteriori chiarimenti sulla configurazione e sul codice, assicurati di controllare il video (nel video a 00:00).
Hardware Spiegato
I componenti principali utilizzati in questo progetto includono il microcontrollore ESP32, un termistore NTC, una resistenza e un display LCD. L'ESP32 funge da unità centrale di elaborazione, gestendo i dati provenienti dal termistore e controllando il display LCD. Il termistore NTC varia la sua resistenza in base alla temperatura, permettendoci di calcolare la temperatura in base alla configurazione del partitore di tensione con una resistenza fissa.
NTC_termistore
Il display LCD mostrerà le letture della temperatura sia in gradi Celsius che Fahrenheit. Utilizzeremo il protocollo I2C per comunicare con il LCD, il che semplifica il cablaggio riducendo il numero di pin necessari. Il termistore NTC ha una caratteristica in cui la sua resistenza diminuisce con un aumento della temperatura, cosa fondamentale per i nostri calcoli.
Dettagli della scheda dati
Produttore
SunFounder
Numero di parte
Termistore NTC
Resistenza Nominale
10 kΩ
Valore Beta
3950 K
Intervallo di Temperatura
da -40°C a 125°C
Pacchetto
Asseiale
Assicurati che il termistore sia classificato per l'intervallo di temperatura previsto.
Usa un resistore da 10 kΩ per il partitore di tensione; altrimenti, le letture saranno imprecise.
Verifica le connessioni per evitare cortocircuiti.
Mantieni corretto l'indirizzo I2C del LCD (tipicamente 0x27).
Utilizzare livelli di alimentazione appropriati per l'ESP32 e le periferiche.
Controlla che il baud rate del monitor seriale corrisponda alle impostazioni del codice (115200).
Per collegare i componenti, inizia collegando il termistore NTC all'ESP32. Il termistore non ha polarità, quindi può essere collegato in entrambe le direzioni. Collega un capo del termistore al pin di terra (GND) sull'ESP32. L'altro capo si collega a una resistenza da 10 kΩ, che poi si collega al pin 3.3V sull'ESP32. Il punto di giunzione tra il termistore e la resistenza si collegherà al pin35sull'ESP32, che leggerà la tensione per i calcoli della temperatura.
Per il LCD, collegare il pin di terra (tipicamente il secondo pin dall'alto) a GND sull'ESP32. Quindi, collegare il VCC (spesso il primo pin) al pin 5V sull'ESP32. Il pin SDA (di solito il terzo pin) dovrebbe collegarsi al pin21sull'ESP32 e il pin SCL (spesso il quarto pin) dovrebbe collegarsi al pin22Assicurati che tutte le connessioni siano sicure e controlla di nuovo i numeri dei pin per evitare errori.
Esempi di codice e guida passo passo
Il codice inizia definendo le costanti per il termistore, inclusi il numero di pin, la tensione di riferimento e i valori di resistenza. La funzione di setup inizializza la comunicazione seriale e imposta il pin del termistore come ingresso.
const int thermistorPin = 35; // Pin connected to the thermistor
const float referenceVoltage = 3.3;
const float referenceResistor = 10000; // the 'other' resistor
Il ciclo principale legge il valore analogico dal pin del termistore, calcola la resistenza e poi calcola la temperatura sia in Celsius che in Fahrenheit utilizzando l'equazione del parametro Beta. I valori calcolati vengono stampati sul monitor seriale.
int adcValue = analogRead(thermistorPin); // Read ADC value
float voltage = (adcValue * referenceVoltage) / 4095.0; // Calculate voltage
float resistance = (voltage * referenceResistor) / (referenceVoltage - voltage); // Calculate thermistor resistance
Infine, la temperatura viene visualizzata sul LCD. Lalcd.print()La funzione viene utilizzata per mostrare i valori della temperatura, insieme al simbolo di grado.
Questo codice aggiornano efficacemente il LCD ogni 300 millisecondi con le ultime letture della temperatura, consentendo il monitoraggio in tempo reale.
Dimostrazione / Cosa Aspettarsi
Eseguendo il codice e completando il cablaggio, dovresti vedere le letture della temperatura visualizzate sul LCD sia in Celsius che in Fahrenheit. Se tieni il termistore in mano, dovresti notare l'aumento della temperatura man mano che la resistenza diminuisce. Fai attenzione alla polarità invertita e assicurati che le connessioni siano sicure, poiché un cablaggio improprio può portare a letture inaccurate (nel video a 04:50).
Timestamp video
00:00 Inizio
1:50 introduzione al progetto
5:32 cablaggio spiegato
8:20 Codice NTC Arduino per ESP32 spiegato
13:38 Selezione della scheda ESP32 e della porta COM nell'Arduino IDE
15:20 Dimostrazione di misurazione della temperatura NTC