温度センサ で 水温計 作製
我が家の金魚水槽の水温を管理したいとお母ちゃんがいうので、センサを購入しました。
3つも入っていて低価格!嬉しいですね。センサが3つも手に入ったのでまずはハンディー水温計を作製しました。
水槽の水替え時に適切な温度調整が必要とのことで作りました。
目次
構成
防水の温度センサで水温を測ります。即手値をOLEDディスプレイし表示します。
- マイコン Adafruit Itsy Bitsy M0 Express
このマイコンの詳細は以下に記載しております。
https://homemadegarbage.com/eye-pendant
ディスプレイ用I2CのSDA, SCLピンはプルアップ抵抗内蔵でないため抵抗を外付けする必要があります。
- SparkFun マイクロOLEDモジュール
- 防水温度センサ DS18B20
- 電池ボックス 単3電池 × 4
- スライドスイッチ
SparkFun マイクロOLEDモジュール
本モジュールは64×48 ピクセルのOLED ディスプレイ SSD1306搭載しており、通信方式はI2CとSPIのいずれかを選択できます。
基板上のジャンパーの接続によって各種設定変更可能です。
ここでは通信方式をI2C (BS1:1, BS2:0)としてアドレスを0x3C (D/C:0)にしました。
D0ピンがSCL、D1がSDAとなります。
温度センサ
温度センサにはDS18B20を使用します。購入品は防水加工され1mケーブルが接続されています。
DS18B20は9ビット~12ビットの温度測定分解能を有し、1-Wireで通信を行います。1本の信号線を電源にプルアップするだけで測定値を得ることができます。
参考
Arduinoコード
SparkfunのOLED用ライブラリを使用しております。
https://github.com/sparkfun/SparkFun_Micro_OLED_Arduino_Library
温度センサDS18B20用のライブラリとして以下の2つ使用します。
https://github.com/PaulStoffregen/OneWire
https://github.com/milesburton/Arduino-Temperature-Control-Library
センサで取得した測定値をOLEDに表示します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
#include <Wire.h> #include <SFE_MicroOLED.h> // Include the SFE_MicroOLED library #include <OneWire.h> #include <DallasTemperature.h> #define ONE_WIRE_BUS 10 // 温度センサデータ線(黄)で使用するポート番号 #define SENSER_BIT 9 // 精度の設定bit OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); #define PIN_RESET 13 #define DC_JUMPER 0 MicroOLED oled(PIN_RESET, DC_JUMPER); // I2C declaration void setup() { Wire.begin(); oled.begin(); // Initialize the OLED delay(300); // Delay 1000 ms oled.clear(PAGE); // Clear the buffer. sensors.setResolution(SENSER_BIT); } void loop(){ sensors.requestTemperatures(); // 温度取得要求 oled.clear(PAGE); oled.setCursor(0, 0); oled.setFontType(1); oled.println("Temp."); oled.setFontType(0); oled.println(" "); oled.print(" "); oled.setFontType(2); oled.print(sensors.getTempCByIndex(0)); oled.display(); // Draw to the screen delay(100); // Delay 1000 ms } |
水替え時の水温調整に活用いただいております 🙂 。
次は水槽常設用の制作にとりかかります!
買ったほうが安いとかどうか言わないでほしい