ラズパイゼロで温湿度と気圧、空気の汚れを検出してグラフ化するIoT機器(前編) | そう備忘録

ラズパイゼロで温湿度と気圧、空気の汚れを検出してグラフ化するIoT機器(前編)

環境センサー

RaspberryPi Zero(ラズパイゼロ)とセンサー(BME280とMQ-135)で温湿度、気圧、空気の汚れを検出してクラウドに送信してグラフ化するIoT機器をダイソーのケースや材料で作った時の備忘録。

環境センサー

以前に温湿度をDHT22というセンサーモジュールで計測したのだが温湿度の他に気圧も測定できるBME280を手に入れたので早速試してみる。

また大気モニターに利用できるMQ-135(ベンゼン、アルコール、煙に反応)も一緒に接続して定点観測して結果をクラウドにアップするシステムを構築してみた。

環境センサー

全体構成図

システムの全体構成図は以下の通り。

温湿度・気圧・空気の汚れの測定・概要図

今回は測定情報をクラウド(AWS)にパブリッシュ(送信)しているがラズパイゼロからLINEやTwitter等のSNSに直接送信する構成も考えられる。

クラウドを使わない方法は別途記事にしてみたい。

必要なパーツ

必要なパーツは以下の通り。

ラズパイゼロ

本体はRaspberryPi Zeroで製作することにした。

RaspberryPi 3B+や4よりも割安なのと温湿度の測定はそれ程CPUパワーを必要とする処理では無いので廉価版のZEROで十分と判断した。

尚、上記のリンク先は本体のみの購入だが自分は電源コードやSDカードとセットとなった製品を購入した。

セット品の場合はラズパイゼロのケース、HDMIケーブル、USBケーブルなどは実際に動作させる際は不要になる(テスト、検証時には必要)

また下記のセットのSDカードの容量は8GBと結構少な目の容量だった。

今回のプログラミングでは何とか8GBでも足りるのだが色々なモジュールをインストールするのであれば16GBは欲しいところだ。

尚、セット品の購入では無くて、1点づつ必要なハードウェアを購入したい場合はこちらの記事のハードウェアの記事を参照して欲しい。

BME280

温湿度および気圧が測定できるセンサーモジュール。

ラズパイとはI2Cで接続して電源電圧は3.3~5V、温度は-40〜+85°C、湿度は0〜100%、気圧は300〜1100hPa(標高9000m〜-500m)まで測定できる。

BME280の詳細は以前の「ラズパイとBME280で温度、湿度、気圧の測定」の記事を参照して欲しい。

自分はBME280単体では無くWi-Fiモジュールとディスプレイモジュールと一緒になったセットを購入している。

セット購入が単体購入と比較して割安だったのでセットにしたのだが、Wi-Fiモジュールはラズパイでは不要になるのでArdiunoにでも転用しようと思っている。

またディスプレイモジュールも今回の機能では不要になるので他の電子工作に流用するつもりだ。

2021/07/29 追記

Wi-Fiとディスプレイモジュールが一緒になったセット商品は品切れになっていた。

MQ-135

MQ-135はベンゼン、アルコール、煙を感知するガスセンサー。

電源電圧は2.5〜5.0Vなのだが内部のコイルで温めてガスを検知する仕組みなので5Vを推奨と資料にはあったので5V電源で動作させている。

こちらの記事はMQ-3(アルコールセンサー)の記事なのだが感度特性曲線が違う以外は基本的な仕組みは同じなので参考にして欲しい。

またMQ-135は単体で購入する事も可能だが自分は複数のMQセンサーがセットになったものを購入した。

MCP3208

MQ-135はデジタルとアナログの両方の出力がある。

アナログ出力の方はそのままではラズパイでは読み取ることが出来ないのでデジタルに変換するためにADコンバーター(MCP3208)を使っている。

半固定抵抗

MQ-135の汚れた空気を検出した時のデジタル出力は5VなのでそのままラズパイのGPIOに接続するとラズパイゼロが壊れるかOS再起動を繰り返してしまうので半固定抵抗で電圧を下げている。

普通の抵抗を使っても良いのだが、手元に半固定抵抗があったので流用した。

抵抗の分圧計算についてはこちらの記事を参照して欲しい。

ユニバーサル基板

