In offerta!

Sonda termica impermeabile DS18B20 Sensore di Temperatura

Il prezzo originale era: 6,39 €.Il prezzo attuale è: 3,93 €. Escluso IVA

Sonda termica impermeabile DS18B20 Sensore di Temperatura

Disponibile su ordinazione

COD: ARD0070 Categorie: ,

Descrizione

Ecco una descrizione completa del modulo sonda termica impermeabile DS18B20, accompagnata da una guida dettagliata all’utilizzo con Arduino, esempi di collegamento e codice di programmazione.


🌡️ Sonda Termica Impermeabile DS18B20 – Sensore di Temperatura Digitale per Arduino

✅ Descrizione Generale

La DS18B20 è una sonda di temperatura digitale impermeabile che misura temperature con alta precisione in un’ampia gamma (-55°C a +125°C). Incapsulata in un tubicino d’acciaio inossidabile e dotata di cavo, è perfetta per misurazioni in ambienti umidi o liquidi, come:

  • Acqua
  • Terreno
  • Impianti di riscaldamento
  • Acquari

⚙️ Caratteristiche Tecniche

Caratteristica Valore
Sensore interno DS18B20 digitale
Range di temperatura da -55°C a +125°C
Precisione ±0.5°C (da -10°C a +85°C)
Risoluzione Programmabile: 9–12 bit
Protocollo 1-Wire
Alimentazione 3.0 – 5.5V
Uscita Digitale (1-Wire, non analogica)
Lunghezza del cavo tipica 90–100 cm (varia in base al venditore)
Impermeabilità Sì (acciaio inox 304 o 316)

📌 Ogni sensore DS18B20 ha un ID univoco a 64 bit, quindi puoi collegarne più di uno sullo stesso pin Arduino!


🧪 Collegamento alla Scheda Arduino

🧰 Materiale necessario

  • Sonda DS18B20 impermeabile
  • 1 Resistenza da 4.7 kΩ
  • Arduino Uno, Nano, Mega, ecc.
  • Breadboard e jumper

🔌 Schema di Collegamento

Filo Sonda Collegamento
Nero GND
Rosso 5V
Giallo Dati (es. D2)

Importante: collega una resistenza da 4.7 kΩ tra il pin dati (giallo) e 5V (pull-up), altrimenti il sensore non funzionerà correttamente.


💻 Programmazione Arduino

📦 Librerie Necessarie

Installa le seguenti librerie da Arduino IDE → Gestione Librerie:

  1. OneWire di Paul Stoffregen
  2. DallasTemperature di Miles Burton

📜 Codice di Base – Lettura Temperatura da una DS18B20

#include <OneWire.h>
#include <DallasTemperature.h>

// Pin dati della sonda collegato al pin D2
#define ONE_WIRE_BUS 2

// Setup comunicazione OneWire
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

void setup() {
  Serial.begin(9600);
  sensors.begin(); // inizializza i sensori
}

void loop() {
  sensors.requestTemperatures(); // richiede la temperatura da tutti i sensori
  float tempC = sensors.getTempCByIndex(0); // legge la temperatura del primo sensore trovato
  Serial.print("Temperatura: ");
  Serial.print(tempC);
  Serial.println(" °C");
  delay(1000);
}

🧠 Approfondimenti e Funzioni Utili

🔄 Più Sonde sullo Stesso Pin

Ogni DS18B20 ha un ID unico: puoi rilevarlo con sensors.getAddress() e poi usarlo per leggere la temperatura da una specifica sonda.

📏 Impostare la Risoluzione

sensors.setResolution(12); // valori validi: 9, 10, 11, 12 (più bit = maggiore precisione, ma lettura più lenta)

🔋 Vantaggi della DS18B20

  • ✅ Uscita digitale stabile e precisa
  • ✅ Ottima per ambienti umidi o liquidi
  • ✅ Supporto a più sensori in parallelo (grazie al protocollo 1-Wire)
  • ✅ Codice semplice e ampiamente supportato

📚 Esempi di Applicazione

  • 🌡️ Monitoraggio della temperatura del suolo o serra
  • 💧 Monitoraggio di liquidi (acqua, birra, vino, ecc.)
  • 🐟 Controllo temperatura acquari
  • 🔥 Controllo caldaie o riscaldamenti
  • 🧪 Progetti IoT o data logging con microSD o WiFi

🛠 Consigli Pratici

  • Usa guaina termorestringente o connettori impermeabili se estendi il cavo.
  • Se alimenti il sensore da 3.3V (es. su ESP32), controlla che la lunghezza del cavo sia limitata (per evitare cadute di tensione).
  • Puoi alimentare il DS18B20 in parassitic mode, ma si consiglia l’alimentazione normale per affidabilità.

✅ Conclusione

La sonda impermeabile DS18B20 è uno dei sensori di temperatura più versatili, precisi e semplici da usare con Arduino. È ideale per:

  • Uso in ambienti esterni o liquidi
  • Progetti multipli su un solo pin
  • Applicazioni IoT di temperatura

✅ 1. Integrazione con Display LCD o OLED

Opzione A: Display LCD 16×2 con I2C

🔧 Hardware:

  • DS18B20
  • Display LCD 16×2 con adattatore I2C
  • Arduino Uno/Nano
  • Resistenza 4.7kΩ

📦 Librerie:

  • LiquidCrystal_I2C
  • OneWire, DallasTemperature

📜 Codice base:

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <OneWire.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
LiquidCrystal_I2C lcd(0x27, 16, 2); // cambia l'indirizzo se necessario

void setup() {
  lcd.init();
  lcd.backlight();
  sensors.begin();
}

