既に書いたことだが、 寒くなって3Dプリンタの調子が悪い。 ABSだと反ってプリントできないのでPLAで印刷している。 しかしABSも使いたいので対策を検討する。 保温とかヒーター設置とか考えられるが、 まずは温度を測定したい。 3Dプリンタ内部、上部、外部等の温度を計測し、 データをWiFiで飛ばしてグラフ化したい。
温度センサーDS18B20ホルダー 電子工作3Dプリント
温度センサーは、Amazon等で安く売っている ステンレス管入り防水DS18B20を使用する。5個で1050円。 マイコンは手持ちの関係で OLED付きESP-WROOM-02(ESP8266)マイコン HSES-NODE-OLED。 で、ステンレス管入りのDS18B20を見ているうち、 ホルダーを作ったら便利だし、カッコいいのではないかと 思いつき、作ったらやっぱりカッコよかったという話。
今回のホルダーはサポートなしで印刷。 穴は若干の対策を施し問題なし。 PLAだとサポートの取り外しに苦労していたので、 サポート無しでプリントできるのはありがたい。 作り直しは1回。隙間の大きさを見誤った。 拘束が(たぶん)適切に入っているので 寸法の修正だけで修正できた。
スチール製のケースに入った3Dプリンタ周りに取り付けるため、 ホルダーには皿穴付きネオジム磁石が取り付けてある。 マイコンを固定する Grove Wrapperにも 磁石が取り付けてある。
Fusion360で設計 | センサー5本 ホルダーがカッコいいと思う。 |
DS18B20のケーブルには3PのQIコネクタを取り付け 基板に接続 |
ホルダー背面には皿穴付きネオジム磁石 | HSES-NODE-OLED | こちらの背面にも磁石 |
プログラムはds18B20で温度を計測できるところまで作ったところで、 未完成。プログラムの進みが遅い理由を挙げると
- 何度も作ったことがあるプログラムなので、新味が無く、面倒
- platformIOを初めて使った。いろいろ引っかかる。
Arduinoのプログラミング環境として platformIOの名前は前から聞いていたが 食わず嫌いで全く調べていなかった。 で、なんか VSCodeで使える。 pythonで書かれているとか聞いて 試してみたら、コンパイルはMakefile並に早い。 プログラムの書き込みもできるし、シリアル端末も使える。 そこまでは良いのだが、VScodeのc++環境(intelliSense?)の 設定がよくわからない。 ソースファイルを開けませんとかエラーが出る。
c_cpp_properties.jsonの設定が必要だということが判明し、 さらに PlatformIOのPROJECT TASKSのRebuild IntelliSense Indexで このファイルを設定してくれることがわかった。 いいかげん、ちゃんとプログラムを完成させ温度を計測しよう。
このホルダーを作った後に HSES-NODE-OLED + HSTS-ATD7410 x 4個の構成でも 温度計測できることに気がついた。 こちらの構成だとGrove Wrapperで全部固定できるので、 新たにホルダーを作る必要はなかった。