ダイソーで購入した救急小物ケース内に収めたかったのでブレッドボードではなくラズパイゼロ用のユニバーサル基板を購入して配線をはんだ付けした。

はんだは正直得意ではなかったのだが今回の製作で何回もやり直したことで少しは上手くなったかも知れない。

尚、上端の4列は下記の様に内部で接続されており、上2列をラズパイゼロのピンにはんだ付けしてその下の2列をユニバーサル基板内での配線に使用する。

ユニバーサル基盤配線

エナメル線

ユニバーサル基板の配線の為の0.35mmのウレタンコーティングのエナメル線。

0.35mmだと近所のホームセンターでも手に入るし細かい配線も出来るので使いやすいと思う。

尚、エナメル線という名称は表面をエナメル質の物質でコーティングをしている銅線の総称でコーティングしている物質は色々なものがある。

ウレタンコーティングだと融点(溶ける温度)が低く120度で溶けるのではんだ付けした部分のコーティング材が溶けて導通させることができる。

ただ自分は念の為、はんだ付けの前に接触部をヤスリで削った上ではんだ付けをしている。

ヤスリで削る

はんだ

電子工作用のヤニ入りはんだ。

フラックス

はんだ付けの促進剤。

電子部品のはんだ付けは、はんだの中に入っているヤニで充分と書いてあるネット上の記事も多かったが自分ははんだ付けが下手との自覚があったので少しでもはんだ付けが簡単になるのではと思い、はんだ用のフラックスを購入した。

刷毛で塗らずに爪楊枝で代用したのだが後半はいい感じに慣れたと思う。

はんだ吸い取り線

一度、はんだ付けをした後で修正をしたい時にはんだ吸取り線ではんだを吸い取る。

全くやり直しが発生しないのであれば不要なのだろうけど自分の場合は「まずそんな事はない」ので購入した。

最初は難しくて「絶対無理」と思っていたのだが動画を見ながら何回か繰り返し練習したら多少はできるようなった。

ただ、まだランド(ボード上のピンが刺さる穴)にピンが指してある状態のはんだはうまく取れないので練習が必要だと思っている。

ピンヘッダー

ラズパイゼロとエナメル線で配線をしたユニバーサル基板を接続する際にクリアランスが必要だったのでピンヘッダー(ストレート)で延長した。

この製品は40ピンで実際に必要なのは20ピンなので21ピン目の所をカッターナイフで切断してヤスリで削って必要なピン数のピンヘッダーを製作している。

またBME280やMQ-135を接続するためのピンヘッダーも4ピンが手元に無かったので同様にカッターナイフで切断して製作した。

ジャンパーワイヤー

温湿度、気圧センサー(BME280)を基盤とはジャンパーワイヤーで接続している。

自分の好きな長さのジャンパーワイヤーを作りたかったので自作するセットを購入した。

電線

電線を必要な長さにカットして上記のコネクターを電工ペンチで取り付けてジャンパーワイヤーを自作する。

六角スペーサー

ラズパイ本体とユニバーサル基板を接続する際にスペースを確保するためのスペーサー。

ラズパイ本体とユニバーサル基板の間は12mmを4本、外箱ケースとラズパイとの間には6mmを4本使用している。

救急小物セット

ダイソーで購入した救急小物ケース。

サイズ的にちょうど良かったのと材質がポリプロピレンなので糸鋸で加工できるので使用させてもらった。

救急小物ケース

リメイクシート

同じくダイソーで購入したシールタイプのリメイクシート。

このリメイクシートを先程の救急小物ケースの表面に貼ればそれっぽい外観になるので購入した。

今回はカーボン柄(ブラック)を使ったのだがそれ以外にもレザー調(ブラック)、木目調も何かに使うかも知れないので”ついで買い”してしまった。

リメイクシート

使った工具

今回の電子工作で使用した主な工具は以下の通り。

はんだごて

ユニバーサル基板の配線のはんだ付けに使用した。

はんだは正直得意ではなかったのだが今回何回も失敗してやり直しを繰り返したので多少はマシになったかも知れない。

当初、激安のはんだごてを使っていたのだが温度調整機能が欲しかったのと、こて先(先端のヘッダーの部分)を色々と試してみたかったので変更できるタイプを購入した。

スタンドルーペ

