TIM Labs

2019年6月アーカイブ

ここ3回で以下の記事を書いてきた。

今回は、これをまとめて、二酸化炭素、温度、湿度、気圧をまとめて表示できるようにしてみた。

今までは、次図の左のブレッドボードを使い、ジャンパー線で結んでいた。
プロトタイプではよくやる方法だが、どうしてもジャンパー線は外れやすい。

20190616165424198_0001-600.jpg

それで、今回は、中央のArduino用の拡張ボードを用いた。Arduinoのピン位置に合わせて穴が空いているので、これを用いると二階建て構造にして、ブレッドボードの代わりにこの拡張ボードに部品を取り付けることができるようになる。

ということで、ハンダ付けが必要になるのだが、ハンダ付けの個所もできるだけ減らしたい。とくに、配線は最小限にしたい。

それで用いたのが、右端の超薄型ユニバーサル基板である。よく見ると、ブレッドボードとプリントパターンがよく似ていることが分かるであろう。
とても薄く、カッターで簡単に切り分けることができ、穴を合わせてユニバーサル基板の上に置いて配線すると、とても便利であった。

3つの部品の配線であるが、電源系は当然共通になる。
それ以外の部品とArduinoを結ぶ信号線などは、異なるピンになるように最初から話を進めてきたので、そのまま3つの回路を拡張基板上に実現すれば動く。

DSCN4684−600.JPG  DSCN4679−600.JPG

そして組み立てて動かすと、こんな感じになった。

1行目に気温と湿度、2行目に二酸化炭素濃度と気圧を表示している。

DSCN4693-600.JPG   DSCN4687−600.JPG

Arduino, 拡張基板、センサーとディスプレイの3階建てになってしまった。

ディスプレイはとても見やすいのだが、ディスプレイの幅が拡張基板と同じだけあり、このディスプレイは大き過ぎた気がする。でも、安かったから我慢しよう。

さて、プログラムである。

Arduino単独では、センサーで得られた情報を表示できない。DSCN4665-600.JPG
センサーを付けて、その値を小さなLCDで良いから表示ししたいものである。
Raspberry Pi の時に使ったものでも表示できるのだが、今回はもっと見やすいバックライト付きのにした。

とりあえず、結果をお見せしよう。

1行目は、"Hi,Arduino."と表示し、次に起動時からの経過時間を秒単位で表示している。

2行目は、この文字ディスプレイデバイスが持っているCharacter Generaterのパターンを表示している。単なる表示では面白くないし、全256文字を表示してみたいので、どんどんスクロールするようにしてみた。写真では、カタカナの終わりの方と、それに続くギリシャ文字の小文字の初めの方が見えている。

ディスプレイの左上の方に、丸の中に一が見えているのが10kΩの半固定抵抗であり、バックライトの調整に用いる。

このLCDの型番は、ACM1602K-NLW-BBWといい、秋月電子で400円で売っていたものだ。

バックライト付きで、サイズも大きいのに、なぜか非常に安い。よほど売れているからだろうか?

実は、このLCDは、Arduinoの公式ページ内で紹介されているライブラリの Liquid Crystal Library に対応したLCDである。

配線、プログラムは、display() and noDisplay() methodsで完全に分かると思うので、下手な解説は付けない。
実際、この解説通りに結線して、プログラムも流用しただけである。

さらに詳しいYouTubeの解説(Using LCD Displays with Arduino) があり、非常に参考になる(であろう。といのは、英語だし、かなり長いので最後までちゃんとは見ていない。

ここでは、改造して、キャラクタジェネレータの全文字をスクロールしながら表示するように手を入れたプログラムを紹介するに留める。

使用LCD:秋月電子:白色抜き文字表示 LCDモジュール 16x2行 白色バックライト付 (電流制限抵抗実装済み) データシートもあり、キャラクタジェネレータの全文字パターンも載っている。

部屋の環境、快適さを調べるには、温度、湿度、気圧、二酸化炭素の4つのデータが重要であろう。

前回、二酸化炭素濃度センサーについて書いたので、今回は残りの3つをまとめて計測してみよう。

世の中、この3つを同時に計測してくれる、とても小さなセンサーがあるので、入手してみた。

AE-BME280-AKIZUKI.JPG

画像は、秋月電子のサイト「BME280使用 温湿度・気圧センサモジュールキット」より拝借

秋月のサイトには、マニュアルとデータシートが用意されている。
Bosch Sensortecには、BME280 Integrated Environmental Unit のページが用意されている

そして、ちょっとネットで検索したら、とても懇切丁寧に使い方を書いているページ How to Hookup BME280 Sensor to Arduino using I2C があったので、参考にした。
英語のページだが、英語を読まなくても全てが分かるような素晴らしいページだった。

そして出来上がったのが次図である。
左右の電源を除くと、たった2本でArduinoに繋いでいるだけだ。

DSCN4648−600.JPG1pinと3pinをジャンパ線で結んで、I2Cの接続方法にしてある。

このアーカイブについて

このページには、2019年6月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2019年5月です。

次のアーカイブは2019年7月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

月別 アーカイブ