تغيير حدة الصوت بمقبض
جزء من قسم المخرجات في رحلة Arduino على Coddy. الدرس 12 من 24.
يمكن لمقبض أن يجعل الطنان يعزف مثل آلة موسيقية. الفكرة هي نفسها كما في المخفِّت: اقرأ قيمة المقبض، وحوّل القراءة، ثم استخدمها.
هذه المرة، النطاق المستهدف هو التردد. 200 Hz هو طنين منخفض و2000 Hz صفير مرتفع، لذا:
int reading = analogRead(A0);
int pitch = map(reading, 0, 1023, 200, 2000);
tone(8, pitch);لا تتطلب map() أن يبدأ النطاق الجديد من 0: تتحول 0 إلى 200، و1023 إلى 2000، ويقع منتصف المقبض بالقرب من 1100.
يؤدي استدعاء tone() مرة أخرى بتردد جديد إلى تغيير النغمة فورًا، لذا تتبع درجة الصوت حركة المقبض عند تدويره. ويحافظ delay(10) قصير على عدم إعادة تشغيل النغمة آلاف المرات في الثانية بواسطة المخطط البرمجي.
التحدي
سهليوصل المقبض بالمنفذ A0 والطنّان بالمنفذ 8. اجعل المقبض يضبط درجة الصوت:
- اقرأ قيمة المقبض
- حوّل القراءة إلى تردد من 200 إلى 2000 Hz باستخدام
map() - شغّله باستخدام
tone()، ثم انتظر 10 ms
اضغط على Run وأدر المقبض، ثم اضغط على Check.
جرّب بنفسك
const int knobPin = A0;
const int buzzerPin = 8;
void setup() {
}
void loop() {
// اقرأ قيمة المقبض، وحوّلها إلى نطاق 200..2000 Hz وشغّل النغمة
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المخرجات
تدرّب بنفسك: Playground لـ Arduino