آردوینو پروژه های آردوینو

طراحی و پیاده سازی سیستم هشدار قطعی برق آسانسور در زمان حضور انسان

نوشته شده توسط معین صابری

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

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

 


سیستم هشدار قطعی برق و نقص فنی آسانسور


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

سیستم هشدار قطع برق و نقص فنی آسانسور - دیجی اسپارک

 

 در این پروژه به کمک برد آردویینو UNO، سنسور تشخیص حرکت و سنسور سنجش نور، چنانچه با تشخیص حضور افراد، نور کابین به هر دلیلی قطع شود، آژیر متصل به برد به صدا در می آید. بدین ترتیب نگرانی افراد از اطلاع خطر به دیگران، کاهش می یابد. همچنین عملیات کمک رسانی در کمترین زمان ممکن، صورت خواهد پذیرفت.

 


سنسور تشخیص حرکت PIR-SR501


در پروژه هشدار قطعی برق آسانسور از سنسور PIR استفاده می‌کنیم. سنسور تشخیص حرکت SR501، یک سنسور مبتنی بر فناوری مادون قرمز(IR) است. اساس کارکرد این فناوری، حساسیت به گرمای بدن موجودات زنده است. این سنسور، با ارسال امواج مادون قرمز، منتظر بازگشت آن می شود. موج ارسالی در برخورد با گرمای بدن موجودات زنده، دچار تغییراتی می شود. این تغییرات در حین بازگشت موج برای سنسور آشکار شده و حرکت افراد تشخیص داده می شود.

سنسور تشخیص حرکت PIR-SR501 - دیجی اسپارک

 

در این پروژه برای تشخیص حضور افراد در کابین آسانسور، از سنسور تشخیص حرکت SR501 استفاده کرده ایم. این سنسور با ولتاژ ۴ الی ۱۲ ولت تغذیه می شود. این سنسور دارای خروجی دیجیتال بوده و در صورت تشخیص حرکت، خروجی یک منطقی با ولتاژ ۳٫۳ ولت ایجاد خواهد نمود. بدین ترتیب می توان این سنسور را به سادگی، به برد آردویینو متصل نمود.

 


سنسور شدت نور BH1750


برای تشخیص روشنایی و عدم روشنایی در پروژه هشدار قطعی برق آسانسور از سنسور BH1750 استفاده می‌کنیم. سنسور شدت نور BH1750، یک سنسور اندازه گیری نوری بر مبنای LUX با خروجی دیجیتال ۱۶ بیتی است. این سنسور با سنجش میزان نور، شدت نور دریافتی را به صورت یک عدد بین ۰ الی ۶۵۵۳۵ تحویل می دهد. هر چه میزان نور اندازه گیری شده بیشتر باشد، این عدد نیز بیشتر است. به طور مشابه با کاهش میزان نور، این عدد کم می شود.

سنسور شدت نور BH1750 -دیجی اسپارک

 

این سنسو دارای پروتکل ارتباطی سریال از نوع I2C بوده و به سادگی با برد آردویینو راه اندازی می شود. جهت دریافت دیتای سنسور از طریق برد آردویینو، کتابخانه BH1750 در دسترس بوده و می توانید در کمترین زمان ممکن، این سنسور را راه اندازی کنید.

 


برد آردویینو UNO


در این پروژه بر مبنای داده های دریافتی از سنسور شدت نور و سنسور تشخیص حرکت، تصمیم مناسب(اجرای زنگ هشدار) اتخاذ خواهد شد. به این منظور نیاز به یک پردازنده جهت دریافت داده های سنسورها، تجزیه و تحلیل آن و صدور فرمان لازم  است. در این پروژه ما از برد آردویینو UNO جهت پردازنده مرکزی استفاده نموده ایم. این برد که پردازنده ATMEGA328P را در خود جای داده، قادر است با ا جرای برنامه برنامه نویس، به دریافت داده از سنسورها و اجرای فرمان لازم بپردازد.

برد آردویینو UNO - دیجی اسپارک

برد آردویینو UNO دسترسی به پایه های ورودی/خروجی را ساده تر می کند. از طرفی دیگر، این برد به سادگی به رایانه متصل شده و برنامه به آن متقل می شود. زبان برنامه نویسی آردویینو، همان زبان ++c(با اندکی تفاوت بوده) بوده و برای برنامه نویسان این حوزه، روند کار تسریع خواهد یافت.

 


نصب کتابخانه سنسور شدت نور BH1750


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

نصب کتابخانه سنسور شدت نور BH1750 در آردوینو - دیجی اسپارک

 

در منوی ظاهر شده، عبارت BH1750 را در کادر جست و جو، وارد نموده و گزینه مشخص شده با کادر قرمز رنگ در تصویر زیر را انتخاب نمایید.

نصب کتابخانه سنسور شدت نور BH1750 - دیجی اسپارک

 


شماتیک و اتصالات پروژه


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

شماتیک و اتصالات پروژه هشدار قطع برق آسانسور با آردوینو - دیجی اسپارک

 

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

اتصال پایه GND سنسور شدت نور به پایه GND آردویینو

اتصال پایه VCC سنسور شدت نور به پایه ۵ ولت آردویینو

اتصال پایه SCL سنسور شدت نور به پایه SCL آردویینو

اتصال پایه SDA سنسور شدت نور به پایه SDA آردویینو

پس از اتصال سنسور شدت نور، نوبت به اتصال سنسور  تشخیص حرکت می رسد. این سنسور دارای خروجی دیجیتال بوده و در صورت تشخیص، ولتاژ آن ۳٫۳  یا یک منطقی خواهد شد. این یک منطقی با توجه به بازه ولتاژ یک منطقی در آردویینو جزو یک منطقی ضعیف محسوب می شود. به همین منظور برای دقت هرچه بیشتر، ما خروجی این پایه را به ورودی آنالوگ آردویینو متصل کرده و مقدار خروجی سنسور را به کمک ADC آردویینو می خوانیم. اتصالات سنسور SR501 را به صورت زیر، پیش ببرید.

