موقتا برای پشتیبانی (دوره ها) از طریق پیام رسان آیگپ یا تلگرام با آیدی @irenxdotir در ارتباط باشید.

آموزش آردوینوپروژه های آردوینو

پروژه دور سنج و تاکومتر با آردوینو (اندازه گیری سرعت چرخش)

سلام. پروژه دور سنج و تاکو متر با آردوینو (آموزش اندازه گیری سرعت چرخش با Arduino) را آماده کردیم.

آموزش ساخت دور سنج با آردوینو

تاکومتر یا دور سنج، یک شمارنده RPM است. RPM یعنی تعداد دور بر دقیقه. دو نوع تاکومتر وجود دارد، یک مدل مکانیکی و دیگری دیجیتالی است. در این پروژه آردوینو ما قصد داریم یک دور سنج دیجیتالی مبتنی بر Arduino را با استفاده از سنسور مادون قرمز (سنسور مادون قرمز چیست؟) طراحی کنیم. شمارش به مدت 5 ثانیه بعد از زدن دکمه شروع ادامه پیدا میکند.

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

نحوه کار دور سنج آردوینو

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

RPM = تعداد * 12 چرخش یک شیئ

ما در این پروژه میخواهیم تعداد دور یک پنکه را محاسبه کنیم. پس تغییراتی را در این فرمول بوجود می آوریم :

RPM = تعداد * 12 / اشیاء

منظور از اشیا تعداد پره فن شماست.

مدار پروژه تاکو متر با برد آردوینو

شماتیک مدار پروژه تاکومتر با Arduino در تصویر زیر آورده شده است.

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

استفاده از سنسور مادون قرمز

پین خروجی ماژول سنسور IR مستقیماً به پین ​​18 (A4) متصل است. Vcc و GND به Vcc و GND آردوینو وصل می شوند. یک ال سی دی کاراکتری در حالت 4 بیتی به آردوینو متصل شده است. پین های کنترل RS ، RW و En به طور مستقیم به پین 2 ، GND و 3 آردوینو وصل می شوند. پین دیتا D4-D7 به پین ​​های 4 ، 5 ، 6 و 7 از Arduino وصل می شود. یک دکمه نیز در این پروژه اضافه شده است. وقتی باید RPM را بشماریم، این دکمه را فشار می دهیم تا این دستگاه ما شروع به کار کند و پس از 5 ثانیه به مقدار RPM را مشاهده میکنیم. را شروع کنیم تا RPM را برای پنج ثانیه بشماریم. این دکمه فشار به پین ​​10 آردوینو با توجه به زمین وصل شده است.

قطعات مورد نیاز

  1. برد آردوینو Pro Mini
  2. ماژول سنسور IR
  3. ال سی دی کاراکتری 16*2
  4. دکمه
  5. باتری 9 ولت
قطعات مورد نیاز را از فروشگاه قطعات آیرنکس تهیه کنید.

موارد موجود در فایل : سورس کد ، شماتیک پروژه

4.8 (14 نفر)

برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام ما را دنبال کنید.

محمد رحیمی

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

