おはようございます!!
先日、こちら↓の記事を書かせていただきました。
スマートリモコンの学習キットの「sLab-Remo2」ですね!!
【電子部品利用実習②編】ということで実際に回路を組み、プログラムを転送し、照度センサの動作確認まで行いました。
明るさを変えると後ろに流れていく数値が変化するんですね。
・・・そういえばパソコンの雑音が多くて申し訳ありません。
それに、FM京都のスパフラ!を流していたのがそのまま録音されてました。
・・・で、今回は電子部品利用実習③編で温湿度センサーで実習します!!
目次
スマートリモコン「sLab-Remo2」(エスラボリモ2)【Scratch・Arduino対応】環境センサ・カメラ付《IoT電子工作・AI学習・プログラミング》
こちらです!
4,290円でこれだけ遊べたら凄いものです。(・・・と奧さんに言われています)
ちなみに、本キットの心臓部ESP32-DevKitCですが、Amazonさんで1,500円ぐらいで普通に買えますね。
Espressif社純正 ESP-WROOM-32D開発ボード ESP32-DevKitC-32D
壊してしまったら一大事!と思ってましたが・・・昼ごはん1回我慢すれば買えます(泣)
では、スタートします。
sLab-Remo2【電子部品利用実習③編】
公式メニューの電子部品利用に入ります!(こちら)
下にもズラズラ~っと並んでいますが、まずは 環境センサ付きリモコンを作るわけですね!!
【環境センサ付スマートリモコンで利用】
2-1-1.LED点滅
2-1-2.照度センサ
2-1-3.温湿度センサ
2-1-4.人感センサ
2-1-5.赤外線リモコン受信
2-1-6.赤外線リモコン送信
これで本キットの目的はほぼ達成かも?・・・いやいや、もったいないですね。
それから応用としてその他のデバイス紹介と実習。
【電子部品の使い方のみ】
2-2-1.超音波センサ
2-2-2.赤外線障害物センサ
なんとなく、同社のSLab-Carキットに使われる部品のような・・・
sLab-Car(エスラボ・カー)スマートロボットカー【Scratch・Arduino対応】スターターキット《IoT電子工作・AI学習・プログラミング》 (最小)
いやいや、これらの部品もスマートリモコンに応用できるハズ!!です。
最後にカメラ付きスマートリモコン!!
【カメラ付スマートリモコンで利用】
2-3-1.カメラ
これどのように使うのでしょうね?(笑)
カメラで顔を認識して赤外線リモコンで何かを動かすとか??・・・できればいいですね!!
・・・で、本日は電子部品利用実習③編として、3番目の温湿度センサをやってみたいと思います。Switch Botの温湿度計↓と同じですね!!
温湿度センサ
こちらですね。
温湿度センサといえば、一番馴染み深い温度と湿度を検知する部品ですね。
おそらく、この一番暑い時期が売れるんじゃないでしょうか?
前回の照度センサはが光にアナログ電圧になり、それをCPUモジュールの電圧計で測定しました。
今回は一歩進んで、温湿度センサー内でデジタルに変換した値をCPUモジュールで読み込むみたいですね。最終的に人間の目では見えるようになるまでを確認する実習になります。
電気回路と電子工作
今回使うのはDHT11という型番の温湿度センサですね。
ザルの目のような隙間から空気の温度や湿度を検出するのでしょうか?
ピンは4本ありますが、1つはNC(Non Connect=繋がってない)なので、実質3本で電源、GND以外にDATAというデジタルの入出力ピンがあるだけですね。
・・・で、回路図がこちらですね!!
過去2回で組み立てた分も載ってますので、今回は左上の赤枠の部分です。
DHT11のDATAはGPIOー5に接続され、ここからCPUとデジタル信号でゴニョゴニョするみたいですね。10KΩはプルアップ抵抗と呼ばれるもので、DHT11とCPUのどちらも信号を出さないときに電圧をHIGHにする為のものです。(※ 「信号を出す=GNDに落とす」なんです)
ポイントは、
- DHT11はピン番号に注意!
- GPIO-5はデジタルの入出力端子として使う!
- 忘れずに10KΩの抵抗は付けること!!(意外と重要)
今回も配線が少なくて楽そう~!!
回路図だけでは動かないので、実際に部品を繋いでいく必要があります。
こちらの実装図を確認ですね。(今回の部分をオレンジで囲んでいます。)
ちょっとこれもポイントを書いてみます。
- GPIO-5は中央下にあり[D5]と書かれている。
- 3.3VとGNDは前回のラインから線を繋いでDHT11に結線する。
あとは下に小さい字で書かれていますが、前々回のLチカ回路でやったことそのままの状態でOKですね。
実験回路の組み立て
前回の最終形状は・・・
まだまだ余裕がありますね。ここに追加で実装します。
部品探しは、まず10kΩの抵抗ですね。(※ ここから先は、左に入っていた袋で、右が部品の画像です)
左のビニール袋から10Kと書いてあるのを取り出して1個ちぎりました。(紙テープで留めてあります。)
前回使ったのは100Kと1文字違いなので、注意しないといけませんね。
本当はカラーコード(色で抵抗値を示したもの)を確認した方がいいのでしょうね。
そして温湿度センサ DHT-11ですね。これはひと目でわかります!!
裏面にいろいろ書いてありました。
電源範囲や測定範囲、そして誤差ですね。
SwicthBotの温湿度計に使っているセンサーと比べると・・・まぁ、それなりです。
ピン配置は左からVCC・・・おっと!!向きが逆でした。気を付けないと!!
・・・で、これらを実装と・・・抵抗は足をラジオペンチで曲げた方がいいですね。
ちょっと引き回しに難アリだったので、配線は切って調整しました。
これで完成です。
これで実験回路はできあがりで、書き込めば動く・・・はず!!
DHT11用ライブラリのインストール
えっ!・・・そんな面倒な話が残っていたんですね。(汗)
とりあえず手順どおりに・・・dhtで検索したら・・・
スケッチ(制御ソフトウェア)
Arduino IDEの登場です!!・・・あ~大変だ。
これでプログラムミングしないと回路が動かないわけですね。
スケッチを作成!!
今回もサンプルが書かれているだけです。
・・・そういえば、既に最初の方でダウンロードしていたような気もしますが、Webの方が最新なのは間違いないので、コピペで進めます。
・・・となると、前回作ったArduinoフォルダの中のsLab-Remo2フォルダIlluminance-sensorを「Temp-humid-sensor」と名前をつけて保存してから、サンプルスケッチを貼り付けて保存してみます。(※ 手順の画像は前回同様なので端折ります)
よしよし!これで動くはず・・・って、まだ複製して貼り付けただけですね!!
スケッチの中身
公式にかなり丁寧に解説してありますね。でも、自分なりに加筆してみます。
今回は、DHTライブラリの扱いから難しい説明が書かれていますね。
詳細に理解するにはオブジェクト指向プログラミングを理解する必要があり本一冊が必要です。
と、とりあえず「このように記述すればDHT-11の値が読み込めるという仕組み」ということで理解したつもりになりたいと思います。
ハラハラドキドキ!動作確認!!
ハラハラドキドキですね。
ボードにUSBケーブルを繋いでノートパソコンに接続、そして、プログラムを開きました。ボードへの書込は、忘れずにこの技↓ですね!!(※ 該当の部分に飛びます)
(※ 後半の「書き始めるまでBOOTボタン押しっぱなし技」です。)
さて、どうなるか・・・はい!!
動きました!!(※ 暑い部屋にAlexa扇風機だけで作業していることはナイショです)
5秒ごとに数字が変化しています。
SwitchBot温湿度計と比べると、温度は・・・微妙ですが、湿度は・・・それなりですね!!
絶対値のズレがあるなら、演算式で誤差分±してやればいいですね。
バラツキは何度かサンプリングして平均化してやれば良いかと・・・
・・・あ、そろそろ言語勉強しなくては!!
まとめ
温湿度センサーも無事動作しました!!
これでSwitchBotの温湿度計を買い足さなくても、自分で何とか・・・
次回は【電子部品利用実習④編】ですね。
人感センサー使って、人の検知を行うようです。
「人が入ってきたらランプを点ける!」なんてこともできるようになるわけですね!!
以上です!!
そういえば、CPU1つで複数の温湿度センサー(DHT11)を繋ぐこともできるわけですね。
それぞれのセンサーの接続先を変えて、それぞれ順番に読み取ってやれば複数の場所の温度・湿度が測れるようになります。デジタル出力なので多少配線を延ばしても大丈夫そうですし・・・
たった1,450円で、明日には届きますね。
ちょっとDHT11の足ピンが違うようですが、部品だけ使うならなんとかなるでしょう。
(※ 夏休みの工作を考え中)
(おわり)