PIRセンサーの仕組みとArduinoでの使用方法
このArduinoチュートリアルでは、PIRセンサーがどのように機能するか、および動きを検出するためにArduinoボードでPIRセンサーを使用する方法を学習します。次のビデオを見るか、以下のチュートリアルを読むことができます。
まず、動作原理を説明しましょう。モジュールは実際には、熱にさらされるとエネルギーを生成する焦電センサーで構成されています。
つまり、人体または動物の体がセンサーの範囲内に入ると、人体または動物の体が赤外線の形で熱エネルギーを放出するため、動きを検出します。センサーの名前の由来は、パッシブ赤外線センサーです。また、「パッシブ」という用語は、センサーが検出目的でエネルギーを使用しておらず、他のオブジェクトから放出されるエネルギーを検出することで機能することを意味します。
このモジュールには、赤外線信号を焦電センサーに集束させるフレネルレンズという特別に設計されたカバーも含まれています。
モジュールには、モジュールに電力を供給するためのグラウンドとVCCの3つのピンと、オブジェクトが検出された場合に高いロジックレベルを提供する出力ピンがあります。また、2つのポテンショメータがあります。 1つはセンサーの感度を調整するためのもので、もう1つは物体が検出されたときに出力信号がハイに留まる時間を調整するためのものです。この時間は0.3秒から最大5分まで調整できます。
モジュールにはさらに3つのピンがあり、そのうちの2つの間にジャンパーがあります。これらのピンは、トリガーモードを選択するためのものです。最初のものは「繰り返し不可能なトリガー」と呼ばれ、次のように機能します。センサー出力が高く、遅延時間が経過すると、出力は自動的に高レベルから低レベルに変化します。 「繰り返し可能なトリガー」と呼ばれるもう1つのモードでは、検出されたオブジェクトがセンサーの範囲内に存在するまで、出力が常にハイに保たれます。
コンポーネントは、以下のいずれかのサイトから入手できます:
このチュートリアルの例として、センサーが物体を検出したときに高電圧ランプをオンにする回路を作成します。これが回路図です。センサーの出力ピンはArduinoボードのピン番号8に接続され、物体が検出されると、ピン番号7がリレーモジュールをアクティブにし、高電圧ランプが点灯します。
リレーモジュールの動作の詳細については、私のArduinoリレーチュートリアルを確認してください。 (この例では高電圧を使用していることに注意してください。私はあなたの行動に責任を負いませんので、十分に注意する必要があります)
この例のArduinoコードは次のとおりです。とても簡単です。 PIRセンサーピンを入力として定義し、リレーピンを出力として定義する必要があります。 digitalRead()関数を使用して、センサーの出力を読み取り、センサーが高い場合、またはオブジェクトが検出された場合は、リレーをアクティブにします。リレーモジュールをアクティブにするために、リレー入力ピンが逆に動作するため、ロジックをローに送信します。
例のデモンストレーションは、上記のビデオの最後にあります。センサーモジュールに電力を供給した後、正しく機能するために「ウォームアップ」するのに約20〜60秒かかることに注意してください。これで、センサーの前に手を置くと、リレーがランプをアクティブにします。ただし、PIRセンサーは「繰り返し不可のトリガー」モードであるため、手を絶えず動かしても、調整された遅延時間が経過するとランプがオフになることに注意してください。ジャンパー付きのセンサーを「リピート可能なトリガー」モードに変更し、常に手を動かすと、ランプも常にオンになり、動きがなくなって設定された遅延時間が経過するとオフになります。
HC-SR501PIRセンサーモジュール
回路図
ソースコード
/* Arduini PIR Motion Sensor Tutorial
*
* by Dejan Nedelkovski, www.HowToMechatronics.com
*
*/
int pirSensor = 8;
int relayInput = 7;
void setup() {
pinMode(pirSensor, INPUT);
pinMode(relayInput, OUTPUT);
}
void loop() {
int sensorValue = digitalRead(pirSensor);
if (sensorValue == 1) {
digitalWrite(relayInput, LOW); // The Relay Input works Inversly
}
}
Code language: Arduino (arduino)
製造プロセス