はんだごてと一緒に購入したスタンドルーペ。

  • 細かいところはルーペがあった方がこて先がはっきり見えてやりやすい
  • LEDライトが付いているので夜に作業する際に手元が明るい
  • 基盤を固定してくれるのではんだこてを当てた時に基盤がずれない(手で押さえる必要が無い)

の理由で使っている。

尚、リンク先のサンワダイレクトの製品はアームのネジが直ぐに緩んでしまう。

何回も締め直して破損させてしまう人が居たり、Oリングで固定している人も居たが自分は面倒なので瞬間接着剤で固定してしまった。

二度とアームを取り外すことは出来なくなってしまったが、そもそも外すことはまず無いので良かったと思っている。

ヤスリ

ヤスリはいずれもダイソーで以前に購入していた物を使用した。

前述のエナメル線の被覆を削る時は1の平型のヤスリ、救急小物ケースに開けた穴の切り口を整える時は2の丸形のヤスリ、3はピンヘッダーを任意のサイズにカットした際に切り口を整えるのに使用している。

4の紙やすりはその他全般的に必要に応じて使った。

ヤスリ類

テスター

テスターは必須では無いかも知れないがあった方がかなり便利だと思う。

ユニバーサル基板にエナメル線ではんだ付けした直後に念の為に導通しているか調べるのに使った。

全てはんだ付けした後で接触不良で動作しないと悲しくなるのではんだ付けの度にテスターで導通確認している。

自分が使っているテスターは品切れになっていたので同程度の商品のリンクを張っておく。

電工ペンチ

ラズパイの様な細い線の電子工作だと小型のエーモンの細専用電工ペンチが使いやすいので多用している。

またこの電工ペンチはグリップが使っているうちに緩んで抜けてきてしまうので瞬間接着剤で止めたら以後は快適である。

電動ドリル

元々家にあったリョービのドリルドライバー。

救急小物ケースに空気の汚れを感知するセンサー(MQ-135)用の穴を空ける際に最初にドリルドライバーで穴を開けてその後で糸鋸で丸くくり抜く時に使用した。

糸鋸

糸鋸も家にあったものを使用した。

ドリルドライバーで穴を開けた後に糸鋸で丸く穴をくり抜いている。

ドライバー

元々家にあるドライバー。

黒くてかっこいいのとグリップの所に「職人魂」と書いてあってテンションが上がるので使っている。

カッターナイフ

ダイソーで購入したカッターナイフ。

救急小物ケースやリメイクシートをカットする時に使用した。

カッターナイフ

デザインカッター

同じくダイソーで購入したデザインカッター。

リメイクシートをケースに貼り付けた後、細かい部分のカットはデザインカッターの方が扱いやすい。

デザインカッター

配線図

ユニバーサル基板への配線図は以下の通り。

実際にエナメル線とはんだごてで配線する際は裏面なので左右が逆になるので注意が必要だ。

配線図

組み立て

ユニバーサル基板にはんだ付け

配線図に基づいてユニバーサル基板の裏面(端の4列に枠が印刷されていない方)にはんだ付けしてゆく。

最初はカラーの電線で配線をしたのだが配線が複雑で盛り上がってしまい、なおかつはんだ付けが下手で接触不良もあったので一度全部剥がしてからエナメル線でやり直している。

基盤が妙に汚くなっているのはその為である。

ユニバーサル基板にはんだ付け

導通確認

はんだ付けした後はテスターで導通確認をした。

ダイヤル式の測定モードを導通確認にセットして2点間にテスト棒を当てると導通している時は「ピー」と電子音で知らせてくれる。

上記のユニバーサル基板の例だと1と2、1と3で導通していて、逆に他の端子とは導通していない事を確認した。

テスターによる導通確認

ピンヘッダーの加工

40ピンのピンヘッダーを必要な長さにカッターナイフでカットする。

定規を当てながら何回かカッターナイフで両側に溝を入れた後に折り曲げればポキンと割れるので、その後は前述のヤスリで表面をなめらかにする。

ピンヘッダーの加工

基盤表面

基板表面の部品をハンダ付けした直後。

向かって左から空気の汚れを検知するセンサー(MQ-135)用のピンヘッダー、温湿度気圧センサー(BME280)用のピンヘッダー、半固定抵抗、ADコンバーター(MCP3208)となっている。

