قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 16-03-2011, 10:27 PM المشاركة 1   
افتراضي مكتبة الصوت Sound Library – وتدريب على توليد نغمات وتوزيع ألحان ميلودى Twitter FaceBook Google+



مكتبة الصوت Sound Library – وتدريب على توليد نغمات وتوزيع ألحان ميلودى
يوفر المترجم mikroC PRO مكتبة للصوت ليمد المستخدم بالدوال أو الروتينات الضرورية لعمل إشارات صوتية فى التطبيقات .
يحتاج توليد الصوت لأجهزة hardware إضافية مثل سماعة البيزو piezo-speaker .

1- الدالة أو الروتين Sound_Init "إعداد أو تهيئة الصوت"
  • الصيغة :


مثال :


  • العائدات : لا يوجد .
  • الوصف :
أعداد أو تهيئة طرف الميكروكونترولر لتوليد صوت .
البارامترات :
snd_port : عنوان منفذ مخرج الصوت .


snd_pin : طرف مخرج الصوت .
  • المطالب : لا يوجد .
2- الدالة أو الروتين Sound_Play "تشغيل الصوت"
  • الصيغة :



مثال :


  • العائدات : لا يوجد .
  • الوصف :
توليد إشارة موجة مربعة على الطرف المطلوب .
البارامترات :
freq_in_hz : تردد الإشارة بالهرتز Hertz (Hz) .
duration_ms : فترة دوام الإشارة duration بالملى ثانية (ms) .
أقصى تردد يمكن إنتاجه :
Freq_max = Fosc/(80*3
وأدنى تردد :
Freq_min = Fosc/(80*255)
قد يختلف التردد المتولد عن التردد المحدد بالبارامتر freq_in_hz نتيجة للعمليات الحسابية لأنها محدد بالأعداد الصحيحة .

التدريب على المكتبة :

اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 16-03-2011, 10:30 PM المشاركة 2   
افتراضي


التدريب على المكتبة :
تدريب بسيط يبين طريقة استخدام مكتبة الصوت فى تشغيل نغمات فى سماعة بيزو .

الدائرة الكهربية :







البرنامج :








التعليق على البرنامج :
1- الإعلان عن دوال أو روتينات (برامج فرعية) للنغمات :
· دالة باسم Tone1 " النغمة الأولى" وفيها نستخدم الدالة Sound_Play "تشغيل صوت" بتردد 659Hz وفترة دوام 250ms. وبالمثل لباقى دوال النغمات .



void Tone1() {
Sound_Play(659, 250); // Frequency = 659Hz, duration = 250ms
}

void Tone2() {
Sound_Play(698, 250); // Frequency = 698Hz, duration = 250ms
}

void Tone3() {
Sound_Play(784, 250); // Frequency = 784Hz, duration = 250ms
}
· الإعلان عن دالة الميلودى Melody أى توزيع وتناسق النغمات حسب الرغبة .

void Melody() { // Plays the melody "Yellow house"
Tone1(); Tone2(); Tone3(); Tone3();
Tone1(); Tone2(); Tone3(); Tone3();
Tone1(); Tone2(); Tone3();
Tone1(); Tone2(); Tone3(); Tone3();
Tone1(); Tone2(); Tone3();
Tone3(); Tone3(); Tone2(); Tone2(); Tone1();
}
· الإعلان عن نغمات ToneA و ToneC وToneE:
void ToneA() {
Sound_Play( 880, 50);
}
void ToneC() {
Sound_Play(1046, 50);
}
void ToneE() {
Sound_Play(1318, 50);
}
· الإعلان عن توزيع آخر Melody2 بتكرار ToneA(); ToneC(); ToneE(); تسع مرات بدءا من i = 9; وتنتهى عند i > مع تناقص i بواحد فى كل مرة (9-8-7-6-5-4-3-2-1)
void Melody2() {
unsigned short I;
for (I = 9; I > 0; i--) {
ToneA(); ToneC(); ToneE();
}
}
2- الدالة الرئيسية :
void main() {
· إعدادات الأطراف
ANSEL = 0; // Configure AN pins as digital
ANSELH = 0;

TRISB = 0xF8; // Configure RB7..RB3 as input = 0b11111000

· أعداد الصوت للخروج من الطرف RB3
Sound_Init(&PORTC, 3);

· افتتاحية : الحالة الابتدائية : تشغيل صوت بتردد 880Hz لمدة ثانية
Sound_Play(880, 1000); // Play sound at 880Hz for 1 second

· إنشاء حلقة غير منتهية

while (1) {
· عند الضغط على المفتاح المتصل بالطرف RB7 يتم تشغيل النغمة الأولى
if (Button(&PORTB,7,1,1)) // RB7 plays Tone1
Tone1();
· انتظر حتى تحرير المفتاح أى حتى يمكنك تشغيل نغمة أخرى يجب ان يتم تحرير المفتاح الحالى
while (RB7_bit) ; // Wait for button to be released
· كرر النغمة الثانية بالمفتاح المتصل بالطرف RB6
if (Button(&PORTB,6,1,1)) // RB6 plays Tone2
Tone2();
while (RB6_bit) ; // Wait for button to be released
· كررللنغمة الثالثة بالمفتاح المتصل بالطرف RB5
if (Button(&PORTB,5,1,1)) // RB5 plays Tone3
Tone3();
while (RB5_bit) ; // Wait for button to be released
· المفتاح RB4 يقوم بتشغيل Melody2
if (Button(&PORTB,4,1,1)) // RB4 plays Melody2
Melody2();
while (RB4_bit) ; // Wait for button to be released
· المفتاح RB3 يقوم بتشغيل Melody

if (Button(&PORTB,3,1,1)) // RB3 plays Melody
Melody();
while (RB3_bit) ; // Wait for button to be released
}
}

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية king5star
king5star
:: مهندس جيد ::
تاريخ التسجيل: Jun 2008
الدولة: Alexandria, Egypt
المشاركات: 240
نشاط [ king5star ]
قوة السمعة:0
قديم 16-03-2011, 10:47 PM المشاركة 3   
افتراضي


تسلم ايدك يا بشمهندس على الشغل الجامد دا ويتسعدنى ويشرفنى اننى اكون اول واحد يد على موضوعك .

وتقبل احلى التحياتى .


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 16-03-2011, 10:56 PM المشاركة 4   
افتراضي


تسلم ايدك يا بشمهندس على الشغل الجامد دا ويتسعدنى ويشرفنى اننى اكون اول واحد يد على موضوعك .

وتقبل احلى التحياتى .
اخى الكريم

شكرا جزيلا لك

بارك الله فيك

يسعدنى مرورك الكريم

مع تمنياتى بدوام التوفيق


الصورة الرمزية king5star
king5star
:: مهندس جيد ::
تاريخ التسجيل: Jun 2008
الدولة: Alexandria, Egypt
المشاركات: 240
نشاط [ king5star ]
قوة السمعة:0
قديم 16-03-2011, 11:52 PM المشاركة 5   
افتراضي


تسلم اخى طيب لو حبيت اضيف مقطع صوتى هل ينفع لاننى ارى مواضيع كثيرة وبدون فائدة واذا نفع فكيف ؟؟


الصورة الرمزية zanyhand
zanyhand
:: مهندس متواجد ::
تاريخ التسجيل: Aug 2009
الدولة: المغرب
المشاركات: 95
نشاط [ zanyhand ]
قوة السمعة:0
قديم 16-03-2011, 11:59 PM المشاركة 6   
Question


شكرا لك
كيف تجعل ل buttan إختصارات في لوحة المفاتيح


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 17-03-2011, 12:08 AM المشاركة 7   
افتراضي


تسلم اخى طيب لو حبيت اضيف مقطع صوتى هل ينفع لاننى ارى مواضيع كثيرة وبدون فائدة واذا نفع فكيف ؟؟
اخى الكريم

شكرا جزيلا لك

المكتبة تعطى مجرد تأثيرات صوتية عن طريق ترددات داخلية .

ان كنت تقصد ملف صوت خارجى فأنا حتى الآن لا أعرف .

مع تمنياتى بدوام التوفيق


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 17-03-2011, 12:12 AM المشاركة 8   
افتراضي


شكرا لك
كيف تجعل ل buttan إختصارات في لوحة المفاتيح
اخى الكريم

شكرا جزيلا لك

القادم ان شاء الله استعراض مكتبة لوحة
المفاتيج .

مع تمنياتى بدوام التوفيق

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 09:46 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025