وميض LED باستخدام Arduino - تعليمي كامل

وميض LED باستخدام Arduino - تعليمي كامل

يناقش المنشور بشكل شامل دليل تنفيذ كود Arduino الأساسي من أجل وميض مؤشر LED الموجود على اللوحة. تم إنشاء البيانات واختبارها وكتابتها بواسطة Jack Franko.



الشفرة: بالنسبة لمصابيح LED المدمجة في الدبوس 13 من لوحة ARDUINO بشكل افتراضي ، فهي مبرمجة بحيث تومض بشكل متكرر عند 50 ميلي ثانية كما هو موضح في الوصف ، سيتم ذكرها كـ asms (مللي ثانية).





/ * أول بسيط
برنامج Arudino بواسطة JACKFRANKO * /

int l = 13
//where l is pin 13void setup(){ pinMode
(l,OUTPUT) }void loop() { digitalWrite
(l,HIGH) delay(50) digitalWrite
(l,LOW) delay(50)}



ملاحظة: نظرًا لأننا ندرس برمجة لوحة Arduino UNO R3 إذا لم تكن مبرمجًا أو مصممًا أو هاوٍ ، كطالب ، يجب أن تبدأ من الأساسيات.

أول شيء هو فهم Arduino Uno R3 من خلال الحصول على مجموعة متوفرة في المتاجر عبر الإنترنت.

وصف :

كما هو معتاد ، فإن الحصول على اسمنا قبل بدء البرنامج هو فكرة جيدة ، وهنا أول برنامج أساسي مذكور أعلاه بدأ بهذه العلامة / * ونص الاسم وكل الأشياء التي تريد الكتابة بينها * / هو الذي لا يؤثر على البرنامج وهو ليس جزءًا من البرنامج لأن مترجم برنامج Arduino يعرف أن الأشياء بين العلامة '/ * ، * /' يجب تخطيها ، إنها مجرد عنوان للبرنامج.

/ * أول بسيط

برنامج Arudino BY JACKFRANKO * / Next Line int l = 13

// حيث l هو رقم التعريف الشخصي 13

إنه جزء إعلاني من البرنامج حيث سنعلن عن العدد الصحيح بالأمر 'int' متبوعًا بأبجدية صغيرة L تساوي 13 وتنتهي بفاصلة منقوطة ثم بعد الشرطة المائلة المزدوجة '//' وبعض النص.

هنا أعطينا الأمر 'int' الذي نقول عادةً عددًا صحيحًا وصغير L يساوي 13 وانتهينا بفاصلة منقوطة هنا قلنا للمترجم أن القيمة 'l' تساوي 13 والتي تقع في pin no. ثلاثة عشر على لوحة اردوينو ، هنا 'l' هي مجرد قيمة مخصصة للرقم 13 ، وأن 'l' ليست أي وظيفة أو نص برمجي للمترجم ، علينا أن نجعل الكود سهلًا قليلاً بحيث يكون 'l' في هذا المشروع هو اختصار لـ LED.

أريد أن أجعل الكود أصغر قليلاً وأن يوفر بعض المساحة. في هذه المرحلة ، إذا كنت لا تريد الاحتفاظ بها كـ 'l' ، فقل إنك تريد الاحتفاظ بها من أجل أي 'أنا' ثم في الكود بأكمله حيث يوجد 'l' ، يجب عليك تغييره 'أنا' وإلا لن يعمل المترجم وسيعطيك خطأ.

تتكون هذه العبارة من الجزء الثاني الذي يتبعه '//' وبعض النصوص هنا نحتاج إلى فهم أنه مهما كانت العبارات التي يتبعها '//' عند الافتتاح ولم يكن لها أي إغلاق ، فلن يقرأ المترجم هذه العبارة. يمكن أن يكون في عدة أسطر دون إغلاق. هذا من أجل إعطاء بعض المراجع والملاحظات في التعليمات البرمجية لفهمها.

قبل فهم الجزء المتبقي من الكود ، يجب أن نفهم الوظائف الأساسية للكود وهي 'إعداد باطل' و 'حلقة باطلة' هنا هاتان الوظيفتان مهمتان للغاية لأننا سنعلن عن المدخلات والمخرجات ونوع العمل به فيه. لذلك دعونا نبدأ بإعداد باطل ، هذا جزء من الكود حيث سنقوم بتحديد المدخلات والمخرجات الخاصة بنا والتي يجب تشغيلها مرة واحدة لمشروعنا. هنا سنتحدث عن ناتج واحد فقط حسب كودنا.

