الدالة noTone()‎ في أردوينو

من موسوعة حسوب
مراجعة 12:55، 6 نوفمبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (إضافة مثال.)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

توقف الدالة noTone()‎ توليد موجةٍ مربَّعةٍ على رجل معيَّنة أُنشئَت باستعمال الدالة tone()‎. ليس لهذه الدالة أي تأثير إن استدعيت ولم يكن هنالك أي موجة يجري توليدها على الرجل آنذاك.

البنية العامة

noTone(pin)

المعاملات

pin

عددٌ صحيحٌ يشير إلى الرجل المراد إيقاف توليد الموجة (النغمة) عليها.

القيم المعادة

لا يعاد أي شيء.

أمثلة

مثال على استعمال الدالة noTone()‎ لإيقاف توليد موجبة مربعة على الرجل 3:

unsigned int freq = 1000;
void setup() {
  tone(3, freq);     // على الرجل 3 freq توليد موجبة مربعة بالتردد
  delay(3000);       // الانتظار لمدة 3 ثوان
  noTone();          // إيقاف توليد الموجة
}

void loop() {
  // وهنا وتكرار تنفيذها tone لا حاجة لوضع الدالة 
}

ملاحظات وتحذيرات

إن أردت تشغيل نغمات مختلفة على عدَّة أرجل، فأنت بحاجة إل استدعاء الدالة noTone()‎ على الرجل التي تعمل النغمة عليها آنذاك قبل استدعاء الدالة tone()‎ على الرجل التالية.

انظر أيضًا

  • الدالة pulseIn()‎: تحسب طول نبضةٍ (إمَّا HIGH أو LOW) على رجل محدَّدة.
  • الدالة pulseInLong()‎ هي دالةٌ بديلةٌ محسَّنةٌ للدالة pulseIn()‎، إذ يمكنها التعامل مع نبضات ومقاطعات طويلة متأثرة بحالات مختلفة.
  • الدالة shiftIn()‎: تزيح بايتًا من البيانات من رجل محدَّدة إلى متغيِّر مقدار بتٍّ واحدٍ في كل مرة تتغير فيها حالة النبضة على رجل أخرى إلى HIGH.
  • الدالة shiftOut()‎: تزيح بايتًا من البيانات إلى رجل محدَّدة مقدار بتٍّ واحدٍ في كل مرة تتغير فيها حالة النبضة على رجل أخرى إلى HIGH.
  • الدالة tone()‎: تولِّد موجةً مربَّعةً بتردد محدَّد (وبنسبة 50% لدورة العمل [duty cycle]) على رجل معيَّنة.

مصادر