DS18b20: leggere temperature multiple con Arduino

[et_pb_section bb_built="1" admin_label="section" transparent_background="off" allow_player_pause="off" inner_shadow="off" parallax="off" parallax_method="on" custom_padding="0px|0px|54px|0px" padding_mobile="off" make_fullwidth="off" use_custom_width="off" width_unit="off" custom_width_px="1080px" custom_width_percent="80%" make_equal="off" use_custom_gutter="off" fullwidth="off" specialty="off" disabled="off"][et_pb_row admin_label="row" make_fullwidth="off" use_custom_width="off" width_unit="off" custom_width_px="1080px" custom_width_percent="80%" use_custom_gutter="off" gutter_width="3" custom_padding="27px|0px|0px|0px" padding_mobile="off" allow_player_pause="off" parallax="off" parallax_method="on" make_equal="off" column_padding_mobile="on" parallax_1="off" parallax_method_1="on" parallax_2="off" parallax_method_2="on" parallax_3="off" parallax_method_3="on" parallax_4="off" parallax_method_4="on" disabled="off" background_position="top_left" background_repeat="repeat" background_size="initial"][et_pb_column type="4_4"][et_pb_text background_layout="light" text_orientation="left" use_border_color="off" border_style="solid" disabled="off" background_position="top_left" background_repeat="repeat" background_size="initial"]

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.

[/et_pb_text][et_pb_text admin_label="Adsense" _builder_version="3.0.67" background_layout="light" text_orientation="left" border_style="solid" saved_tabs="all"]



[/et_pb_text][/et_pb_column][/et_pb_row][et_pb_row admin_label="row" make_fullwidth="off" use_custom_width="off" width_unit="off" custom_width_px="1080px" custom_width_percent="80%" use_custom_gutter="off" gutter_width="3" custom_padding="27px|0px|0px|0px" padding_mobile="off" allow_player_pause="off" parallax="off" parallax_method="on" make_equal="off" column_padding_mobile="on" parallax_1="off" parallax_method_1="on" parallax_2="off" parallax_method_2="on" parallax_3="off" parallax_method_3="on" parallax_4="off" parallax_method_4="on" disabled="off" background_position="top_left" background_repeat="repeat" background_size="initial"][et_pb_column type="1_2"][et_pb_text background_layout="light" text_orientation="left" use_border_color="off" border_style="solid" disabled="off" background_position="top_left" background_repeat="repeat" background_size="initial"]

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. 

[/et_pb_text][et_pb_text background_layout="light" text_orientation="left" use_border_color="off" border_style="solid" disabled="off" background_position="top_left" background_repeat="repeat" background_size="initial" /][/et_pb_column][et_pb_column type="1_2"][et_pb_text admin_label="Adsense" _builder_version="3.0.67" background_layout="light" text_orientation="left" border_style="solid" saved_tabs="all"]



[/et_pb_text][et_pb_image src="https://www.steplab.net/wp-content/uploads/2016/11/162Fig01.gif" show_in_lightbox="off" url_new_window="off" use_overlay="off" sticky="off" align="left" force_fullwidth="off" always_center_on_mobile="on" use_border_color="off" border_color="#ffffff" border_width="1px" border_style="solid" disabled="off" /][/et_pb_column][/et_pb_row][et_pb_row admin_label="row" make_fullwidth="off" use_custom_width="off" width_unit="off" custom_width_px="1080px" custom_width_percent="80%" use_custom_gutter="off" gutter_width="3" padding_mobile="off" allow_player_pause="off" parallax="off" parallax_method="on" make_equal="off" column_padding_mobile="on" parallax_1="off" parallax_method_1="on" parallax_2="off" parallax_method_2="on" parallax_3="off" parallax_method_3="on" parallax_4="off" parallax_method_4="on" disabled="off" background_position="top_left" background_repeat="repeat" background_size="initial"][et_pb_column type="4_4"][et_pb_text background_layout="light" text_orientation="left" use_border_color="off" border_style="solid" disabled="off" background_position="top_left" background_repeat="repeat" background_size="initial"]

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.

[/et_pb_text][et_pb_text admin_label="Adsense" _builder_version="3.0.67" background_layout="light" text_orientation="left" border_style="solid" saved_tabs="all"]



[/et_pb_text][et_pb_text background_layout="light" text_orientation="left" use_border_color="off" border_style="solid" disabled="off" background_position="top_left" background_repeat="repeat" background_size="initial"]

Arduino e il bus 1-wire

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

 

 

[/et_pb_text][et_pb_login _builder_version="3.0.67" /][/et_pb_column][/et_pb_row][/et_pb_section]

Shopping cart0
There are no products in the cart!
Continua a fare acquisti
0