void loop() {
  sensors.requestTemperatures();
  float temp = sensors.getTempCByIndex(0);
  lcd.setCursor(0, 0);
  lcd.print("Temp: ");
  lcd.print(temp);
  lcd.print(" C");
  delay(1000);
}

Opzione B: Display OLED 128×64 I2C (es. SSD1306)

📦 Librerie:

  • Adafruit_SSD1306
  • Adafruit_GFX
  • DallasTemperature, OneWire

📜 Codice base disponibile se vuoi anche layout grafici personalizzati. Fammi sapere se lo vuoi!


📡 2. Integrazione Wi-Fi con ESP8266/ESP32 (monitoraggio remoto)

Soluzione A: ESP8266/ESP32 con Web Server Locale

📦 Librerie:

  • WiFi
  • ESPAsyncWebServer (o WebServer.h)
  • DallasTemperature, OneWire

📜 Codice: ESP crea una pagina web accessibile da PC/smartphone

#include <WiFi.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <WebServer.h>

const char* ssid = "TUO_SSID";
const char* password = "TUA_PASSWORD";

#define ONE_WIRE_BUS 4
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
WebServer server(80);

void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) delay(1000);
  sensors.begin();

  server.on("/", []() {
    sensors.requestTemperatures();
    float t = sensors.getTempCByIndex(0);
    server.send(200, "text/html", "<h1>Temperatura: " + String(t) + " °C</h1>");
  });

  server.begin();
}

void loop() {
  server.handleClient();
}

📲 Apri il browser sul tuo smartphone → inserisci l’IP del modulo ESP (stampato nel Serial Monitor).


Soluzione B: ESP + Blynk (o Telegram) → App smartphone

  • Visualizza la temperatura in tempo reale
  • Aggiungi notifiche, grafici e log nel cloud

Posso fornirti codice pronto per Blynk (2.0) se vuoi app senza scrivere interfaccia da zero.


📁 3. Salvataggio su SD Card

🔧 Hardware:

  • Modulo SD card (microSD)
  • Arduino Uno/Mega
  • DS18B20

📦 Librerie:

  • SD.h
  • SPI.h
  • DallasTemperature, OneWire

📜 Codice base:

#include <SPI.h>
#include <SD.h>
#include <OneWire.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS 2
#define SD_CS 10

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
File logFile;

void setup() {
  Serial.begin(9600);
  sensors.begin();
  SD.begin(SD_CS);
}

void loop() {
  sensors.requestTemperatures();
  float temp = sensors.getTempCByIndex(0);

  logFile = SD.open("log.csv", FILE_WRITE);
  if (logFile) {
    logFile.print(millis() / 1000);
    logFile.print(",");
    logFile.println(temp);
    logFile.close();
  }
  delay(5000);
}

📝 File log.csv pronto per Excel/LibreOffice.


📲 4. Visualizzare i Dati su Smartphone

Opzione A: Web Server (ESP)

  • Apri l’IP del modulo dal browser (non serve app)
  • Layout HTML personalizzabile

Opzione B: App Blynk 2.0

  • Dashboard grafica: gauge, grafici, notifiche
  • Lettura della temperatura e automazioni (es. “accendi ventola se >30°C”)

Opzione C: Telegram Bot (ESP32/ESP8266)

  • Ricevi messaggi con temperatura via Telegram

📦 Progetto Completo Possibile

Sistema Smart Monitor di Temperatura
✔️ DS18B20 impermeabile
✔️ ESP32 con Wi-Fi
✔️ Visualizzazione su OLED
✔️ Invio su smartphone via Web o Blynk
✔️ Backup su SD card


Abbiamo disponibili datasheet di tutti i componenti, qualora non fosse presente nella scheda download del prodotto inviaci un messaggio dal modulo contattaci e lo pubblicheremo il prima possibile nel nostro sito.

Tutorial: Come usare Sonda termica DS18B20

La sonda termica DS18B20 misura precise temperature in ambienti umidi e asciutti. Ideale per progetti di umidità e temperatura.

Cosa serve

  • Sonda termica DS18B20
  • Arduino
  • Resistenza pull-up (4.7kΩ)
  • Cavo di connessione

Passi

  1. 1. Collega la sonda termica al pin DQ dell’Arduino tramite il cavo.
  2. 2. Collega la resistenza pull-up tra il pin DQ e la VCC di 5V.
  3. 3. Collega il pin GND della sonda alla GND dell’Arduino.
  4. 4. Carica il codice Arduino fornito.
  5. 5. Verifica sul datasheet per la precisione di misura.
  6. 6. Prova la sonda con un’applicazione di test.
  7. 7. Verifica la temperatura in vari ambienti.
  8. 8. Configura l’alarma di temperatura se necessario.

Codice di esempio

```void loop() {  // Leggi la temperatura  OneWire ds(DQ);  DigitalClock ds;  float tempC = ds.getTempC();  Serial.print("Temperatura: ");  Serial.print(tempC);  Serial.println("°C");  delay(1000);}```

Mini-progetto

Costruisci un sistema di monitoraggio della temperatura per un serbatoio d’acqua.

Errori comuni

  • Dimenticare la resistenza pull-up.
  • Collegare il pin DQ a VCC.
  • Non verificare la connessione prima dell’uso.
  • Impostare l’alarma di temperatura senza configurarla.

Accessori consigliati

  • Arduino UNO
  • Display LCD 16×2
  • Batteria 3.7V
  • Cavo USB

Domande frequenti

Come posso verificare la connessione?
Controlla che la sonda sia ben collegata e che la resistenza pull-up sia installata correttamente.

Qual è la precisione di misura?
Verifica sul datasheet per la precisione di misura.

Posso utilizzare questa sonda con un microcontrollore diverso?
Sì, ma verifica la compatibilità con il pin DQ e la tensione di alimentazione.

Informazioni aggiuntive

Peso 21 g