Arduino & IoT Academy · درس

استخدام pulseIn لقياس زمن الصدى

قِس نبضة الصدى وحوّلها إلى سنتيمترات.

الدرس 3 من 413 خطوة

استخدام pulseIn لقياس زمن الصدى درس مجاني في Arduino & IoT Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Arduino & IoT Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Arduino & IoT Academy 4 دروس في المجموع.

أطلق النبضة

لأخذ قراءة، أرسل أولًا نبضة تشغيل واضحة. يتوقع HC-SR04 إشارة HIGH قصيرة على Trig لبدء قياس جديد.

ابدأ من حالة نظيفة

اضبط Trig على LOW لبضع ميكروثوانٍ أولًا. يؤدي ذلك إلى إزالة أي حالة متبقية، فتكون نبضة التشغيل واضحة وموثوقة.

digitalWrite(trigPin, LOW);
delayMicroseconds(2);

نبضة مدتها عشر ميكروثوانٍ

شغّل Trig الآن على HIGH لمدة 10 ميكروثوانٍ، ثم أعده إلى LOW. هذا العرض المحدد هو ما يحتاج إليه المستشعر لإطلاق دفقه فوق الصوتي.

digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

تعرّف على pulseIn

تنتظر الدالة pulseIn انتقال طرف إلى HIGH، ثم تقيس مدة بقائه على HIGH، وتعيد تلك المدة بالميكروثواني.

قِس الصدى زمنيًا

استدعِ pulseIn على طرف Echo للبحث عن HIGH. والعدد الذي تعيده هو زمن الرحلة ذهابًا وإيابًا الكامل لنبضتك الصوتية.

long duration = pulseIn(echoPin, HIGH);

إنها تنتظر منك

الدالة pulseIn حاجبة؛ فهي توقف البرنامج حتى يصل الصدى أو تنتهي المهلة. وبالنسبة إلى مشاريع المسافة البسيطة، فهذا التوقف مناسب تمامًا.

حوّل الزمن إلى cm

اضرب المدة في سرعة الصوت واقسم الناتج على اثنين. وستكون النتيجة مسافة واضحة بوحدة السنتيمتر.

float cm = duration * 0.0343 / 2;

مصدر هذا الرقم

ينتقل الصوت بسرعة تقارب 0.0343 cm لكل ميكروثانية. وهذا الثابت ليس إلا سرعة الصوت معادَةً بوحدات توافق pulseIn.

اطبعها

أرسل القيمة إلى Serial Monitor كي تراقب تغير المسافة أثناء تحريك يدك نحو المستشعر.

Serial.print(cm);
Serial.println(" cm");

امنحه فترة قصيرة

أضف تأخيرًا قصيرًا بين القراءات، مدته نحو 60 ميلي ثانية. ويمنع ذلك تسرب صدى إلى القياس التالي.

delay(60);

تعامل مع انتهاء المهلة

إذا لم ينعكس أي شيء، تعيد pulseIn القيمة zero. ويتيح لك التحقق من ذلك تجاوز القراءات غير المفيدة بدلًا من طباعة مسافة زائفة.

تحقق سريع

فكّر فيما تقيسه pulseIn.

من النبضة إلى المسافة

شغّل النبضة، وقِس الزمن باستخدام pulseIn، ثم حوّل القيمة واطبعها. يمكنك الآن قراءة المدى في الشيفرة. بعد ذلك، اجعل المستشعر ينفذ شيئًا مفيدًا. ✅

البدء مجانًا

تعلم C++ مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
30
الدروس
120

الأسئلة الشائعة

هل درس «استخدام pulseIn لقياس زمن الصدى» مجاني؟

نعم — نص درس «استخدام pulseIn لقياس زمن الصدى» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Arduino & IoT Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Arduino & IoT Academy 4 دروس في المجموع.

ماذا ستتعلم في «استخدام pulseIn لقياس زمن الصدى»؟

قِس نبضة الصدى وحوّلها إلى سنتيمترات. تتمرن على Arduino & IoT Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Arduino & IoT Academy؟

لا تُشترط خبرة سابقة. Arduino & IoT Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «استخدام pulseIn لقياس زمن الصدى»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Arduino & IoT Academy هذا؟

نعم. كل درس في Arduino & IoT Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. كيف يعمل قياس المسافة بالموجات فوق الصوتية
  2. توصيل طرفَي Trigger وEcho
  3. استخدام pulseIn لقياس زمن الصدى
  4. بناء إنذار اقتراب
← العودة إلى Arduino & IoT Academy