Spesso capita la necessità di dover leggere temperature multiple. Per esempio se vogliamo monitorare più punti in una stanza, o più punti su un’apperecchiatura. I sensori DS18b20 sono un componente ideale per queste situazioni perché è dotato del bus 1wire.



Il bus 1 wire

introduciamo brevemente il bus 1-wire per comprenderne l’utilità e l’utilizzo. In questo caso ci limiteremo al sensore di temperatura, ma esitono sensori 1-wire per altri scopi.

In generale su un sistema bus, abbiamo un’unità di controllo principale (master) e una serie di unità secondarie (slave) che comunicano con il master. Dal punto di vista pratico, questo si traduce nell’avere un solo cavo a 2 fili lungo tutto il percorso. Si capisce subito la comodità di questo sistema perché se avessimo 10 sonde di temperatura senza bus, dovremmo collegarle tutte all’unità principale. In questo caso, invece, tutte le sonde sono collegate allo stesso cavo (bus) che trasmette i dati di tutte le unità presenti. 



Come fanno le unità a dialogare senza interferire fra loro ? Ogni elemento della rete bus ha un indirizzo univoco stampato in fabbrica, cioé un numero che lo rende unico ed identificabile.  Il master, quindi, interroga uno alla volta tutti gli elementi della rete e raggruppa i messaggi inviati/ricevuti per indirizzo. In questo modo, la lettura di un elemento del bus non interferirà con gli altri.  Lo svantaggio che potreste avere è la velocità di propagazione delle informazioni.  I sistemi, infatti, potranno dialogare uno alla volta. Quindi per avere una lettura completa delle temperature, dovremo aspettare che tutti i sensori abbiano comunicato i propri dati.

Questo bus, quindi, è adatto a tutte quelle situazioni in cui non è richiesta una velocità elevata di comunicazione. Se devo conoscere le temperature in una stanza, non mi servirà un aggiornamento di millisecondi, probabilmente sarà sufficiente leggerle ogni 30 secondi o ogni minuto.

I sensori 1 wire si possono interfacciare facilmente con le schede commerciali quali Arduino, Raspberry Pi o qualunque microcontrollore.

In questo tutotial vedremo come interfacciare Arduino sul nostro catalogo, inoltre, troverete le sonde di temperatura 1 wire già cablate e protette da un involucro in acciaio. Questo le rende già applicabili al vosto sistema.



Arduino e il bus 1-wire

La gestione dei sensori DS18b20 con Arduino è estremanente semplice perché esiste una libreria dedicata.