どうしたものか…
と殿から宿題をもらっての。
敵が勝手に部屋に入ったりするのを検知できるぞ!
この記事では、M5Stackと、「人感センサー(HC-SR501)」を使って、人が近づいた際に検知して反応するプログラムを作成してみます。
記事内では、基本的なセンサーの使い方、M5Stack Core 2 との接続、プログラミング方法について、簡単な作例を用いてをご紹介します。
記事内でご紹介するM5Stackはこちら!
M5Stack Core2 開発キット
Arduino、UIFlow、MicroPythonに対応している組み込み開発キットです。
タッチスクリーン、マイク、IMUを使うことができ、従来のM5Stackよりも多機能なモデルです。 バッテリーも搭載しています。一台でいろいろと遊べる機器なのでおススメです!
人感センサー
HC-SR501人体赤外線感応モジュール 検出器PIRモーションセンサースイッチモジュール
Arduino、UIFlow、MicroPythonに対応している組み込み開発キットです。
タッチスクリーン、マイク、IMUを使うことができ、従来のM5Stackよりも多機能なモデルです。 バッテリーも搭載しています。一台でいろいろと遊べる機器なのでおススメです!
これからはじめる方にお勧めの参考図書はこちら!
アイデアをカタチにする! M5Stack入門&実践ガイド | M5Stack&M5StickCではじめるIoT入門 | みんなのM5Stack入門 | ESP32&Arduino 電子工作 プログラミング入門 | みんなのArduino入門 |
確認する | 確認する | 確認する | 確認する | 確認する |
人感センサーとは?
今回使う「人感センサー」は、「HC-SR501」です。
赤外線パッシブセンサー (遠赤外線センサー) と モーション検知 IC の組み合わせです。
外観は次のとおり
検知角度は 110°です。フレネルレンズ (白いドーム状のもの) は取り外せます。
裏面はこんな感じです。右上にジャンパーがあります。今回使ったものは、ジャンパーセットで、L(シングルトリガー)、H(繰り返しトリガー) を選択することができます。
画像下にあるピンは 電源入力と、出力のピンです。
構成は、VCC(+) / OUT / GND(-) で、人の動きを検知すると OUT が HIGH (3.3V) になります。
VCC には、入力できる電圧が商品ごとに違う可能性がありますが、概ね 5V~12V を入れられるようです。
今回は、M5Stack Core 2 の5Vピンから電源を供給します。
サイドには、半固定抵抗が2つつけられています。
画像の左側が「検知感度」、右側が「検知時間」になります。ドライバーなどで調整することで、センサーの感度を調整できます。
これも商品によって異なるので、使う際には、微調整をしましょう。
電子回路をつくる
M5Stack Core 2 の準備


回路の作成
いよいよブレッドボードに部品をつけて電子回路を作成します。
M5Stack Core 2 と人感センサーを接続します。
M5Stack Core 2 側は、GPIOピンの中で、「G19」を人感センサーの「Out」に割り当てます。
「5V出力」と「GND」についても、人感センサーの「VCC」と「GND」に割り当てます。
直接接続してもよいですが、わかりやすくするため、ブレッドボードとジャンパー線を使います。
安心のサンハヤト。両端に「+」と「ー」のラインがあります。電圧の違う回路を扱う場合に便利なブレッドボードです。最初はこれが一枚あるとよいと思います。
ジャンパーワイヤー、オス-メス・オス-オス・メス-メスピッチ2.54mm * 40Pin
ブレッドボードとM5Stackなどのコネクタを持つ部品をつなぐ配線材です。
オス(pin)ーオス(pin)、オス(pin)ーメス(コネクタ)、メス(コネクタ)ーメス(コネクタ)がセットになっています。100mmの線になります。いろいろな色があるので配線をわかりやすく分けられます。
ブレッドボードとM5Stackなどのコネクタを持つ部品をつなぐ配線材です。
オス(pin)ーオス(pin)の200mmの線になります。いろいろな色があるので配線をわかりやすく分けられます。
接続図は次の通りです。
ブレッドボード上の接続図は次の通りです。
実際に接続したイメージこんな感じになりました。
接続が完了したら、いよいよ、M5Stack Core 2 でセンサーからのアウトプットを使って反応するプログラムを記載します。
M5Stack Core 2 で人感センサーを使う!
それでは早速、人感センサーからのアウトプット(G19の電圧)を使って反応するプログラムを記述していきます。
今回は、プログラムを簡単にしています。
アウトプット(G19 の電圧)が、0Vから3.3Vに変化(人感センサーが検知)した場合に、M5Stack Core 2 のディスプレイにお知らせ表示(円の描画)をします。
アウトプット(G19 の電圧)が、変化しない場合は、「Watching Now!」という文字をディスプレイに表示させます。
人感センサーを使ったプログラム
Arduino IDEを起動して、「ファイル」メニューから「新規ファイル」を選択し、表示されるスケッチに以下のように記述します。
Arduino IDE スケッチ例
※下記は、M5Stack Core 2 向けのプログラムです。
プログラム上部の「#include <M5Core2.h>」の部分がM5Stack Core 2に対応したものになります。
他のM5Stackで使用する場合は、読み替えてください。
M5Stackへの書き込み
- 「ファイル」メニューから「名前を付けて保存」で任意の名前を付けて保存します。
- 「ツール」メニューから「ボード」情報を確認し、次のものを選択します。
この際、「シリアルポート」にマイコンを接続したCOMポートが指定されているかも確認します。
ボード:「M5Stack-Core2」または「M5Stack Tough」など対応するボードを選択します。
「Partition Scheme」で「Not OTA(2MB)」を選択します。 - 「ツール」メニューから「シリアルモニタ」を選択してシリアルモニタを起動します。(転送速度は「115200」です)
- 「スケッチ」メニューから「マイコンボードに書き込む」を選択します。
プログラム実行結果
人感センサーに近づくとM5Stack Core 2のディスプレイ上に次のように表示されます。
編集後記
いかがだったでしょうか。
人感センサーと連携して、人が近づいた際にM5Stack Core 2 でお知らせすることができました。
今回の記事は以上になります。
こういったセンサーを使ったプログラムの実行例なども、面白いですね!
応用編などは今後ご紹介していきます。
ご期待ください。
今回の記事は以上になります。
最後までご覧いただきありがとうございました。
記事内でご紹介した商品はこちら!
M5Stack Core2 開発キット
Arduino、UIFlow、MicroPythonに対応している組み込み開発キットです。
タッチスクリーン、マイク、IMUを使うことができ、従来のM5Stackよりも多機能なモデルです。 バッテリーも搭載しています。一台でいろいろと遊べる機器なのでおススメです!
人感センサー
HC-SR501人体赤外線感応モジュール 検出器PIRモーションセンサースイッチモジュール
Arduino、UIFlow、MicroPythonに対応している組み込み開発キットです。
タッチスクリーン、マイク、IMUを使うことができ、従来のM5Stackよりも多機能なモデルです。 バッテリーも搭載しています。一台でいろいろと遊べる機器なのでおススメです!
これからはじめる方にお勧めの参考図書はこちら!