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

طراحی و پیاده سازی خشک کن هوشمند دست با برد آردوینو Arduino

create-hand-dryer-with-arduino-and-srf-sensor-digispark
نوشته شده توسط معین صابری

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

 


سنسور فاصله سنج SRF05


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

 implement rear gear and autolite warning with Arduino

 


ماژول رله


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

relay module

در این پروژه، جهت فعال سازی فن به صورت هوشمند می بابست از رله استفاده کنید. به کمک ماژول رله می توانیم فرمان میکروکنترلر را به فن ارسال کنیم و فن را فعال و غیر فعال کنیم.

 


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


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

Arduino UNO

 


شماتیک و اتصالات


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

اتصالات پروژه خشک کن هوشمند دست - دیجی اسپارک

مطابق تصویر فوق، اتصالات مدار را به شیوه زیر ادامه می دهیم.

 


اتصالات سنسور SRF05 و آردوینو


  •  اتصال پایه VCC سنسور به پایه ۵V آردوینو
  • اتصال پایه GND سنسور به GND آردوینو
  • اتصال پایه TRIG سنسور به پایه ۱۳ آردوینو
  • اتصال پایه ECHO سنسور به پایه ۱۲ آردوینو

 


اتصالات ماژول رله


  •  اتصال پایه VCC ماژول رله به پایه ۵ ولت آردوینو
  • اتصال پایه GND ماژول رله به پایه GND آردوینو
  • اتصال پایه IN یا SIGNAL رله به پایه ۳ آردوینو

 


کدهای پروژه


در این قسمت کدهای پروژه خشک کن هوشمند دست را بر روی برد آپلود می کنیم. این کدها را که در پایین مشاهده می کنید، روی برد آردوینو خود آپلود کنید.

const unsigned int TRIG_PIN = 13; //انتخاب پایه  ۱۳ آردویینو جهت ارسال موج صوتی از طریق سنسور فاصله سنج(پایه تریگ)
const unsigned int ECHO_PIN = 12; //انتخاب پایه شماره ۱۲ جهت دریافت انعکاس موج صوتی ارسال شده (پایه اکو)
#define relay 3   //تعیین پایه شماره ۳ به عنوان خروجی جهت اتصال به رله
void setup() {
  pinMode(TRIG_PIN, OUTPUT);   //تنظیم پایه تریگ به عنوان خروجی
  pinMode(ECHO_PIN, INPUT);   //تنظیم پایه اکو به عنوان ورودی
  pinMode(relay, OUTPUT);  //تنظیم پایه رله به عنوان خروجی
  digitalWrite(relay, HIGH);    //از آنجاییکه رله ما با سیگنال HIGH خاموش و با سیگنال LOW روشن می شود، لذا  در حالت عادی برای خاموش کردن رله پالس HIGH و بریا روشن کردن آن پالس LOW استفاده می شود.
  Serial.begin(115200);
  delay(50);
}

void loop() {
  digitalWrite(TRIG_PIN, LOW);   //ابتدا پایه تریگ را جهت ارسال موج صوتی صفر می کنیم و برای دو میکرو ثانیه صبر میکنیم
  delayMicroseconds(2);  //تاخیر دو میکروثانیه ای
  digitalWrite(TRIG_PIN, HIGH);  //در این قسمت دوباره این پایه را یک منطقی کرده و برای ۱۰ میکرو ثانیه صبر کرده و دوباره آن را صفر خواهیم کرد.
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN, LOW);
  unsigned long duration = pulseIn(ECHO_PIN, HIGH); //به کمک تابع pulsein م یتوانیم مدت زمانیکه که طول میکشد تا پایه اکو از صفر به یک برسد را اندازه بگیریم و فاصله را تعیین کنیم
  unsigned long distance = duration / 29 / 2;
  if (duration == 0) {
    Serial.println("pulse error");
  }
  else {
    Serial.print("distance: ");
    Serial.print(distance);  //نمایش فاصله
    Serial.println(" cm");
    Serial.flush();
    if(distance < 10 ){  //در صورتیکه فاصله کمتر از ۱۰ سانتی متر شود، یعنی دست نزدیک دستگاه شده و فن فعال می شود.
      Serial.println("hand detected");
      Serial.flush();
       digitalWrite(relay, LOW);         
    }
    else   //غیر فعال کردن رله
     digitalWrite(relay, HIGH);
  }
}

 


 اجرای پروژه


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

سریال مانیتور آردوینو پروژه خشک کن هوشمند دست - دیجی اسپارک

 

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

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

 


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


در این قسمت به تحلیل و بررسی کدهای پروژه خشک کن هوشمند دست می پردازیم. از آنجاییکه درون کدهای پروژه به صورت خط به خط کامنت(توضیح) درج شده، در این قسمت به بررسی مختصر کدهای پروژه  می پردازیم. در ابتدا دو پایه TRIG و ECHO، مخصوص ارتباط با سنسور تعریف می شوند. این پایه ها وظیفه ارسال سگنال به سنسور و دریافت سیگنال دریافتی را بر عهده دارند. از طرفی دیگر، پایه GPIO3 به عنوان خروجی جهت اتصال به رله تعریف شده است. در این وضعیت، هرگاه فاصله از ۱۰ سانتی متر کمتر تشخیص داده شود؛ برد آردوینو به رله فرمان داده تا خروجی فعال شود. به طور مشابه، هرگاه فاصله از سنسور کم شود، برد آردوینو به رله فرمان داده و فن را خاموش می کند.

 


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


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

سنسور فاصله سنج SRF05

انواع رله

 


جمع بندی


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

 

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

 

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

معین صابری

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

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

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

۸ دیدگاه

    • سلام
      منظور شما را متوجه نمی شوم. این پروژه باید پیاده سازی شود چراکه دارای سنسور است.

      • بنده به دنبال موضوعی از برنامه نویسی برد آردینو هستم که بشه با نرم افزار Proteus پیاده سازی کرد، شما میتوانید راهنماییم کنید؟

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

  • چطور میشه وقتی فاصله سنج دست را شناسایی می کند آردوینو ۱۰ ثانیه رله فعال کنه؟