ultimo aggiornamento 1 novembre 2019


  

Il sensore DS18B20 è una una sonda in grado di rilevare una temperatura compresa nel campo -55°C÷125°C con un’accuratezza di ±0.5°C nel campo -10°C÷85°C.
Il campionamento della temperatura è effettuato su 12 bit in virgola fissa con 4 cifre decimali.

homotix

 

Vedremo come effettuare la lettura del sensore DS18B20 tramite la scheda Arduino, lo schema di collegamento (riportato sotto) è molto semplice esso prevede anche il collegamento ad una scheda LCD su cui verrà mostrato il valore della temperatura, in questo modo si otterrà un modulo autonomo.
Il circuito potrà essere montato semplicemente su una scheda proto shield, una volta realizzato occorrerà caricare nella memoria del processore il programma.    Il programma risulta molto semplice in quanto utilizza delle apposite librerie che si occupano di tutta la gestione del sensore.
Queste librerie sono richiamate all'inizio del programma tramite le istruzioni

#include <OneWire.h> 
#include <DallasTemperature.h> Scritta da Miles Burton (sito originale)
#include <LiquidCrystal.h>

 


Libreria
OneWire

Libreria
DallasTemperatura

Libreria
LiquidCrysta

Elenco componenti
R1 4k7Ω 1/4W
IC1 Scheda Arduino
IC2 Sensore DS18B20
LCD Connettore Header 10 Vie
Molex Codice RS
360-6746 


Programma
Lettura_ds18b20

 

DS18B20 Termometro digitale 1-Wire a risoluzione programmabile
Piedinatura Datasheet Foto dell'integrato

/*
 Lettura_ds18b20.pde
 Il programma permette la misurazione della temperatura
 che viene mostrata su un display LCD
 
 Vengono utilizzati i seguenti pin
 Pin +5V         -> Alimentazione
 Pin GND         -> Alimentazione
 Pin Digital 2   -> Linea dati sensore DS18B20
 Pin Digital 4   -> Bus D4 dati LCD
 Pin Digital 5   -> Bus D5 dati LCD
 Pin Digital 6   -> Bus D6 dati LCD
 Pin Digital 7   -> Bus D7 dati LCD
 Pin Digital 8   -> terminale RS display LCD
 Pin Digital 9   -> terminale EN display LCD
 Pin Digital 10  -> attivazione retroilluminazione
 Pin Analogico 0 -> lettura keypad
 
 Creato il 20/9/2010
 da Adriano Gandolfo <https://www.adrirobot.it>
 This example code is in the public domain.
 */

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

// Il terminale data del sensore è connesso
// alla porta 2 di Arduino
#define ONE_WIRE_BUS 2

// Imposta la comunicazione oneWire per comunicare
// con un dispositivo compatibile
OneWire oneWire(ONE_WIRE_BUS);

// Passaggio oneWire reference alla Dallas Temperature. 
DallasTemperature sensors(&oneWire);

// RS EN D4 D5 D6 D7
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

void setup(void)
{
  // Start up the library
  sensors.begin();
  // Imposta il valore di righe e colonne del display LCD 
  lcd.begin(16, 2);
}

void loop(void)
{ 

  sensors.requestTemperatures(); // Invia il comando di lettura delle temperatura
  lcd.clear();
  lcd.setCursor(0, 0); // bottom left
  lcd.print("Temperatura di: ");
  lcd.setCursor(0, 1); // bottom left
  lcd.print (sensors.getTempCByIndex(0));
  lcd.print (" C"); 
}

Elenco revisioni

01/11/2019

Aggiirnata pagina

22/09/2011

Emissione preliminare
Private Policy Cookie Policy