آموزش راه اندازی ماژول شمارنده نوری LM393 با آردوینو

ویژگی های ماژول شمارنده نوری LM393

ماژول LM393 یک شمارنده IR است که دارای فرستنده و گیرنده IR می باشد. اگر هر گونه مانعی مابین این سنسور ها قرار بگیرد، ماژول یک سیگنال به میکرو کنترلر ارسال می کند. از این ماژول به عنوان شمارنده و سنجش سرعت موتور ها استفاده می شود.

جهت دریافت دیتاشیت شمارنده نوری LM393 اینجا کلیک کنید.

معرفی پایه ها (Pinout) ماژول شمارنده نوری LM393

ماژول LM393 دارای 3 پایه به شرح زیر است:

  • VCC: تغذیه ماژول – 5 ولت
  • GND: زمین
  • OUT: خروجی اطلاعات دیجیتال به سمت میکرو کنترلر

 پین اوت (Pinout) این ماژول را می توانید در تصویر زیر مشاهده کنید.

لوازمی که به آن احتیاج دارید

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

آردوینو UNO R3 × 1
ماژول اپتوکانتر - شمارنده نوری × 1
سیم جامپر نری به مادگی × 1

نرم افزارهای موردنیاز

آردوینو IDE

راه اندازی ماژول شمارنده نوری LM393 با آردوینو

گام اول: سیم بندی

مطابق مدار زیر، ماژول را به آردوینو وصل کنید.

گام دوم: کد

ابتدا کتابخانه زیر را  بر آردوینوی خود نصب کنید. 

https://github.com/brunocalou/Timer

توجه

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

کد زیر را روی برد آردوینوی خود آپلود کنید.
/*
  by MohammedDamirchi
  Home<iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted" style="position: absolute; clip: rect(1px, 1px, 1px, 1px);" title="&#8220;Home&#8221; &#8212; Electropeak" src="https://electropeak.com/learn/embed/#?secret=weQfShczaY" data-secret="weQfShczaY" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
*/

#include "timer.h"

Timer timer;

const int LM393 = 2;
int counter = 0;
void setup() {
  attachInterrupt(digitalPinToInterrupt(LM393), count, RISING);
  Serial.begin(115200);
  timer.setInterval(1000);
  timer.setCallback(RPM);
  timer.start();
}

void count() {
  counter++;
}

void RPM() {
  Serial.println(counter * 60);
  counter = 0;
}

void loop() {
  timer.update();
}
Arduino

پس از آپلود کد در سریال مانیتور چیزی شبیه به تصویر زیر  مشاهده می کنید.

آموزش های مشابه

Comments (4)

  • Rad Reply

    سلام رو
    میشه از همین کد ها برای محاسبه سرعت موتور dc هم استفاده کرده جوری که rpm رو تو سریال مانیتور نشون داد؟

    سپتامبر 8, 2021 at 10:10 ب.ظ
    • مهران ملکی Reply

      سلام.
      بله میشه برای اون کاربرد هم استفاده کرد. در واقع یکی از کاربردهای اصلیش همینه، کافیه که تو یه زمان مشخص تعداد دورهارو بخونید و با تقسیم اون به زمان سرعت rpm رو محاسبه کنید. آموزش زیر و کد استفاده شده در اون هم میتونه کمکتون کنه:
      “https://thecaferobot.com/learn/interfacing-photoelectric-encoder-speed-sensor-with-arduino/”

      سپتامبر 11, 2021 at 9:31 ق.ظ
  • مسعود Reply

    سلام وقت بخیر
    چند سوال داشتم
    1.همین پروژه رو میشه توسعه داد و تعدا سنسور هار و به 3 عدد رسوند و هر سنسور مستقل عمل کنه و شمارش کنه ؟
    2. اطلاعات شمارش ذخیره بشه تعداد تاریخ و ساعت
    3.به شبکه lan متصل بشه و تحت وب بشه مشاهده کد
    4.و همچنین ال سی دی داشته و اطلاعات رو نمایش بده؟
    سپاس

    نوامبر 19, 2024 at 9:02 ب.ظ
    • محمد دمیرچی Reply

      با سلام
      همه این کار ها قابل انجام است و باید کدش رو بنویسید.
      برای این موضوع که تحت شبکه اطلاعات را ارسال بکند پیشنهاد میکنم از ESP32 برای این موضوع استفاده بکنید.
      برای ذخیره کردن ساعت نیز از پروتکل RTC داخلی ESP32 استفاده نمایید، همچنین از NTC برای آپدیت کردن RTC داخلی ESP باید استفاده بکنید. یا میتوانید از ماژول های RTC برای این موضوع استفاده بکنید.
      این موضوع را درنظر داشته باشید. مسیر را به شما نشان میدهیم. پروژه و کدنویسی انجام نمیدهیم.

      نوامبر 20, 2024 at 12:57 ب.ظ

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

نشانی ایمیل شما منتشر نخواهد شد.