TL;DR
CO2測定器を作ろうと思い立ってから、出来上がるまでの間に、どんなことを考えたのかをつらつら書くよ。
なお執筆者は素人です。ぜんぜん間違っていることもあるので信用しないでもらいたいと同時に、間違いに気づいたら厳しくツッコミ入れてください。Elchikaってそういうため、ナレッジを共有するための場だと思うんだよね。
動機
テレワークしてると眠くなる。
CO2濃度が高いと眠いらしい。
そうだ、CO2濃度を計ってみよう。
MH-Z14Aが手元にある。昔も似たようなことを考えていたらしい。
要件定義
どうやって出力しようか。
- LCDやOLEDをつなげて、そこに表示させる。
- Arduinoを使って、シリアル出力させる。
- ESP8266を使って、Webサーバを立てて表示させる。
- ESP8266を使って、クラウドに送信する。
最終的にはクラウドに送信してグラフ化させることにしようかな。
WiFi経由でどこかに送ろう。
ハード基本設計
- マイコンはESP8266(かESP32)がいいかな。
- センサーはMH-Z14Aを使う。手元にあるので。
センサーの動作電圧は4~6V。将来的には電池駆動したいけど、とりあえずUSB電源の5Vでいいか。
マイコンの動作電圧は3~3.3V。
おっと。5Vじゃないのか。どうやって3.3Vを作ろうか。ESPr ならLDOが載ってるけど......手元にないや。
LDOあったかな......手元にないや。
ダイオードの電圧降下 0.7Vを二段かければ3.6Vになるからこれでいくか、抵抗分圧して作るか。
ESP-32って起動直後に結構な電流を食うのか、ちょろいLDOだと足りないな。あとで考えることにする。
ソフト基本設計
ESP8266をArduinoとして使うことにしよう。
- setupルーチンにおいて、Wifiにつなげて
- setupルーチンにおいて、入出力ピンを設定して
-ループでセンサの値を読んで、Wifi経由でHTTPリクエストを投げて、しばらく寝る。
センサーが3分のウォームアップが必要とのことなので、3分間は仕事し続けたあと、ちょっと長く寝る、ということにしよう。
センサーの電源ってどうやって切ればいいんだろうか? ESP8266の出力ピンだと電圧が合わないから、トランジスタを挟んでスイッチングすればいいのかな。
--- きょうはここまで。つづきは次回。
1
2
1
投稿者の人気記事
-
matobaa
さんが
2020/05/13
に
編集
をしました。
(メッセージ: 初版)
ログインしてコメントを投稿する