セキュリティは私たち全員にとって常に大きな関心事であり、多くのハイテクおよびIoTベースのセキュリティおよび監視システムが市場で入手可能です。侵入者または盗難警報器は、電子工学の学生や愛好家の間で古典的で人気のあるプロジェクトの1つです。また、さまざまな技術に基づいて多くの盗難警報器を構築しました。
- レーザーセキュリティ警報回路
- IRベースのセキュリティアラーム
- PIRを使用した盗難警報
- GSMベースのセキュリティシステム
本日、超音波センサーに基づくセキュリティアラームをリストにもう1つ追加します。このArduinoControlled Doorアラームは、ドアの近くに設置して、ドアにいる人の存在を検出できます。誰かが超音波センサーの範囲に入ると、ブザーが鳴り始めます。ドアに合わせてセンサーの検出範囲を調整できます。このシステムはまたの目的果たすことができますモーション検出を。
必要なコンポーネント:
- ブレッドボード
- 超音波センサー
- ブザー
- Arduino Mega(任意のモデル)
- ジャンパー線
- Arduinoまたは12v、1Aアダプター用のUSBケーブル。
超音波センサーモジュール:
ここでは、超音波センサーHC-SR04を使用して、ドアにいる人の存在を検出します。センサーモジュールは、超音波送信機、受信機、および制御回路で構成されています。超音波センサーは2つの円形の目で構成され、そのうちの1つは超音波を送信し、もう1つは超音波を受信するために使用されます。
超音波がセンサーに戻るまでにかかる時間に基づいて、物体の距離を計算できます。音の時間と速度がわかっているので、次の式で距離を計算できます。
- 距離=(時間x音速)/ 2
波は同じ距離を前後に移動するため、値は2で除算されます。しかし、このプロジェクトでは NewPing.h ライブラリを使用し ました。 このライブラリがこの計算を処理し、いくつかのキーワードを使用する必要があります。以下のプログラミングセクションで説明します。
以下のプロジェクトをチェックして、物体の距離を測定し、超音波センサーの動作を正しく理解してください。
- 超音波センサーを使用したArduinoベースの距離測定
- HC-SR04とAVRマイクロコントローラーを使用した距離測定
回路図と説明:
この超音波アラームの回路接続は非常に簡単です。超音波センサーのトリガーピンはピン番号に接続されています。Arduinoの12番とセンサーのエコーピンはArduinoの11番ピンに接続されています。センサーのVccはArduinoの5Vピンに接続され、センサーのGNDはArduinoのGNDに接続されます。ブザーの1つのピンはArduinoのGNDに接続され、もう1つのピンはArduinoの8番目のピンに接続されます。
作業説明:
このArduinoドアアラームの操作は非常に簡単です。超音波センサーの経路/範囲に誰かが入ると、マイクロコントローラーはセンサーからの物体の距離を検出し、物体が定義された範囲内にある場合、高信号をブザーに送信し、ブザーがビープ音を鳴らし始めます。
範囲内のセンサーの前に何かを置くことで回路をテストできます。デモ用のビデオを確認してください。超音波センサーのこの機能は、障害物回避ロボットの構築にも使用できます。
プログラミングの説明:
このプロジェクトでは、 TimEckel によって開発された超音波センサー用の NewPing.h ライブラリを使用し ました 。以前のプロジェクトのように、このライブラリなしで超音波センサーを使用できますが、このライブラリは超音波センサーに多くの優れた機能を提供し、このライブラリを使用して超音波センサーのコーディングが容易になります。このライブラリを使用すると、コードをあまり多く記述しなくても、超音波センサーの機能を簡単に使用できます。これは、より低いレベルで複雑さを処理するために使用される他のライブラリのようなものです。
#include
このリンクをたどると、このライブラリのすべての機能、使用法、およびサンプルコードを確認できます。このライブラリの公式Arduinoページも確認してください。
ライブラリの最新リリースは、上記のリンクからダウンロードできます。さらに、以下のリンクからライブラリをダウンロードしました。これは、Teensy用に変更されています。
github.com/PaulStoffregen/NewPing
最初に、そのページに記載されているサンプルコードを書き込んでセンサーをテストする必要があります。また、プロジェクトにサンプルコードを使用し、ドアアラームプロジェクトに従ってそれらを変更しました。
トリガーピンはArduinoのピン12に接続され、エコーピンはArduinoのピン11に接続されます。 MAX_DISTANCE は、センサーが障害物を検出できる距離が500cmまたは5mであることを意味します。
#define TRIGGER_PIN 12 #define ECHO_PIN 11 #define MAX_DISTANCE 500
以下の行は、データが超音波センサーからArduinoシリアルポートに送信されるボーレートを示しています。
Serial.begin(115200);
ピン番号10は出力ピンとして構成され、ブザーに接続されています。ブザーの他のピンはArduinoのGNDに接続されています。
pinMode(10、OUTPUT);
ボイドechoCheck() 関数、 sonar.ping_result / US_ROUNDTRIP_CMは 、センサから障害物までの距離を計算するために使用されます。 フラグ は、障害物が超音波センサーから50cmの範囲にあるときにブザーを鳴らすために使用されます。要件やドアのサイズに応じて、この「距離」を変更できます。
if((sonar.ping_result / US_ROUNDTRIP_CM)<50)フラグ= 1; else if((sonar.ping_result / US_ROUNDTRIP_CM)> 50)フラグ= 0;
このコードは、 NewPing.h ライブラリの作成者によって非常によくコメントされており、簡単に理解できます。さらに、ライブラリページ自体をチェックして理解を深め、このライブラリを使用して超音波センサーを使用して複雑なプロジェクトを作成できます。このドアアラームプロジェクトの完全なコードを以下に示します。
主に超音波センサーは、あらゆる物体からの距離を測定するために使用されますが、ここでは、Arduinoでセキュリティアラームまたはドアアラームとして使用できることがわかります。同様に、次のような多くの便利なプロジェクトを作成できます:Arduinoを使用した自動水位インジケーターとコントローラー