0077777755555 أسرع طريق لاحتراف برمجة المايكروكنترولر ©
كما يمكننا أن نجعل مدة النبضة واحد - 8 ملي ثانية ومدة النبضة صفر تساوي ؟ ملي ثانية فيكون
مجموعهم ٠١ ملي ثانية ؛ وأيضا يمكننا أن نجعل مدة النتبضة واحد - 3 ملي ثانية ومدة التبضة صفر
تساوي 4 ملي ثانية وهكذا ( المهم أن يكون الزمن الدوري يساوي ٠١ ملي ثانية) ٠
في كل الحالات السابقة سيكون التردد واحد وما يختلف هو مدة كل نبضة
إذن كان يمكننا أن نكتب الكود بالشكل التالي +
أو الشكل التالي :
أو باشكال اخرى كثيرة ؛ المهم ان يكون الزمن الدوري © ٠١ ملي ثائية والتالي سيكون التردد في كل هئ
أسرع طريق لاحتراف برمجة المايكروكنترولر
معلومات مهمة لابد منها : لعلك لاحظت في الأمثلة السابقة أن التردد الناتج هو تردد صغير نسبيًا فكيف
لوحدات أقل من الملي ثانية مثل الميكرو ثانية وللتذكير فإن الملي ثانية هو جزء من ألف جزء من الثانية ٠ أ
أما ا قانية د زا و ن جزء من الثانية ؛ أى أن ١ قازر - تت - ١ ]
لميكروثانية شهو جرزء من مليون جرء من ية أي أن الميكرو ثاني 1000000
٠ ثانية |
والسؤال هتا كيف أجعل البك يتتظر واحد ميكرو كايتة ؟؟ ببساطة قم بتحويل حرف 17 إلى نا د
هذا الأمر يجعل البك ينتظر واحد ميكرو ثانية أي أن تكرار هذا الأمر مليون مرة يجعل البك ينتظر ثانية
واحدة ( مجرد توضيح لمعرفة صغر هذه الكمية )
اناسل ١١ اسسحمايا
أظن أن الأمر في غاية الروعة » هيا بنا الآن لنتطرق لبعض الأمثلة التي من خلالها سننتج ترددات عالية ٠ 5
مثال 4 : قم بكتابة كود يجعل البك ينتج تردد مقداره 10000 هيرتز (عشرة آلاف هيرتز أي ٠١ كيلو 3
الحل : أولا سنتقوم بحساب الزمن الدوري +-
الزمن الدوري - 2 )ا < ٠٠١ ميكروكائية 1
وري 10000 > < 1
إذن يمكننا أن نجعل مدة النبضة واحد - ٠ه ميكروثانية ومدة النبضة صفر <- ٠٠ ميكرو ثانية
أسرع طريق لاحتراف برمجة المايكروكنترولر
: مثال د : قم بحساب التردد الناتج من الطرف 50 الذي ينتجه البك من خلال الكود اثتائي
ميكرو ثانية ٠١ < ٠+ الحل : الزمن الدوري - زمن التبضة واحد + زمن النبضة صفر - ه
أعتقد أن هذا القدر كافي لشرح كيفة انتاج موجة مريعة بتردد معين وكيفية حساب التردد
الآن هيا بنا لترجع لموضوعنا الأساسي وهو توليد نغمة صوتية من خلال السماعة :
أولا كيف نقوم بتوصيل السماعة للمايكروكنترولر ؟
لابد أولا من معرفة النقطتين الرئيسيتين -٠١ الجهد التي تحتاجه السماعة ؟- التيار
إذا كانت السماعة تعمل بجهد يساوي ه فولت فإننا نقوم بتوصيلها توصيل مباشر و إذا كانت السماعة
تعمل بجهد أقل من ه فولت فإننا نضع مقاومة قبل السماعة كما كنا نفعل في توصيل الليد ؛ وإذا كانت
تعمل بجهد أكبر من خمسة فولت أو أن التيار الذي تحتاجه أكبر من 1٠ ملي أمبير فإننا ستحتاج إلى
ترانزستور نستخدمه كمفتاح كما فعلنا مع ال 82261
اسخسل © بسر اس[
دار رسيب يدير اساسا
أسرع طريق لاحتراف برمجة المايكروكنتروتر
6 :: ويعضها يحتاج إلى استخدام مقاومة ( راجع ملحق الأساسيات الكهربية وال لكترونية لمعرفة التفاسيل )
والآن ستقوم بإصدار صوت عن طريق جعل الطرف الموصل به السماعة يصدر تردد معين
اكتب الكود التالي وطبق الدائرة ولاحظ ما ستسمعه :
في الكود السابق جعلنا مدة كل نبضة واحد ملي ثانية وهنا الزمن الدوري سيساوي ؟ ملي ثانية وبالتالي ب
عند حساب التردد سنجد أنه يساوي 5٠٠٠ هيرتز
كما أخبرتك سابقا فإنه عند تغيير التردد فإن الصوت الناتج سيتغير والآن لنحاول إنتاج صوت آخر 1
بكتابة الكود التالي :
أسرع طريق لاحتراف برمجة المايكروكنترولر
أما إذا كتبت الكود بشكل خاطئ لن تظهر لك الرسالة السابقة (جرب حذف أي قوس ثم قم بعملية
الترجهة ولاحظ ماذا سيظهر لك) عندها راجع ما كتبته بدقه واضغط على زر الترجمة مرة أخرى
©0206 لازنا وستشرح الأخطاء في كتابة الكود بشكل مفصل فيما بعد بإذن الله
بعد عملية الترجمة السابقة ستكون لغة البرمجة ١/1620 قد وضعت الترجمة هنه في ملف امتدادد
*© أي أننا ستجده في نفس المكان الذي سيحفظ فيه المشروع الذي حددناه مسبقا سنجد ملف له نفس
سنضع البك شي جهاز البرمجة كها بالشكل
وإذا كنت تستخدم جهاز برمجة آخر اتبع
تعليماته وضع البك بالطريقة الصحيحة
في النوع الذي نستخدمه من أجهزة البرمجة
للطريقة الصحيحة للتركيب
وطبعا توصيل جهاز البرمجة بالكمبيوتر عن طريق الكابل خطوة يجب أن لا تنسى
الخطوة التالية هي تشغيل برنامج +010817217006 01208107 إذا لم تكن تمتلكه ارجع للجزء الخاص
بالبرامج والذي ستجده في نهاية الكتاب
007777777755557 أسرع طريق لاحتراف برمجة المايكروكنترولر ©
هنا سيكون الزمن الدوري يساوي ١٠+ ١ < © ملي ثانية وبالتالي عند حساب التردد ستجد أنه يساوي 77
هيرتز تقريبا ٠ جرب ذلك وحاول تطبيق الدائرة أو محاكاتها في برنامج 5لا01016 ولاحظ تغير الصوت
(إصتقض1 الأول
(1) اتداين
لعلك تأكدت من خلال الثلاث أكواد السابقة أن كل تردد ينتج صوت معين الآن نحن نريد أن نجعل
سان سد با سن عراس برحب :يم روبسسر وبر
ففي بعض التطبيقات تحتاج لأن تصدر صوت صافرة مثلا لمدة معينة للتنبيه أو التحذير ونحود ٍ
لاستخدامنا الأمر [ ] (10/1116)1 ؛ والمطلوب منا هو أن نقوم بتكرار النبضات ولكن عدد معين من المرات
وليس باستمرار إذن لابد أن يخطر ببالنا جملة 107 فهي حل مناسب جداً لما نريد :
م حسم سمي
أسرع طريق لاحتراف برمجة المايكروكنترولر
عند محاكاة الكود السابق ستسمع صوت صافرة لمدة صغيرة ثم يتوقف الصوت
ملاحظة لقد قمنا بتكرار الموجة ألفين مرة من خلال جمهلة 07 ولهذا من الخطأ أن نستخدم متغير من
النوع 6031 لأن مداه من صفر إلى 158 فقط بل سنحتاج إلى متغير كبير نوعاً ما مثل النوع 11
لاحظ أن النبضة واحد مدتها ٠٠١ ميكرو ثانية وكذلك التبضة صفر أي أن الموجة الواحدة تستغرق ٠٠١0
ميكرو ثانية ويما أن هذه الموجة سوف تتكرر أالفين مرة من خلال جملة 07 فإن الصوت سوف نسمعه لمدة
تساوي تقريبا ٠08 ميكرو )ل ٠008 - 460 ملي ثانية أي ما يقارب النصف ثانية
قم بتغيير الرقم ٠٠١ واجعله 400 وستلاحظ أن حدة الصوت قلت فمن المعلوم أنه كلما زاد التردد كلما زادت
حدة الصوت ؛ وهكذا يقول الفيزيائيون ويقولون أن صوت المرأة أحد من صوت الطظرف(غالباً) وبالتالي فإن
صوت المرأة أعلى في التردد من صوت الطرف
إذن عند زيادة التردد فمن الطبيعي أن نلاحظ أن حدة الصوت تزداد
انتبه1 : عندما نقدل من زمن النبضة ( )5لا_/ا0613 فإن التردد يزداد فالعلاقة عكسية بين الزمن الدوري
وبين التردد لأن كل منهما يساوي مقلوب الآخر ؛ ومن هذا نستنتج أنه لإنتاج تردد عالى فإننا نجعل زمن
كل نبضة صغير ولإنتاج تردد منخفض فإننا نجعل زمن كل التبضة كبير من خلال أمر /ا8ا06
والآن هيا بنا إلى رحلة ممتعة وهي رحلة إنتاج النغمات ؛ الآن عزيزي القارئ أنت مهياً ثماماً لصنع نغمات
لإنتاج نغمة صوتية فإننا نقوم بإصدار تردد معين لمدة بسيطة ثم نقوم بإصدار تردد آخر لمدة مثل السابقة أو :
"- مدة تكرار الموجة ( يعتمد على الرقم الذي نضعه في جملة 107 )
واليك الآن هذا المثال الذي ينتج نغمة صوتية معينة والتي ستتكرر باستمرار -
أسرع طريق لاحتراف برمجة المايكروكنتروتر
أسرع طريق لاحتراف برمجة المايكروكنترولر
عزيزي القارئٌ أن تغير من هذه القيم فتنتج الكثير من النغمات الرائعة والتى بالتاكبد ستكون لفضل من النغمة العشوائية السابقة
وهته حقطة مهجة : للك ادح أن الكثير من العاب الأطفال تتتج أضواقاً مختلعة ضبيهة جدا بهته
يتم تركيب فيها دائرة الكترونية تنتج بعض نغمات التنبيه ؛ كلك في سيارات الاسعاف والشرطة وغيرها
بإضاءة ليدات معها بأشكال جذابة أو بوضع عدة سويتشات كل سويتش يقوم بوظيفة معينة و الفن هنا في
اختيار الترددات المناسبة والوقت المناسب لكل تردد علماً أن هناك طرق كثيرة أخرى لتوليد الترددات وانتاج
التغمات غير استخدام البك وذلك باستخدام دوائر متكاملة أخرى وريما نشير إليها فيما بعد
بسنا ل( |
يجدر التنبيه هنا أنه يمكتك انتاح نغمات جهيلة بطريقة أخرى جهيلة غير تغيير الأرقام تغييرًا مباشرًا
فيمكنك استخدام متغيرات أو إضافة معاد لات تقوم بتوليد النغمة ولكن ماذا يعنى هنا الكلام ؟؟
سأوضح لك الأمر نحن الآن نقوم بجعل البك يقوم بإنتاج تردد معين لمدة معينة ؛ وهذا التردد لكي نغيره
فإننا نقوم بتغيير الرقم داخل أمر الإنتظار جميل » مارأيك أن نقوم باستبدال هذا الرقم وتضع بدلا منه
متغير هذا المتغير تتغير قيمته باستمرار بأن تتزايد مثلا أو تتناقص وبالتالي سيتغير الصوت لتغير التردد
والسؤال هنا هل يمكتنا أن نكتب الأمر :(*)15_١3ا06 9 حيث أن أ متغير تم تعريفه من قبل 9؟؟ هل
يمكننا فعل ذلك وجعل ذلك داخل جملة (10011116)1 لكي يتكرر هذا الأمر باستمرار وتضع أيضاً الأمر