基板表面

基盤表面

ユニバーサル基板とラズパイゼロとをピンヘッダー(ストレート)とスペーサー(12mm)で組み合わせてみる。

ラズパイとピンヘッダーとスペーサーで接続

内側はこんな感じ。

基盤の内側

センサーの取り付け

ピンヘッダーをはんだ付けして各種センサーを取り付けた状態。

温湿度、気圧センサーは直接接続しているが実際はジャンパーワイヤーで接続をする

また一旦この状態で動作テストを行った。

センサーの取り付け

ケースの加工

ドリルドライバーで穴を開けた後、その穴を起点に糸鋸(刃だけを使った)で丸く穴を開けた。

ケースの加工

ケースにセット

ケース側面にMQ-135用の円形の穴、上部にBME280用に固定ビスの穴とセンサー部が外気に触れるような穴、蓋の部分に電源コード用の穴を開けている。

尚、ラズパイゼロの底部分には6mmのスペーサーをつけている。

ケースに収めてみる

ジャンパーワイヤーの加工

温湿度、気圧センサーはジャンパーワイヤーで接続する。

ジャンパーワイヤー(オス)の作り方は以下の通り。

被覆を剥いてセットする

配線コードの先端数ミリの被覆を電工ペンチで剥いて端子の小さいツメ部分に配線コードの芯線(剥いた部分)大きいツメ部分に被覆部分をセットする。

被覆をむいて端子のツメ部分にセットする

小さいツメをINSで仮止め

小さい爪(芯線部分)をINSで仮止めする。

尚、仮止めと言っても普通に最後までカシメてしまって大丈夫だ。

小さい爪をINSで仮止め

小さいツメを28-22で本止め

続けて小さい爪(芯線)部分を28-22で本止めする。

いきなり28-22でカシメると時々失敗して変な所が折れ曲がってしまうので先にINSでカシメておく。

小さい爪を22-28で本止め

大きいツメをINSで本止め

次に大きいツメをINSで本止めする。

尚、INSでカシメる前にペンチでツメを若干でも内側に閉じて置くと良い。

そのままの状態でいきなりINSでカシメるとツメが斜めに曲がってしまう事があるのだが閉じておくとうまく内側にM字型に折り曲がってくれる。

大きいツメをINSで本止め

完成

以下の様にツメが芯線および被覆に内側に折り曲がって固定されていて、引っ張ってみても抜けなければOK。

カシメた電線と端子

ハウジング

ピンをハウジングに差し込む。

ピンの赤枠の部分がハウジングの赤枠部分に来るまで下から差し込むと返しが付いているので抜けなくなる。

リメイクシート

リメイクシートをケースに合わせてカットして貼り付ける。

一気に貼り付けずに1面ずつシールを剥がしながら貼り付けるとやりやすい。

またケースの穴の部分は最初からシートに穴を開けずに貼り付けた後にデザインカッターで切りながら内側に折り込んだ。

その他、細かい部分はデザインカッターで調整をしながら切り取った。

ハードウェア部分は以上で完成とする。

リペアシートを貼り付ける

続く

以上で今回の記事は終了とする。

次回はラズパイの環境構築、プログラムの記事とする。

最後に

この記事が何処かで誰かの役に立つことを願っている。

尚、当記事中の商品へのリンクはAmazonアソシエイトへのリンクが含まれています。Amazonのアソシエイトとして、当メディアは適格販売により収入を得ていますのでご了承ください。

souichirou

やった事を忘れない為の備忘録 同じような事をやりたい人の参考になればと思ってブログにしてます。 主にレゴ、AWS(Amazon Web Services)、WordPress、Deep Learning、RaspberryPiに関するブログを書いています。 仕事では工場に協働ロボットの導入や中小企業へのAI/IoT導入のアドバイザーをやっています。 2019年7月にJDLA(一般社団法人 日本デイープラーニング協会)Deep Learning for GENERALに合格しました。 質問は記事一番下にあるコメントかメニュー上部の問い合わせからお願いします。

おすすめ

2件のフィードバック

  1. ゆーじ より:

    すごい

souichirou へ返信する コメントをキャンセル

名前、メール、サイト欄は任意です。
またメールアドレスは公開されません。