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

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

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 29-07-2013, 11:03 PM المشاركة 1   
افتراضي توليد الأصوات مع لغة Basic والمترجم Proton ومشروع سارينة بوليس : Twitter FaceBook Google+



توليد الأصوات مع لغة Basic والمترجم Proton ومشروع سارينة بوليس :
الدالة FREQOUT :
الصيغة العامة :

كود:
Freqout Pin, Period, Freq1 {, Freq2}

الغرض :
توليد 2 نغمة "موجة جيبية" بترددين مختلفين أو بنفس التردد ، لفترة زمنية محددة .
العوامل :
Pin : هو طرف المنفذ والذى يحدد طرف الخرج المستخدم .
Period : قد يكون متغير أو ثابت أو تعبيير فى المدى (0 - 65535) والذى يحدد مقدار زمن توليد النغمة ( أو النغمات) .
Freq1 : قد يكون متغير أو ثابت أو تعبيير فى المدى (0 - 32767) والذى يحدد تردد النغمة الأولى .
Freq2 : قد يكون متغير أو ثابت أو تعبيير فى المدى (0 - 32767) والذى يحدد تردد النغمة الثانية .
عند تحديد هذا التردد ، يتم "مزج" الترددين معا ووالخروج من نفس طرف الخرج .

مثال : توليد نغمة بتردد 2500Hz لمدة ثانية واحدة على الطرف PORTA.0 :

كود:
' Generate a 2500Hz (2.5KHz) tone for 1 second (1000 ms) on bit 0 of PortA. Freqout PORTA.0, 1000, 2500
وتشغيل 2 نغمة بتردد 2.5KHz وبتردد 3KHz لمدة ثانية واحدة :

كود:
' Play two tones at once for 1000ms. One at 2.5KHz, the other at 3KHz. Freqout PORTA.0, 1000, 2500, 30000

ملاحظة :
الدالة Freqout تولد موجات جيبية باستخدام مبدأ تعديل عرض النبضة PWM . هذه الدالة سوف تعمل مع الكريستال 4MHz ، ومع ذلك ، يكون من الأفضل استخدامها مع كريستالات بترددات أعلى ، وتعمل بشكل أفضل عند 20MHz . الخرج الخام كنتيجة لهذه الدالة يتطلب الترشيح ، للتخلص من معظم ضوضاء التحويل.
الشكل أدناه يبين دائرة ترشيح الإشارة لتشغيل نغمات من خلال سماعة أو مكبر صوت .


تدريب تمهيدى :
فى هذا التريب سوف يتم توليد صوت من خلال سماعة صغيرة أو بزر .



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



البرنامج :
كود:
FREQOUT portb.0, 2000, 7200 ; Generate afrequencyof 7.2Khz ; for 2 secondson PORTB.0 END

مشروع سارينة البوليس :

اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 29-07-2013, 11:06 PM المشاركة 2   
افتراضي


مشروع سارينة البوليس :
فى هذا المشروع سوف نستخدم الدالة SOUND .
الدالة SOUND :
الصيغة العامة :

كود:
Sound Pin, [ Note,Duration {,Note,Duration...} ]

الغرض :
توليد نعمة و / أو ضوضاء على طرف Pin محدد ، هذا الطرف يتم تلقائيا تحديده كخرج .
العوامل :
Pin : هو ثابت لطرف بالمنفذ والذى يحدد طرف الخرج .
Note : يمكن أن يكون متغير أو ثابت بحجم 8 بت . الصفر يعنى الصمت silence . قيم Note بين 1-27 تكون نغمات tones والقيم بين 128-255 تكون ضوضاء noise . القيمة "1" تساوى تقريبا 78.74Hz والقيمة "127" تساوى تقريبا 10,000Hz .
Duration : يمكن أن يكون متغير أو ثابت بحجم 8 بت وهو يحدد طول فترة تشغيل Note بفترات متزايدة بالقيمة 10ms .
مثال :

كود:
SOUND portB.0,[100,10,50,10]

هذه العبارة تعنى توليد 2 نغمة على الطرف PORTB.0 ، النغمة الأولى بالقيمة "100" والتى تساوى
7874 Hz لفترة زمنية قدرها 10 ملى ثانية ، والنغمة الثانية بالقيمة "50" والتى تساوى 3937 Hz لفترة زمنية 10 ملى ثانية أيضا .

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




البرنامج :

كود:
Device = 16F628A Xtal = 4 ' Define the oscillator For a 4MHz crystal. All_Digital = true start: Sound PORTB.0, [100,10,50,10] ; generate tones on PORTB.0 GoTo start End

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

عبدالله نعمان
:: مهندس متواجد ::
تاريخ التسجيل: May 2006
المشاركات: 176
نشاط [ عبدالله نعمان ]
قوة السمعة:0
قديم 10-12-2013, 07:45 AM المشاركة 3   
افتراضي


ممتاز جداااااااااا..........

إضافة رد

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

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

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


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

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