آردوینو آردوینو Arduino Uno آموزش آردوینو پکیج سنسور آردوینو

آموزش تشخیص سطوح فلزی Metal Touch از پکیج ۳۷ سنسور آردوینو

Arduino-Sensor-Kit-metal-touch-Module-digispark
نوشته شده توسط پریسا پوربلورچیان

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

 

 


ماژول تشخیص سطوح فلزی Metal touch


ماژول Metal Touch جهت تشخیص سطوح فلزی به کار برده می‌شود. در ساختار ماژول تشخیص فلز metal touch از ترانزیستور KSP 13 E49 استفاده شده است که پایه بیس آن به عنوان تاچ سنسور فلز عمل می‌کند. دو ال ای دی LED بر روی ماژول قرار دارد. ال ای دی ۱ – LED 1 به این معنی است که ولتاژ کافی به سنسور رسیده و روشن می‌شود. ال ای دی ۲ – LED 2 زمانی روشن می‌شود که سنسور میدان مغناطیسی را دریافت کرده و سطوح فلزی را تشخیص می‌دهد. همچنین بر روی ماژول یک مولتی ترن  ۱۰۰ کیلو اهم قرار گرفته است که با تغییر مولتی ترن حساسیت ماژول را می‌توانید تنظیم کنید. همچنین ماژول metal دارای تراشه LM393 می‌باشد. ماژول تشخیص فلز  Metal Touch دارای ۴ پایه به ترتیب  analog , GND , VCC , Digital می‌باشد.

 


هدف آموزش تشخیص سطوح فلزی


ماژول Metal Touch جهت تشخیص سطوح فلزی می‌باشد. در این آموزش با لمس سنسور تاچ Metal Touch، در خروجی ۵ ال ای دی به صورتی آبشاری روشن خواهد شد. به این ترتیب که با لمس کردن سنسور تاچ، در ابتدا ال ای دی ها به ترتیب روشن و با جدا کردن آن خاموش خواهند شد.

ماژول تشخیص سطوح فلزی آموزش آردوینو پکیج 37 سنسور Arduino-دیجی اسپارک

 


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


  1. پایه دیجیتال D سنسور تشخیص فلز Metal Touch را به پایه ۷ دیجیتال آردوینو اتصال دهید.
  2. پایه VCC سنسور تشخیص فلز Metal Touch را به پایه ۵ ولت آردوینو اتصال دهید.
  3. پایه GND سنسور تشخیص فلز Metal Touch را به پایه GND آردوینو اتصال دهید.

 

اتصال LED

  1. پایه بلند ال ای دی اول را به پایه ۹ دیجیتال آردوینو اتصال دهید.
  2. پایه بلند ال ای دی دوم را به پایه ۱۰ دیجیتال آردوینو اتصال دهید.
  3. پایه بلند ال ای دی سوم را به پایه ۱۱ دیجیتال آردوینو اتصال دهید.
  4. پایه بلند ال ای دی چهارم را به پایه ۱۲ دیجیتال آردوینو اتصال دهید.
  5. پایه بلند ال ای دی پنجم را به پایه ۱۳ دیجیتال آردوینو اتصال دهید.
  6. هر ۵ پایه کوتاه ال ای دی را به ترتیب به پایه GND آردوینو اتصال دهید.

 


کد آموزش ماژول تشخیص فلز – metal touch


 

const int metal = 7; // تعریف پایه دیجیتال سنسور تاچ به عنوان ورودی
//تعریف پایه های ال ای دی ها
#define led1 9 // ال ای دی اول به پایه ۹
#define led2 10 // ال ای دی دوم به پایه ۱۰
#define led3 11 // ال ای دی سوم به پایه ۱۱
#define led4 12 // ال ای دی چهارم به پایه ۱۲
#define led5 13 // ال ای دی پنجم به پایه ۱۳

int metalStatus =0; 

void setup(){ // تعریف ورودی و خروجی
  pinMode(metal, INPUT); // سیگنال ماژول تیلت جیوه باز به عنوان ورودی تعریف میشود
  pinMode(led1, OUTPUT); // ال ای دی اول به عنوان خروجی تعریف میشود
  pinMode(led2, OUTPUT); // ال ای دی اول به عنوان خروجی تعریف میشود
  pinMode(led3, OUTPUT); // ال ای دی اول به عنوان خروجی تعریف میشود
  pinMode(led4, OUTPUT); // ال ای دی اول به عنوان خروجی تعریف میشود
  pinMode(led5, OUTPUT); // ال ای دی اول به عنوان خروجی تعریف میشود
  
}
 
void loop(){ // تعریف حلقه
  //در صورتی که تغییر وضعیت بدهد تیلت وارد شرط میشود
  if(metalStatus != digitalRead(metal)){ 
    // وضعیت فعلی تیلت در متغییر وضعیت تیلت ریخته میشود
    metalStatus =digitalRead(metal);
    //اگر یک باشد ال ای دی ها روشن میشوند 
    if(metalStatus){
      OnLed();
      //در غیر اینصورت تا خاموش شدن صدا زده میشود
    }else{
      OffLed();
    }
  }
}
// تابع روشن کردن  ال ای دی ها به ترتیب به صورت ابشاری با تاخییر دلخواه
void OnLed(){
  digitalWrite(led1,HIGH);
  delay(500);
  digitalWrite(led2,HIGH);
  delay(500);
  digitalWrite(led3,HIGH);
  delay(500);
  digitalWrite(led4,HIGH);
  delay(500);
  digitalWrite(led5,HIGH);
}
//تابع خاموش کردن ال اید ی ها  به ترتیب معکوس به صورت ابشاری با تاخییر دلخواه
void OffLed(){
  digitalWrite(led5,LOW);
  delay(500);
  digitalWrite(led4,LOW);
  delay(500);
  digitalWrite(led3,LOW);
  delay(500);
  digitalWrite(led2,LOW);
  delay(500
  
  
  );
  digitalWrite(led1,LOW);
}

 


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


