【組み込み工作】電子百葉箱製作~構想編~

ATtiny85

BME280を使用して電子百葉箱を作る

最近ATtiny85というI2Cインターフェースを持っているマイコンを紹介した事ですし、せっかくなので何か作ってみたいと思います。

【ATtiny85】Arduino_IDE配下で開発を行う準備
ATtiny85をArduino_IDEで開発を行う準備記事になります。先に言っておきますがブートローダー書き込みのクロックを"enternal"で行わないこと。絶対だぞ!(注)振りではありません。

何を作るのかというとタイトルにも書いていますが、電子百葉箱(温湿度気圧計)です!

という事で何回か記事を分けながら進めていこうと思っております。今回は構想編として、使用材料や機能を中心にまとめていきたいと思います。また、いきなりATtiny85に組み込むのではなく一旦はArduino上で形になったら組み込んでいきます。

■予定記事構成(おそらく4部構成になりそうです)

  1. 構想編
  2. Arduinoでの動作確認編
  3. 組み込み材料加工編
  4. 実装・動作確認編

では、構想編をどうぞ!

構想仕様

材料

名称 型番 個数 備考 購入用URL
制御IC ATtiny85 1 I2C対応 ATtiny85
センサ BME280 1 温湿度気圧 BME280
表示機 AQM0802A-RN-GBW 1 8文字2行 http://akizukidenshi.com/catalog/g/gP-06669/
タクトスイッチ a14110100ux0234 1 表示切替用 タクトスイッチ
スライドスイッチ SS12D00G5 1 メインスイッチ スライドスイッチ
コイン電池ケース 不明URL参照 1 CR2023用 CR2032ケース
0.1uFセラコン RD15F104Z1HL2L 2 ノイズ除去用 http://akizukidenshi.com/catalog/g/gP-04065/
1uFセラコン RD15W103K1HL2L 2 LCD昇圧用 http://akizukidenshi.com/catalog/g/gP-04063/
10kΩ抵抗 RD25S 10K 3 プルアップ用 http://akizukidenshi.com/catalog/g/gR-25103/
フリスクケース フリスクペパーミント 1 筐体 https://amzn.to/2Thydyi
レベル変換(予備) ZRH7336967901234OB 1 電圧変換用 レベル変換器

材料は手持ちのI2Cセンサの関係上、BME280を使用します。筐体はフリスクケースを考えています。そして表示機はOLEDとLCDで迷いましたが、消費電力が少ないLCDを使用して進めていこうと思います。レベル変換器なのですが、今回は裸のLCDを使用するので必要になりそうと思い追加しました。

購入はAmazonで統一したかったのですが、ATtiny85の購入や8文字2行LCDなど秋月の方が安く購入できるところに関しては分けています。秋月は送料がかかるので他の部品もまとめて購入した方がコスパは良くなるかもしれないので、もし参考に作成する際はご検討をお願いします。

2020/1/18 : CR2032(3V)の昇圧用でDC-DCコンバータを追加

2020/1/18 : BME280の測定時に光るインジケータLED追加

機能

  1. 温度・湿度・気圧が測定できる
  2. 表示機に値を表示できる
  3. タクトスイッチで画面の切り替えが出来る(+チャタリング防止)
  4. 主電源のON/OFFが出来る
  5. 一定時間経過後スリープが出来る。

動作フロー(仮)

基本的はフローは上記の通りです。センサの読み取りはポーリングでの連続読み取りでは無くタイマー割り込みにより定期的にフラグを立てて単発読み取りを行おうと考えます(消費電力低減のため)。割り込み間隔は実装時調整します。

また、画面切り替えはタクトスイッチの押下毎にフラグをインクリメントさせていきメインループ内のスイッチで分岐しようと思います。フロー内にはありませんがチャタリング防止関数も入れます。

スリープ機能については画面切り替え毎にカウントリセット&スタートを行い一定カウント後Deepsleepに移行しようと思います。復帰は画面切り替えの割り込みスイッチが押されたらです。

POINTBME280の測定タイミングはタイマ割り込みで決める
2020/1/18 : ATtiny85に実装する時はPin配の関係で外部割込みを廃止しています。

ハード

小型化を第一に考えてフリスクケースを筐体に採用します。難しそうだったら秋月あたりに売っている樹脂ケースを使うかもしれません。

駆動電源はCR2023のコイン電池(3V)です。I2Cセンサ類の動作電圧が3.3Vのような気がしますが一旦これで進めます。難しい場合は小型の昇圧回路も検討しようかな、、、

おわりに

今回は構想編なのでこれくらいで終わりにしたいと思います。

フローチャートにもある様にシンプルで省電力がコンセプトの設計になります。

また、ATtiny85のROMは8kBなのでライブラリをマシマシのコードは難しいかもしれないので、ライブラリはWire.h(ATtiny85の場合はTinyWireM.h)のみの使用で作成していきたいと思います。

次はArduinoでの動作確認で会いましょう。

ではでは~

次回記事

【組み込み工作】電子百葉箱製作~Arduino動作確認編~
ATtiny85制御のBME280とLCDを利用した電子百葉箱の作成のArduino動作確認編です。電気回路構成、コード解説を中心に進めていき、前回の構想編で抜けていたスリープモードへの移行フローに関しても記載しています。

コメント

タイトルとURLをコピーしました