رباتیک و هوافضا

ساخت سیستم هشدار درب با استفاده از آردوینو و سنسور آلتراسونیک

سیستم هشدار درب

به نام خدا

پروژه ی ساخت سیستم هشدار درب با استفاده از آردوینو و سنسور آلتراسونیک

سیستم هشدار درب

امروزه امنیت یکی از بزرگترین نگرانی های بشر  می باشد. تکنولوژی های فراوانی در این زمینه پا به عرصه گذاشته اند . دزدگیر ها یکی از محبوب ترین این موارد هستند. در این پروژه ما با استفاده از سنسور آلتراسونیک و آردوینو یک دزدگیر می سازیم.

سیستم که می سازیم باید نزدیک در باشد تا عبور شخص را تشخیص دهد. هنگامی که شخصی از محدوده ی سنسور آلتراسونیک عبور کند ، بازر شروع به صدا دادن می کند . شما می توانید محدوده ی سنسور را با توجه به مکان درب تنظیم نمایید. همچنین این سیستم می تواند به عنوان یک تشخیص دهنده ی حرکت نیز در جا های دیگر مورد استفاده قرار گیرد.

قطعات مورد نیاز برای ساخت سیستم هشدار درب با استفاده از آردوینو و سنسور آلتراسونیک:

برد بورد

سنسور آلتراسونیک

بازر

آردوینو مگا یا هر مدل دیگر

سیم برد بورد

کابل یو اس بی برای آردوینو

سنسور آلتراسونیک:

در این پروژه از این سنسور برای تشخیص عبور افراد از در استفاده شده است. این ماژول از دو قسمت فرستنده و گیرنده تشکیل شده است . همانطور که در شکل می بینید سنسور دو استوانه  دارد که یکی فرستنده و دیگری گیرنده است.

بیشتر بخوانید...  ساخت کرنومتر با استفاده از آردوینو برای محاسبه ی چند زمان

 

سیستم هشدار درب

این سنسور  برای محاسبه ی فاصله ی  ۲ سانتی متر تا ۴۰۰ سانتی متر با دقت سه میلیمتر استفاده می شود که شامل یک فرستنده و یک گیرنده و مدار کنترل است.این سنسور موجی با فرکانس ۴۰ کیلوهرتز را ساتع می کند و با استفاده از فرمول زیر میتوان به راحتی فاصله را محاسبه کرد.

Distance= (time x speed)/2

 

شماتیک مدار :

سیستم هشدار درب

همانطور که در بالا می بینید. اتصالات بسیار ساده هستند. پین Trigger سنسور آلتراسونیک به پین ۱۲ آردوینو و پین ECHO سنسور به پین ۱۱ آردوینو متصل است. Vcc سنسور نیز به پین ۵ ولت آردینو و پین GND سنسور به پین GND آردوینو متصل شده است. یک پین بازر به زمین آردوینو و پین دیگر آن نیز به پین هشتم آن وصل شده است.

 

سیستم هشدار درب

دانلود کد پروژه ی سیستم هشدار درب :

دانلود فایل
#include <NewPing.h>
#define TRIGGER_PIN  12  // Arduino pin tied to trigger pin on ping sensor.
#define ECHO_PIN     11  // Arduino pin tied to echo pin on ping sensor.
#define MAX_DISTANCE 500 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 400-500cm.
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup of pins and maximum distance.
unsigned int pingSpeed = 50; // How frequently are we going to send out a ping (in milliseconds). 50ms would be 20 times a second.
unsigned long pingTimer;
int flag = 0; // Holds the next ping time.
void setup() {
  Serial.begin(115200); // Open serial monitor at 115200 baud to see ping results.
  pingTimer = millis();
  pinMode(10, OUTPUT); // Start now.
  // Start now.
}
void loop() {
  // Notice how there's no delays in this sketch to allow you to do other processing in-line while doing distance pings.
  if (millis() >= pingTimer) {   // pingSpeed milliseconds since last ping, do another ping.
    pingTimer += pingSpeed;      // Set the next ping time.
    sonar.ping_timer(echoCheck); // Send out the ping, calls "echoCheck" function every 24uS where you can check the ping status.
  }
  if (flag == 1)
  {
    digitalWrite(10, HIGH);
    delay(500);
    digitalWrite(10, LOW);
    delay(500);
    digitalWrite(10, HIGH);
    delay(500);
    digitalWrite(10, LOW);
    delay(500);
  }
  else
  {
    digitalWrite(10, LOW);
  }
}
void echoCheck() { // Timer2 interrupt calls this function every 24uS where you can check the ping status.
  if (sonar.check_timer()) { // This is how you check to see if the ping was received.
    // Here's where you can add code.
    Serial.print("Ping: ");
    Serial.print(sonar.ping_result / US_ROUNDTRIP_CM); // Ping returned, uS result in ping_result, convert to cm with US_ROUNDTRIP_CM.
    Serial.println("cm");
    if ((sonar.ping_result / US_ROUNDTRIP_CM) < 50)
      flag = 1;
    else if ((sonar.ping_result / US_ROUNDTRIP_CM) > 50)
      flag = 0;
  }
}

 

بیشتر بخوانید...  چراغ کنترل ترافیک(راهنمایی و رانندگی) سه راه با آردوینو

دیدگاه‌ها (0)

*
*