ماژول تشخیص سطوح فلزی Metal Touch از پکیج ۳۷ سنسور آردوینو 

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

شیلد پروتوتایپ مخصوص برد آردوینو Arduino Prototype Shield

ال ای دی اوال Oval

کابل فلت نری به نری

کابل فلت نری به مادگی 

آموزش راه اندازی ماژول تشخیص سطوح فلزی Metal Touch با آردوینو -دیجی اسپارک

 


تحلیل کد آردوینو Arduino


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

 

تعریف حالت ON و OFF

برای روشن شدن ال ای دی ها نیاز به تعریف یک حلقه جداگانه خواهیم داشت. با تعریف حلقه ONLED، هر یک از ال ای دی ها با تاخیر ۵۰۰ میلی ثانیه در حلقه روشن خواهند شد:

void OnLed(){
  digitalWrite(led1,HIGH);
  delay(500);

برای خاموش شدن ال ای دی ها به همین ترتیب خواهد بود. با تعریف حلقه OFFLED هر یک از ال ای دی ها با تاخیر ۵۰۰ میلی ثانیه خاموش خواهد شد.

void OffLed(){
  digitalWrite(led5,LOW);
  delay(500);

 

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

 

پروژه

اخیرا تصمیم گرفته‌ایم برای تعامل بیشتر با شما کاربران و ایجاد موقعیتی در راستای رقابت دانش کاربران، در انتهای هر آموزش یک پروژه تعریف می‌کنیم. به اولین کاربری که به پروژه تعریف شده پاسخ صحیح بدهد، بن خرید به ارزش ۳۰ هزار تومان از فروشگاه دانشجو کیت ارایه خواهد شد. پروژه: پروژه را به حالت کلید تبدیل کنید. با تحریک شدن سنسور سطح فلزی، یک فایل MP3 از طریق ماژول Micro SD پخش شود. به عنوان مثال سنسور در جایی قرار گرفته باشد که با برخورد قسمت فلزی در وروی با سنسور، پیغام خوش آمدید یا هر فایل صوتی دیگری، از طریق بلندگو و ماژول Micro SD پخش شود.

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

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

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

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

۲۹ دیدگاه

  • سلام خانم پور بلورچیان کد های شما یه مشکل داره ال ای دی ۵ روشن نمیشه باید در خط ۴۶ و ۶۱ یک تاخیر دیگر اضافه کنید. تشکراز آموزش مفیدتون

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

    • سلام
      از توجه شما ممنونم.
      تا به حال بیش از ۲۱ آموزش از این پکیج منتشر شده است که در بسیاری از آن ها چند مدل سنسور مختلف ترکیب شده است.

  • سلام خانوم بلورچیان
    آموزش های شما برای ما تازه کارها بسیار مفید است. اکثر آموزش ها سطح بالایی دارد و ما باید ابتدا برنامه های ساده را اجرا کنیم تا بتوانیم سراغ پروژه های پیچیده تر برویم.
    از اینکه کامل توضیح میدهید ممنونم.

  • سلام و تشکر بابت این آموزش جذاب
    آیا امکان خرید این سنسور به صورت تکی به غیر از پکیج ۳۷ سنسور وجود دارد؟

    • سلام
      از توجه شما ممنونم.
      بله در حال حاضر این ماژول به صورت تکی در سایت وجود دارد و می‌توانید تهیه کنید. تنها به این نکته دقت کنید که پکیج سنسور شامل ۳۷ سنسور پرکاربرد است که یک به یک به آموزش راه اندازی آنها پرداخته ایم و خرید پکیج به صرفه تر خواهد بود.

    • سلام مجدد
      لطفا نتیجه ی بررسی پروژه را اگر امکان دارد به صورت ایمیل نیز برایم بفرستید.
      ممنون

      • سلام
        سرویس ارسال ایمیل بر روی سایت فعال است و به صورت اتوماتیک برای شما ارسال خواهد شد.

    • سلام
      موارد بررسی شد ولی به نظر کد دارای ایراداتی است. لطفا یک فیلم از نحوه‌ی اجرای پروژه ضمیمه کنید تا مجددا بررسی گردد.

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

  • سلام و عرض ادب
    بابت آموزشها از شما متشکریم
    خانم پوربلورچیان سنسوری میشناسید که فلز رو از فاصله ی بیشتری تشخیص بده (مثلا ۱ متر یا بیشتر )
    و اینکه اگه مانع غیر فلزی مقابل فلز باشه مثل شیشه باز سنسور می تونه اونو تشخیص بده ؟

    • سلام
      شاید بتوانید از سنسور اثر هال استفاده کنید ولی این مورد تست نشده است و باید بررسی کنید.

      • با سلام و عرض ادب.
        میشه بی زحمت یک آموزش هم در رابطه با تشخیص فلزات از فاصله های بیشتر (مثلا همون یک متر) بذارید.
        ممنون میشم اگه لطف کنید.

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

  • سلام وقت بخیر
    این پروژه تشخیص فلز رو من میخام با تعداد ۱۵ عدد سنسور راه اندازی کنم که فلز جلوی هرسنسور که میاد یه ledروشن بشه لطفا راهنمائی کنین واگه برنامه شو و پروژه کاملشو هم قیمت بدین ممنون میشم

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