水漏れセンサーシステム作成 <その5 基板化と回路図>
基板化
ブレッドボードでのシステム動作確認できたので、基板にしました。結構時間かかりました。
I2Cのケーブルは心配だったのですが案の定少し手間取りました。
ブレッドボード上では、ボードと直結で動作していましたが、ケーブル6mだとそのままでは動きませんでした。I2Cはもともとそこまで長いケーブル向けには作られていないという話もありましたが、以下の記事を参考にして動きました。
I2Cのケーブルとプルアップ抵抗
https://japan.renesasrulz.com/cafe_rene/f/forum19/3619/i2c
結果的には、SDA, SCLに、2.2kΩのプルアップ抵抗で接続しまして、ソフトウェアでI2Cのクロックを10kHzに落とすと通信することができました。通常の100kHzですと、プルアップ抵抗ありでも通信できなかったです。
回路図
後で見返したときに自分のためになるので、簡単な回路ですが作成しておきます。私はeagleを使っています。
それぞれのモジュールのEagleライブラリをネットから探して、一部変更などして利用させてもらいました。作成してくれた方ありがとうございます。
ESP-32
https://github.com/a2retro/ESP32_Miscellany
GPIO expander
https://componentsearchengine.com/PCAL9555APW%2C118/NXP
AQM0802A (LCD)
https://qiita.com/exabugs/items/9d1b66aa1d22805afbc8
SPとSWなどはデフォルトライブラリから回路図的に似ているものを使いました。
今回の回路
センサーの回路は、GPIOでH/Lを検知するだけなので省略しています。
espressifから取ってきたのですが、ESP-WROOM-03という名前になっているのは気になります。