31 نظر

  1. سلام من سفارش سرعت سنج با سنسور یا با جی پی اس دارم گسی هست بتونه کامل و دقیق انجام بده۰۹۲۱۷۵۹۰۹۲۴

  2. سلام چرا موقع کد دادن این ارور رو برای من میاره
    Sketch uses 2598 bytes (8%) of program storage space. Maximum is 30720 bytes.
    Global variables use 145 bytes (7%) of dynamic memory, leaving 1903 bytes for local variables. Maximum is 2048 bytes.
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x

    1. سلام عزیز
      از چه بردی استفاده میکنید؟
      بررسی کنید که سیمی به پایه Tx – Rx متصل نباشد

  3. سلام خسته نباشید
    با برد اردوینو برای ساخت دور سنج آیا میشه دور اره موتوری را مشخص کرد دور در دقیقه ممنون

  4. سلام خسته نباشید اگه بخاهیم برای ساخت دورسنج بجای مادون قرمز از لیزر استفاده کنیم چه تغیراتی باید اعمال بشه

  5. سلام. مهندس جان. چه تغییراتی می بایست در کد داده سود تا دوره‌ای ۶۰ دور در ثانیه را بتواند اندازه بگیرد

  6. سلام مهندس
    ممنون بابت زحماتتون
    این قسمت برنامه
    for(i=0;i<1000;i++)
    {
    for(j=0;j<1227;j++)
    {
    مربوط به چه چیزی هست؟
    و سوال بعدی اینکه این مدار RPM های پایین مثلا 60دور دقیقه رو قادر ب اندازه گیری و محاسبه نیست
    ممنون میشم راهنمایی بفرمایید

    1. سلام عزیز
      برای خواندن خروجی ماژول حسگر IR و سپس محاسبه RPM استفاده میشه

    2. مهندس من دستم رو چندین بار با فاصله زمانی ۱ثانیه از جلوی سنسور رد کردم
      طبیعتا باید در خروجی RPM حدود 60 میشد اما عدد 624نشون داده شد
      لازم به ذکر هست ک من در تابع تایم “تقسیم بر ۳” رو حذف کردم بخاطر اینکه چرخنده من یک پره داره

  7. سلام استاد اگر از برد UNO استفاده کنیم نیاز به تغییر کد ها هست؟
    راستی LCD هم 4*20 هست

    1. سلام عزیز، مشکلی نیست میتونید از آردوینو اونو هم استفاده کنید.
      در تابع lcd.begin باید سایز ال سی دی رو تنظیم کنید

    2. برا برد اونو نیاز به تغییر کد ها نیست،شماره پایه ها با این برد مطابقت میکنه؟

  8. سلام استاد قصد خاصی از استفاده آردوینو مینی پرو داشتید؟!
    ممنون میشم بگید با بقیه برد ها هم جواب میده یا نه

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

  9. ساام ببخشید میشه به جای برد اردینو مینی پرو از برد اردینو نانو استفاده کرد

  10. سلام خسته نباشید من میخام یه برنامه بنویسم که برد اردینو به دور موتور ماشین واکنش نشون بده میشه راهنماییم کنید خیلی ممنون

    1. سلام عزیز، دوره آموزش آردوینو رو مشاهده کنید

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

    1. سلام بله عزیز میتونید استفاده کنید.

  12. سلام ممنون بابت مطالب مفیدتون
    یه سوال داشتم در مورد این تابع که نوشتین
    int delay1()
    {
    //unsigned int long k;
    int i,j;
    unsigned int count=0;
    for(i=0;i<1000;i++)
    {
    for(j=0;j<1227;j++)
    {
    if(digitalRead(sensor))
    {
    count++;
    while(digitalRead(sensor));
    }
    }
    }
    return count;
    }
    دلیل وجود اعداد 1000و 1227 چیه و اینکه چجوری توی برنامتون کاری کردین که طبق ثانیه مشخص شمارش انجام بده ؟

  13. با سلام من الان این پروژه رو عملا پیاده سازی کردم ولی این ارور رو میاره
    avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x20
    Problem uploading to board.
    اگر امکانش هست راهنمایی کنید

    1. سلام. این ارور مربوط به کد نیست و مربوط به فرآیند آپلود شدن کد در برد هست. راه حل دقیقی نمیتونم خدمتتون ارائه بدم دکمه ریست برد آردوینو رو فشار بدید، کامپیوتر رو ریستارت کنید. نرم افزار آردوینو رو کامل حذف کنید دوباره نصب کنید. درایور های مورد نظر رو دوباره نصب کنید انشالله مشکلتون برطرف میشه.

  14. بادرود فراوان : جناب مهندس عزیز خیلی ممنون از راهنمایی . بسیار عالی سپاسگزارم

  15. درود جناب رحیمی : بنده تازه با کلمه آردوینو آشنا شدم وتقریبا یک ماهه که از نزدیک بردها رو دیدم وخیلی علاقه مند شدم .برد نانو تهیه کردم به اضافه ال سی دی 1602 وماژول مادون قرمز بقصد درست کردن سرعت سنج شفت الکتروموتور که خیلی بکارم میاد. ولی اصلا نمی دانم چطور باید برنامه (نرم افزار)مربوطه باید چطوری وباچه ترتیبی روی برد نانو بریزم . اگه ممکنه محبت بفرمایید و از لحظه آماده بودن برای وصل کردن به لبتاپ تازمان جدا کردن از لبتاپ توضیح بفرمایید مثلا از کدام منوهای ابیکیشن آردوینو وبچه قصدی استفاده نمایم. از محبت شما بیهایت سپاسگزارم

  16. با درود فراوان وعرض خسته نباشید . بسیار عالی بسیار عالی بسیار عالی …… واقعا دست شما درد نکنه . ممنون

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *