※記事内に商品プロモーションを含む場合があります
前回、Arduino UNOを買ってきて気圧計を作ろうとして断念していました。
Arduino UNOだと持ち運びが不便そうなので、
8ピンPICマイコンPIC12F683を使って気圧計を作る事にしました。
LPS331とAM2321を使った気圧計
LPS331とAM2321はどちらも、電源電圧が3.3V系で、I2C通信で
データを取得するセンサーです。
I2Cは液晶でも使っているので電源・GND・SCL・SCAの4本のみを
配線すれば良いので、配線が楽です。
しかし、問題はソフトでした。
結局、うまく行かなかったので一旦別の方法を使うことにしました。
8ピンPICマイコンの使い方がよくわかる本の気圧計を作った
自分で1から作ってもダメだったのでとある本
に乗っている気圧計を作ることにしました。
この気圧計はSCP1000というセンサでSPI通信でデータを取得します。
液晶はI2C通信を使用しています。
ただ、SCP1000は値段が1800円と高め、LPS331だと
650円で買えるので倍以上します。
元々本に載っていた部品とは違う部品を使ったので部品点数を
少なくする事ができました。
パーツリスト(秋月の通販コード付)
- K-06795 I2C接続小型LCDモジュール 8x2行+変換基板(@600円)
- P-00035 8P 丸ピンICソケット(@15)
- I-00801 PICマイコン PIC12F683-I/P(@100)
- R-25102 カーボン抵抗1/4W1kΩ 100本入(@100)
- I-00127 整流用ショットキーダイオード40V1A 1S4(@20)
- M-03468 気圧センサー SCP1000-D01モジュール(@1800)
- P-06165 積層セラミックコンデンサー0.1μF50V 25個入(@100)
基板は、まとめ買いで安くなるので
- P-03229片面ガラス・ユニバーサル基板 Cタイプ 72x47mm(10枚500円)
を買いました。
これとは別に3.3Vの安定化電源が要るので
本に載っている通りに作るなら
- I-03421 低損失CMOS三端子レギュレータXC6202P332TB(@100)
- P-05103 積層セラミックコンデンサー10μF25V±10% (@30✕2)
を使います。
@eaxjpは電池1本で動作させたかったのでHT7733を使った
昇圧回路を使う予定ですが、動作確認までは安定化電源より
3.3Vを供給しています。
1の小型I2C液晶の変換基板には液晶の動作に必要なコンデンサが搭載されていて
基板上のジャンパ箇所を半田でショートさせればSDA・SCLのプルアップ抵抗が不要になります。
また、液晶の変換基板上でリセット端子もプルアップされているみたいなのでこれも不要となります。
今回は面倒だったのでICSP端子は付けませんでした。
配線には0.32mmのエナメル線があると便利です。
後、本には載っていませんが、PICのVCCとVSSの間に0.1μFのコンデンサ、
通称パスコン(バイパスコンデンサ)を入れました。
完成した気圧計
完成した気圧計、最初に表示される文字列を変更してみました。
表示を維持させる為、PICを抜いて撮影しています。
結構部品が少ないのですが、PIC液晶間ではエナメル線を使って配線しています。
まとめ
ちなみに、本のプログラムをそのまま使っても使えません!
なぜなら、液晶の表示文字数の違いと、コントラストの違いがあるからです。
最初の動作確認時は真っ黒になりましたが、
コントラストを調整して、文字の位置を変更したらうまく表示されました。
次回はソフトと電源回路の記事を書こうかと思います。