حلقة الفراغ الخاصة بالوظيفة الأخرى هي الجزء الثاني من الكود الذي سيتم تشغيله في شكل حلقة. هنا تتكون هاتان الوظيفتان من قوس منحني مفتوحًا ومغلقًا ثم بعد فتح قوس مجعد يحمل بعض الكود ويغلق القوس المتعرج. سأقدم معلومات حول هذه الفئة في البرنامج التالي. هنا يجب أن نركز على الأقواس المتعرجة حيث لدينا بعض التعليمات البرمجية الموضوعة بين هذه الأقواس.

void setup(){ pinMode
(l,OUTPUT) }

لقد ذكرنا هنا الوظيفة التي يجب تشغيلها مرة واحدة لمشروعنا وذلك كإخراج. إذا كنت قد لاحظت أننا كتبنا الكود الخاص بنا بين قوسين معقوفين حيث أعلنا أن pinMode l ناتج بين قوسين منحنيين وانتهى بفاصلة منقوطة ،

هنا pinMode هي وظيفة مخصصة لعدد صحيح l كـ OUTPUT.

ومن ثم ، تم تعيين l على الرقم 13 في برنامج التحويل البرمجي اردوينو سوف يفهم أن الدبوس رقم 13 يسمى l و l هو رقم التعريف الشخصي 13 إذا وضعنا 13 في مكان l بعد وظيفة PinMode
كإخراج ، سيتم النظر في كل من 13 و l.

إذا حذفنا int l = 13 فلن يأخذ في الاعتبار الأبجدية l وسيعطيك خطأ. هنا وضعنا دبوس
رقم 13 وهو الأبجدية l كمخرج ، يتم كتابته دائمًا بحرف كبير مثل OUTPUT ويتم كتابة pinmode للوظيفة في pinMode يبدأ بحرف صغير بدون مسافة ، ووضع كلمة أخرى يبدأ بحرف كبير يفهمه المترجم وهو حساس لحالة الأحرف.

بعد ذلك نأتي إلى وضع حلقة برنامجنا هنا نذكر كل تلك الوظيفة التي يجب أن تعمل في حلقة
لفترة طويلة غير محدودة.

void loop() { digitalWrite
(l,HIGH) delay(50) digitalWrite
(l,LOW) delay(50)}

هنا أعلنا عددًا صحيحًا من l إلى HIGH باستخدام الوظيفة digitalWrite. هذه العبارة digitalWrite ستجعل عددًا صحيحًا l يعني HIGH متى تشغيل سوف يتحول تشغيل الدبوس رقم 13 على لوحة Arduino كما ذكرنا أن الدبوس رقم 13 هو l مفصول بفاصلة بين قوسين المنحنى.
هنا بعد أن قلنا أن التأخير (50) سيحسب هذا البيان الوقت بالمللي ثانية حيث 1000 مللي ثانية تساوي 1 ثانية. في هذا البرنامج ، أريد أن يضيء مصباحي 20 مرة في ثانية واحدة في الحساب الرياضي
أعطاني القيمة 50 التي تم وضعها بين قوسين.

هذا يعني أن السطر الأول أسفل قسم الحلقة سيشغل مؤشر LED الموجود في الرقم 13 وانتظر 5 مللي ثانية. إذا لم نعط وظيفة أخرى للحلقة لإيقاف تشغيل مؤشر LED ، فسيظل قيد التشغيل.

على الرغم من أننا قلنا هذا التأخير لمدة 50 مللي ثانية. لذلك أصدرنا أمرًا بإيقاف تشغيل LED
في الكتابة الرقمية (l ، منخفضة) ، بعد ذكر هذا البيان لن ينطفئ مؤشر LED لأن الحلقة غير مكتملة بدونها تأخير (50) أولاً ، نقوم بتشغيل مؤشر LED ثم ننتظر لمدة 50 مللي ثانية ثم نطفئ المصباح ثم ننتظر 50 مللي ثانية لإكمال الحلقة الواحدة التي ستلعب لمدة لا نهائية طالما أن Arduino يعمل. سيتم تشغيل وإيقاف تشغيل مصباح LED الخاص بك عند رقم التعريف الشخصي
13 لمدة 20 مرة في الثانية.




السابق: SPDT Solid State DC Relay Circuit باستخدام MOSFET التالي: حاضنة عكس دائرة تحكم المحرك إلى الأمام