اتصال پایه VCC سنسور تشخیص حرکت به پایه ۵ ولت آردویینو

اتصال GND سنسور تشخیص حرکت به GND آردویینو

اتصال پایه OUT یا SIGNAL سنسور تشخیص حرکت

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

اتصال پایه GPIO3 به صورت سری با یک مقاومت یک کیلو اهمی به پایه بیس ترانزیستور 

اتصال پایه امیتر ترانزیستور به GND مدار

اتصال پایه کلکتور ترانزیستور به پایه منفی تغذیه بیزر

اتصال پایه تغذیه مثبت بیزر به پایه ۵ ولت آردویینو

 


کد پروژه هشدار قطع برق آسانسور


در این قسمت به بررسی کدهای پروژه می پردازیم. همانطور که پیشتر بیان شد، در این پروژه از برد آردویینو UNO جهت پردازش مرکزی استفاده شده است. بنابراین در ابتدا، کدهای زیر را برای برد آردویینو کپی و سپس آپلود نمایید.

#include <BH1750.h>   // اضافه کردن کتابخانه سنسور شدت نور
BH1750 lightMeter;   //تعریف یک نمونه از کلاس سنسور شدت نور
#define alarm 3     //انتخاب پایه شماره ۳ جهت پخش آژیر
void setup() {
  Serial.begin(9600);
  lightMeter.begin();   //راه اندازی سنسور شدت نور
  pinMode(alarm, OUTPUT);   //تنظیم پایه سه به عنوان خروجی
  digitalWrite(alarm, LOW);    
}

void loop() {
  if (lightMeter.readLightLevel() < 10 && ((analogRead(0) * 5) / 1023 > 2.5)) {     //در صورتیکه شدت نور دریافتی کمتر از ۱۰ شود و ولتاژ پایه خروجی سنسور از ۲٫۵ بیشتر شود یعنی خطر رخ داده
    Serial.println("WARNING");  //حالت خطر
    Serial.flush();
    for (int i = 0; i < 15; i++) {   //پخش آلارم
      digitalWrite(alarm, HIGH);
      delay(1000);
      digitalWrite(alarm, LOW);
      delay(1000);
    }
  }
  Serial.println("NORMAL CONDITION");  //حالت عادی
  Serial.flush();
  delay(1000);
}

 


اجرای پروژه هشدار قطع برق و نقص فنی آسانسور


در این قسمت به اجرای پروژه می پردازیم. درحالت عادی، در خروجی سریال مانیتور عبارت NORMAL CONDITION چاپ می شود. در شرایطی که خطر تشخیص داده شود، عبارت WARNING در خروجی سریال نشان داده می شود. پس از این مرحله، آلارم خطر به صدا در خواهد آمد.

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

اجرای پروژه هشدار قطع برق و نقص فنی آسانسور - دیجی اسپارک

 


تحلیل کدهای پروژه


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

lightMeter.readLightLevel()

خروجی تابع فوق، یک عدد بدون علامت ۱۶ بیتی است. به عبارت دیگر، خروجی این تابع، بسته به میزان و شدت نور، از ۰ الی ۶۵۵۳۵ تغییر می نماید. هرچه میزان نور نیز بیشتر شود، عدد خروجی تابع بیشتر خواهد بود.

از طرفی دیگر، به منظور تشخیص حضور افراد، از سنسور تشخیص حرکت SRF05 استفاده کرده ایم. خروجی این سنسور در صورت تشخیص حرکت، یک منطقی با ولتاژ ۳٫۳ است. از آنجاییکه این ولتاژ برای آردویینو یک ضعیف محسوب شده و احتمال قرارگیری نویز بر روی آن بالاست، در اینجا برای خواندن این اطلاعات از مبدل آنالوگ به دیجیتال استفاده میکنیم. برای این منظور، به شیوه زیر عمل می کنیم.

analogRead(0)*5/1023 > 2.5

مطابق عبارت فوق، تابع analogRead با ورودی ۰، مقدار دیجیتال خوانده شده را که عددی بین ۰ الی ۱۰۲۳ است، بر می گیرداند. برای تبدیل این عدد به مقدار ولتاژ آنالوگ خوانده شده، این عدد در ۵ ضرب شده و سپس بر ۱۰۲۳ تقسیم می گردد. عدد ۵ به دلیل ولتاژ مرجع ۵ ولت مبدل آنالوگ به دیجیتال آردویینو و عدد ۱۰۲۳ نیز به دقت ۱۰ بیتی مبدل آنالوگ به دیجیتال مربوط می گردد. در نهایت، چنانچه سنسور تشخیص نور، عددی کمتر از ۱۰ را اندازه گیری کرده و سنسور تشخیص حرکت ولتاژی بیش از ۲٫۵ تولید کند، خطر تشخیص داده شده و آلارم نیز به صدا در خواهد آمد.

 


وسایل مورد نیاز


برد آردویینو UNO

سنسور شدت نور 

سنسور تشخیص حرکت

باتری

ماژول شارژر باتری

 


جمع بندی


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

 

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

 

درباره نویسنده

معین صابری

کارشناسی ارشد رشته معماری سیستم های کامپیوتری

مالي که ز تو کس نستاند، علم است
حرزي که تو را به حق رساند، علم است
جز علم طلب مکن تو اندر عالم
چيزي که تو را ز غم رهاند، علم است
(شیخ بهایی)

تبادل نظر و رفع عیب با ثبت دیدگاه