2021/05/22(SAT) 【Nチビ】【M5Stack】水温計作り直しA
はい前回の続き
M5Stackを使ってDS18B20っていうセンサーを制御
フォト

ある程度できたので
今回は回路とプログラムの解説(というほどでもない)
まずは回路図
こんな感じでシンプルです。
フォト

特に解説ってほどのことはないけど
このDS18B20ってセンサーは
マキシム・インテグレーテッド社製で
1-Wireっていうバスでの接続でデータの取得ができます。

ということでプログラムもその辺のライブラリを使います。
M5StackのArduinoの環境にライブラリを入れます。
OneWire
フォト

Dallas Temperature
フォト

前者は1-Wireバス関連で
後者は温度センサーに特化したライブラリかな?
なぜにDallsか?は不明ですが
昔ダラス・セミコンダクタ社だったから?

プログラム
ヘッダファイルをインクルードします。

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

で、
1-Wireと温度センサーのオブジェクトを用意。

 OneWire oneWire(<バスのPIN番号>);
 DallasTemperature DS18B20(&oneWire);

あとは簡単。
データの取得したいところで
以下の処理をコールする

 DS18B20.begin();
 DS18B20.requestTemperatures();
 DS18B20.getTempCByIndex(0);

まぁ簡単に言うと
 開始して、
 要求して
 データの取得
ってことですかね?
実際は1-Wireバスの作法で
データを取得しているはず。
ライブラリを使うと楽々ですね。
最後のgetTempCByIndex()の返り値で
摂氏で取得できます。float(浮動小数点)型ね。

最後に
センサー部の接続部分を加工しました。
フォト

あとは
いろいろ加工して取り付けるだけですかね?