الحصول على تسليم مجانا على جميع الطلبات أكثر من 20 جنيه!

Arduino RPM Counter Using an Optical Sensor

Arduino RPM Counter Using an Optical Sensor

ويعد بناء منضد للآليات القائمة على النتائج (الثورات في الدقيقة) مشروعاً كلاسيكياً ومفيداً في الأردينو. هذا الدليل يمشي بك من خلال خلق المقياس الضوئي (بإستعمال (أي آر إل إي دي)، مترجم صوري لـ (آي آر) و عرض (16 x2 والنتيجة هي وجود منضدة بسيطة ودقيقة للألغام البرية مناسبة للمحركات أو المعجبين أو الدافعين.


استعراض المشاريع

ويعمل هذا المنضد الأردوني للألغام الأرضية بقطع شعاع بالأشعة تحت الحمراء مع جسم متناوب (مثل الدافع). ويكتشف الأردينو كل انقطاع، ويحصى ويحوَّل إلى قيمة ريم برية تظهر على شاشة LCD.

السمات الرئيسية:

  • قياس الآلية الوقائية الإقليمية في الوقت الحقيقي

  • الاستشعار الضوئي (غير المتصل)

  • ناتج التحلل المميت للقراءة السهلة

  • العناصر البسيطة والمنخفضة التكلفة


القائمة

ستحتاج إلى العناصر التالية:

  • 1 ×

  • 1 × 16 ×2 LCD display (HD44780 compatible)

  • 1 × 10 كيلوغرامات (مراقبة تناقضات اتفاقية مكافحة التصحر)

  • 1 × 10 مقاوم

  • 1 × IR LED

  • 1 × مترجم صور

  • أسلاك جومبر


التعليمات اللاسلكية

اتبع هذه الخطوات بعناية لتجميع الدائرة كل قسم فرعي يشرح بالضبط أين يجب أن يذهب كل سلك لتجنب الارتباك

  1. توزيع السلطة

    • تماسك Arduino 5V tank إلى لوح الخبز السكك الحديدية الإيجابية.

    • تماسك Arduino GND إلى لوح الخبز سكة حديد أرضية.

    • وتأكد من أن جميع المكونات (LCD, potentiometer, IR LED, and phototransistor) تتقاسم هذه الأرض المشتركة.

  2. LCD and Potentiometer Connections (16×2 Parallel LCD)

    • LCD Pin 1 (VSS) → Ground

    • LCD Pin 2 (VDD) → 5V

    • LCD Pin 3 (VO) دبوس وسطي 10k مقياس القوة

      • Potentiometer side tanks ) 5V and Ground (used to adjust LCD contrast)

    • LCD Pin 4 (RS) دبوس آردوينو الرقمي 7

    • LCD Pin 5 (RW) ) Ground (LCD set to write mode)

    • LCD Pin 6 (E) دبوس آردوينو الرقمي 8

    • LCD Pin 11 (D4) دبوس آردوينو الرقمي 9

    • LCD Pin 12 (D5) دبوس آردوينو الرقمي 10

    • LCD Pin 13 (D6) دبوس آردوينو الرقمي 11

    • LCD Pin 14 (D7) دبوس آردوينو الرقمي 12

    • LCD الخلفية

      • Pin 15 (A) ) 5V through a resistor

      • Pin 16 (K) ) Ground

  3. IR LED (Transmitter)

    • أنود (رصاص طويل) → Arduino دبوس رقمي 13

    • الكاثود (الزعامة) → Ground

    • لا يزال جهاز التصوير بالأشعة تحت الحمراء يعمل باستمرار لبث شعاع تحت الحمراء نحو مترجم الصور

  4. IR Phototransistor (Receiver)

    • المجمّع (مبادرة النقل) → Arduino دبوس رقمي 2

    • (الرصاص الطويل) → Ground

    • ضعوا المروحية مباشرةً أمام الـ " آي آر إل دي " لذا يقطع الشعاع بواسطة الجسم المتناوب

  5. الشيكات النهائية

    • Ensure all الاتصالات الأرضية مشتركة.

    • أرقام دبابيس مزدوجة قبل تشغيل الدائرة

    • عدّل المقياس إلى أن يُظهر النص بوضوح على الـ "ل.م.م".

Tip: دبوس رقمي 2 يستخدم لأنه يدعم انقطاع المعداتمما يسمح لـ (أردينو) بأن يحسبوا مقاطعات الشعاع بدقة ويحسبوا (RPM) بشكل موثوق


Arduino Code

قم بتحميل الرسمة التالية إلى لوحة (أردينو) الخاصة بك

/*
 * Optical Tachometer
 *
 * Uses an IR LED and IR phototransistor to implement an optical tachometer.
 * The IR LED is connected to pin 13 and runs continuously.
 * Digital pin 2 (interrupt 0) is connected to the IR detector.
 */

#include 

int ledPin = 13;                // IR LED connected to digital pin 13
volatile byte rpmcount;
unsigned int rpm;
unsigned long timeold;

// Initialize the LCD with the interface pins
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);

void rpm_fun() {
  // This interrupt runs every time the IR beam is cut
  rpmcount++;
}

void setup() {
  lcd.begin(16, 2);             // Initialize the LCD

  // Attach interrupt to digital pin 2 (interrupt 0)
  attachInterrupt(0, rpm_fun, FALLING);

  // Turn on IR LED
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, HIGH);

  rpmcount = 0;
  rpm = 0;
  timeold = 0;
}

void loop() {
  // Update RPM every second
  delay(1000);

  // Temporarily stop interrupts during calculation
  detachInterrupt(0);

  rpm = 30 * 1000 / (millis() - timeold) * rpmcount;
  timeold = millis();
  rpmcount = 0;

  // Display RPM on LCD
  lcd.clear();
  lcd.print("RPM=");
  lcd.print(rpm);

  // Re-enable interrupt
  attachInterrupt(0, rpm_fun, FALLING);
}

فهم حساب الآلية الوقائية الوطنية

This project assumes مقاطعتان للثورةمثلاً عند استخدام محرك بمروحة مزدوجة

وهذا هو السبب في أن حساب آلية الإزالة يستخدم هذه الصيغة:

rpm = 30 * 1000 / (millis() - timeold) * rpmcount;

تعديل لموقعك

  • مقاطعة واحدة لكل ثورة:
    يستعاض عن عبارة: 30 مع 60

  • المزيد من الشفرة أو العلامات:
    Divide 60 عدد حالات التوقف في التناوب الكامل وتحديث الصيغة تبعا لذلك.

هذه المرونة تسمح لك بتكييف المشروع لمختلف السيارات والأشياء الدوارة


الحواشي الختامية

  • Ensure the IR LED and phototransistor are properly aligned for reliable readings.

  • استخدم شريطاً عاكساً أو قرصاً محصوراً لقطع شعاع أكثر اتساقاً

  • This project can be extended by logging RPM data or add sequence output.


جاهزون للبناء؟

ويعد هذا المنضد الأردوني للألغام الأرضية أساساً عظيماً لمشاريع مراقبة السيارات والآليات والتشخيصات الميكانيكية. تجميع المكونات، تحميل الرمز، وبدء قياس RPM بثقة.

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.

اترك تعليقًا