الأردوينو و توليد النغمات
Arduino And Tones
من اكثر الأمور متعة خلال استعمالي للمتحكمات الأصغرية MCU هي توليد نغمات موسيقية Tones مختلفة و جميلة .
تعتمد هذه النغمات على تقنية PWM في الأساس "التحكم بعرض نبضة الصوت" او بشكل ابسط تشغيل مؤقت لقياس عرض هذه النبضة "و هو ما نقوم به فعلياً في الأردوينو "

سأبدأ من البداية , الحديث عن توليد نغمات على الأردوينو يقودنا لامر مهم في لغة الأردوينو .
Tone
يقوم هذا الأمر بتوليد موجة مربعة ذات مشغولية duty cycle تساوي 50% عند اي تردد مطلوب .
هذه التقنية تعطينا اصواتاً مسموعة عند ترددات ما بين "20-20كيلو هيرتز " .
الألعاب القديمة التي كانت على اجهزة التلفزيون في منتصف الثمانينيات و التسعينيات "قبل ظهور الفيفا و المزرعة السعيدة :) " كانت هذه الألعاب تصدر اصوات رائعة نذكر منها اللعبة الأشهر "ماريو " هذه اللعبة تعتمد في اصدار الأصوات على نفس المبدأ الذي سنتعامل معه اليوم .

القطع التي سنحتاجها :
سنحتاج للقطع التالية :
1) بطاقة اردوينو
2) سماعة Speaker
3)مقاومة 470 اوم .
4)اسلاك توصيل
4)اسلاك توصيل
5)BreadBoard
البرنامج بسيط و يعتمد في فكرته على تحديد مخرج رقمي "D8 في برنامجنا " و وضع نوتات موسيقية ذات ترددات مختلفة على ايقاعات مختلفة "2,4,8,16" ثم توليد هذه النوتات بطولها المحدد على المخرج , يصدر لدينا هذا الصوت على السماعة .
RTTL
هذه اللغة تحتوي 3 اقسام رئيسية :
name.
default value.
data
يكون الأسم مكوناً من 10 احرف , و تليه 3 قيم هي
d - duration
o - octave
b - beat, tempo
هذه القيم تحدد الطول و المدة و النغمة الموسيقية المراد تشغيلها .
الكود قد يكون معقداً بعض الشيء , أليس كذلك ؟
حسناً هنا نحتاج لمكتبة لتنظيم كل هذه الأسطر من البرنامج في شكل سهل و بسيط قابل للدمج مع مشاريع اخرى .
سنستعمل مكتبة RTTL يمكن تحميلها من هنا .
هذه المكتبة تتيح لنا سهولة اكبر في الأستخدام و اضافة اصوات جديدة و بشكل مرتب .
كتبت هذا الكود لتوليد أكثر من نغمة موسيقية مشهورة متنوعة .
بعد ان تفك ضغط المكتبة و تضعها في مسار المكتبات في برنامج الأردوينو , يمكنك تحميل البرنامج ادناه .
كل ما عليك هو بناء المصفوفة و وضع النوتة الموسيقية داخله فقط ان اردت اضافة صوت جديد .
و في النهاية هذا الفيديو يوضح الأصوات التي ستسمعها .
السلام عليكم هذه الكودات الصوتية كيف نصنعها مثلا اذا اردنا صوت يناسب حركة سيارة ربوت كيف نصنع هذا الصوت وعلى اي اساس يتم صنعه
ردحذفهناك برامج tone RTTL Generator على الأنترنت تقوم بذلك , تحتاج لمعرفة بالنوتات الموسيقية لعمل نوتة كما تريد
حذفالسلام عليكم اخي الكريم
ردحذفيظهر عندي خطأ عند تطبيق الكود الأخير الخاص بمكتبة Rttl وبالتحديد عند ايعاز
;Rtttl player
ارجو الرد على استفساري وشكرا
تثبيتك للمكتبة في مسار المكتبات الخاص بالأردوينو خاطئ .
حذفالسلام عليكم
ردحذفانا اذا جيت ارفع الكود تجيني مشكله
أردوينو 1.7.11 (Windows 8.1), لوحة:"Arduino Uno"
Sketch uses 3,360 bytes (10%) of program storage space. Maximum is 32,256 bytes.
Global variables use 64 bytes (3%) of dynamic memory, leaving 1,984 bytes for local variables. Maximum is 2,048 bytes.
avrdude: ser_open(): can't open device "\\.\COM1": The system cannot find the file specified.
مشكلة في الرفع الى البورد. راجع http://www.arduino.cc/en/Guide/Troubleshooting#upload كـ اقتراح .
This report would have more information with
"Show verbose output during compilation"
مفعل في ملف> تفضيلات.
اذا اريد اطلع كلمات من الاردوينو مثل (مرحبا) وغيره ،، شو اللي بيتغير فالكود ؟! واذا الشيء يعتمد ع التردد كف اقدر احصل على الترددات للكلمات ؟!
ردحذفكلام قد يكون صعب نوعا ما و تحتاج لطريقة اخرى افضل لاخراج الكلام و هي استعمال mp3 shield و تخوين الاصوات مسبقا و استدعاءها وقت الحاجه
حذفmerci ci exilant
ردحذفكيف اضيف الاصوات ببرنامج الاردوينو بحيث انه لكل اصبع حركة وكلمه تختلف عن الحركة الثانيه والكلمات الثانيه ؟
ردحذف