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.
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 |
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 |