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(浮動小数点)型ね。 最後に センサー部の接続部分を加工しました。 あとは いろいろ加工して取り付けるだけですかね? |