おはようございます!!
先日、こちら↓の記事を書かせていただきました。
スマートリモコンの学習キットの「sLab-Remo2」ですね!!
【電子部品利用実習④編】ということで実際に回路を組み、プログラムを転送し、人感センサの動作確認まで行いました。
手が近づくと「Deteckted!」と警報が表示されるんですね!!
・・・で、今回は電子部品利用実習⑤編で赤外線リモコン受信を実習しました!!
目次
スマートリモコン「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.カメラ
これどのように使うのでしょうね?(笑)
カメラで顔を認識して赤外線リモコンで何かを動かすとか??・・・できればいいですね!!
・・・で、本日は電子部品利用実習⑤編として、5番目の赤外線リモコン受信をやってみたいと思います。
Clova Friends Dockについている、リモコン学習用センサと同じですね。
受光部分なので目立たない存在なのですね・・・(泣)
これがあることで、(基本的に)対応機種は全てになります。
これが、機種毎にリモコンデータ作ってたらスマートホーム機器メーカーの中の人は大変なことになりますよね~
赤外線リモコン受信
こちらですね。
今回は赤外線リモコンセンサーから出力をハイ・ローで判定して、プログラムで処理するようですね。
電気回路と電子工作
今回使うのは赤外線受信モジュールですね。
金属ケースに入った電子部品なのですが、リモコンを使った家電機器の中を見ると大抵乗ってます。(※ 普通の人は中を見ませんが・・・)
こちらからお借りしました!
ピンは3本あり、電源、GND以外にVoutという出力ピンがあるだけですね。
・・・で、回路図がこちらです!!
過去に組み立てた分も載ってますので、今回は右下の黄枠の部分の追加です。
赤外線センサのVOUTはGPIOー4に接続され、CPUでハイロー判定して処理するようですね。判定基準は・・・こちらに詳しく書かれていました!!(感謝!!)
ポイントは、
- 赤外線受光センサーはピンに注意!(ドームのある方の左からVout,GND,VCC)
- GPIO-4はデジタルの出力端子として使う!
今回も配線が少なくて楽そう~!!(※ 実は、配線は少ないものの、プログラムコードが(泣))
回路図だけでは動かないので、実際に部品を繋いでいく必要があります。
こちらの実装図を確認ですね。(今回の部分をオレンジで囲んでいます。)
ちょっとこれもポイントを書いてみます。
- 赤外線受光センサーはドーム面を奥(CPU側)へ!
- 電源(VCC,GND)のラインは過去の配線流用でOK!
- 右端ピン(Vout)からGPIO-4(D4の標印)のラインは
黄色い線で結線する!
あとは下に小さい字で書かれていますが、Lチカ回路でやったことそのままの状態でOKですね。
実験回路の組み立て
前回の最終形状は・・・
ちょっと細々と辛くなってきましたが、ここに追加で実装します。
部品探しは、赤外線受光センサーのみですね。
(※ ここから先は、左に入っていた袋で、右が部品の画像です)
3枚目は裏の標印ですね。ええ~っと、これみたいです。
中央の写真の向きでは、左から「Vout」「GND」「VCC」ですね。
・・・で、これらを実装と・・・過去からの配線が中途半端なので切って調整しました。
どうしても配線が隠れちゃいますね。
では、センサー部分周辺を上の写真の左中央から右下へ見た画像です。(ああややこしい)
赤外線受光センサーの足を曲げるとかなり曲がり易くなりますので、先端を斜めに切って差し込んでから、ピンセットで挟んでL字に曲げた方がいいですね。(ああややこしい・2回目)
これで完成です。
これで実験回路はできあがりで、書き込めば動く・・・はず!!
スケッチ(制御ソフトウェア)
Arduino IDEの登場です!!・・・あ~大変だ。
これでプログラムミングしないと回路が動かないわけですね。
スケッチを作成!!
今回も前回作ったArduinoフォルダの中のsLab-Remo2フォルダのHuman-sensorを「Infrared-sensor」と名前をつけて保存してから、サンプルスケッチを貼り付けて保存してみます。(※ 手順の画像はこれまでと同様なので端折ります)
よしよし!これで動くはず・・・って、まだ複製して貼り付けただけですね!!
スケッチの中身
今回は強烈ですね!!一気にプログラミングの世界になりました!!
公式にかなり丁寧に解説してありますね。とりあえず貼り付けます。
前回同様、今回もdigitalRead(ピン番号)で判定結果が返ってくるので、その結果により処理させているんですね。
とりあえず、重要なInRecvのところだけフローチャートにしてみました。(何年ぶり?(笑))
※ 使い慣れてないので、直線と曲線の使い分けができません(泣)
プログラムと解説を見比べながら、初めてのツール(こちら)を使って作りました。
ホント、赤外線が点いているか消えているかだけを検出するだけなのに、本当に難しいですね(泣)
ハラハラドキドキ!動作確認!!
ハラハラドキドキですね。
ボードにUSBケーブルを繋いでノートパソコンに接続、そして、プログラムを開きました。ボードへの書込は、忘れずにこの技↓ですね!!(※ 該当の部分に飛びます)
(※ 後半の「書き始めるまでBOOTボタン押しっぱなし技」です。)
今回は1回で成功しました!!
ハラハラドキドキは変わりません。
さて、どうなるか・・・はい!!
※ この記事を書きながら併行してFireHD8の評価もしています。
動きました!!(※ 今日は和室に疎開しています。室温31度ぐらいなら扇風機で快適です♪)
・・・でも、信号が来ない時でもチョロチョロデータが出てますね。
プログラム的には10以下ならノイズと処理しているようですが、ちょっと上で出ています。
試しに、TVリモコンの電源ボタンのデータを3回取ってみました。
ir:
907,447,57,56,56,56,57,56,56,56,57,56,56,56,57,56,56,170,56,56,56,56,57,56,57,169,56,56,57,169,57,169,57,169,57,56,56,56,57,169,57,56,56,57,56,56,56,56,57,56,56,170,56,169,57,56,57,169,56,170,56,170,56,170,56,170,56,4363,908,448,56,56,59,53,57,56,57,56,56,56,56,56,57,56,56,170,56,56,57,56,56,56,57,169,57,56,56,170,56,170,56,169,57,56,56,56,57,56,56,56,57,169,57,56,56,170,56,170,56,170,56,170,56,170,59,167,56,56,57,169,65,47,57,56,56,
RcvOK
ir:
907,447,57,56,56,56,57,56,56,56,57,56,56,56,57,56,57,169,56,56,59,54,56,56,57,169,56,57,56,169,57,170,56,169,57,56,56,56,57,169,57,56,56,56,57,56,56,56,57,56,56,170,56,170,56,56,56,170,56,170,56,170,56,170,56,170,56,4364,904,451,59,53,57,56,59,53,56,57,56,56,56,56,60,53,56,170,56,56,57,56,57,55,57,169,57,56,59,167,56,170,56,170,56,56,56,56,57,56,57,55,57,169,57,56,56,170,56,170,59,167,56,170,56,170,56,170,56,56,57,169,57,56,56,56,57,
RcvOK
ir:
913,444,56,56,57,55,63,50,59,53,57,56,56,57,56,56,59,167,59,53,60,53,59,53,59,167,57,56,59,167,59,167,59,167,59,53,59,53,57,170,59,53,56,56,60,54,61,50,68,45,56,170,56,170,56,56,56,170,59,167,56,170,56,170,56,170,59,4361,907,448,56,56,62,51,56,56,62,51,61,51,57,56,56,56,59,167,56,57,61,51,56,56,62,164,57,56,59,167,59,167,59,167,56,56,57,56,59,53,59,54,59,167,56,56,59,167,56,170,59,167,56,170,59,167,56,170,59,53,60,166,57,56,59,53,57,
RcvOK
(※ 色を付けたところが異なる部分です・・・があまりに多いので途中でやめました)
・・・ただ、この数値は1違ったら動かないようなデジタルデータではなく、あくまでもH、Lそれぞれのパルス幅(x10us)のデータなんですね。
言わばアナログデータなので、これをデータ化してからが実際に判断処理になるみたいです。
まとめ
今回は配線はラクチンでしたが、プログラムは難解でした。(少なくとも私には(泣))
・・・ホントに、こういうの考えつく人は何食べてるんでしょうか?
次回は【電子部品利用実習⑥編】ですね。
今度は赤外線リモコン送信です。
ここまで来たら、リモコン代わりに使えるようになるんですね。
これは楽しみです!!
以上です!!
う~ん、これは難しい。
真面目に赤外線リモコン信号の仕組みを勉強した方が良いかもです。
いや、これまでも見てたんですよ。
なのに、毎回初めて見るような感覚で・・・(泣)
(おわり)