الإعلانات

أضواء عيد الميلاد اردوينوهذا هو الجزء التالي من سلسلة تعلم اردوينو ، وهذه المرة نحن؟ سوف تتعلم عن واستخدام المصفوفات لعمل زخرفة صغيرة لشجرة عيد الميلاد مع تسلسل وميض مختلف. سيكون هذا مشروعًا مثاليًا لإبقاء الأطفال مشغولين إذا كنت ترغب في تعليمهم اللحام الأساسي - ما عليك سوى تركيب مصابيح LED على قطعة من البطاقة ، ويمكنك الحصول على الطاقة من بطارية قياسية 9 فولت.

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

ملحوظة: هذا برنامج تعليمي على مستوى المبتدئين وقد فزنا بالتأكيد؟ لن يكون هناك أي أساس جديد - أليس كذلك؟ س؟ مجرد جهاز لتعليم مفاهيم الاستخدام المصفوفات و للحلقات للتعامل مع عدد كبير من المصابيح (أو أجهزة الإخراج الأخرى).

إذا كان لديك؟ بالفعل ، سيكون الوقت مناسبًا لمتابعة المقالات الأخرى في السلسلة:

  • ما هو اردوينو وماذا يمكنك أن تفعل به ما هو اردوينو وماذا يمكنك أن تفعل به؟إن Arduino هو جهاز إلكتروني صغير رائع ، ولكن إذا لم تستخدمه من قبل ، فما هي بالضبط بالضبط وماذا يمكنك أن تفعل به؟ قراءة المزيد ?
  • ما هي مجموعة اردوينو للمبتدئين وماذا تحتوي؟
    instagram viewer
    ماذا يوجد في Arduino Starter Kit؟ [MakeUseOf يوضح]لقد قدمت سابقًا جهاز Arduino مفتوح المصدر هنا على MakeUseOf ، ولكنك ستحتاج إلى أكثر من مجرد Arduino الفعلي لبناء شيء منه والبدء بالفعل. "مجموعات بداية" اردوينو هي ... قراءة المزيد
  • المزيد من المكونات الرائعة للشراء مع مجموعة المبتدئين الخاصة بك 8 مكونات رائعة لمشاريع Arduino الخاصة بكلذا ، أنت تفكر في الحصول على مجموعة البدء Arduino ، ولكن تتساءل عما إذا كانت بعض المصابيح الأساسية والمقاومات ستكون كافية لإبقائك مشغولًا لعطلة نهاية الأسبوع؟ على الاغلب لا. هنا 8 أخرى ... قراءة المزيد
  • هل تبدأ مع Arduino Starter Kit؟ تركيب السائقين وإعداد اللوحة والميناء الشروع في العمل مع مجموعة Arduino Starter Kit - تثبيت برامج التشغيل وإعداد اللوحة والمنفذلذا ، لقد اشتريت لنفسك مجموعة بداية اردوينو ، وربما بعض المكونات الرائعة العشوائية الأخرى - والآن ماذا؟ كيف تبدأ بالفعل في برمجة هذا الشيء اردوينو؟ كيف يمكنك إعداده... قراءة المزيد
  • Fritzing ، أداة مجانية لرسم مخططات الدوائر Fritzing - الأداة المثلى لرسم مشاريع الإلكترونيات [Cross Platform]على الرغم من أنه يبدو مثل alcopop ، فإن Fritzing هو في الواقع جزء لا يصدق من البرامج المجانية التي يمكنك استخدامها لإنشاء مخططات الدوائر والمكونات للاستخدام مع لوحات الإلكترونيات ذات النماذج السريعة مثل المصدر المفتوح الرائع اردوينو ... قراءة المزيد
  • نظرة فاحصة على هيكل تطبيق Arduino ومثال برنامج Blink الخطوات الأولى مع Arduino: نظرة فاحصة على لوحة الدوائر وهيكل البرنامجفي المرة الأخيرة ، تركت لك إعداد Arduino للعمل مع Mac أو Windows ، وبعد تحميل تطبيق اختبار بسيط أدى إلى وميض مؤشر LED الموجود على اللوحة. اليوم سأشرح الرمز ... قراءة المزيد

لهذا المشروع ، أنت؟ سوف تحتاج على الأقل 8 أو 9 المصابيح باللون الأحمر أو الأخضر ، أ المقاوم لكل منهم ، أ اللوح وبعض أسلاك التوصيل. مجموعة البدء من Ooomlout ، التي اشتريتها بنفسي مؤخرًا والتي تم تصويرها في هذا البرنامج التعليمي ، تقدم قيمة كبيرة مقابل المال ولديها المزيد من مصابيح LED والمقاومات أكثر منك؟ ستحتاج إلى أي وقت مضى ، بالإضافة إلى القدوم مع لوحة توصيل أنيقة وحالة Arduino للحفاظ على الأشياء مرتبة.

هنا؟ الشيء الأخير:

أضواء عيد الميلاد اردوينو

وفيديو لها في العمل.

هنا؟ s عرض الأسلاك من Fritzing. صحيح؟ بسيطة للغاية - فقط قم بتوصيل الرصاص الإيجابي لمصابيح LED بالدبابيس 2-> أيا كان (حتى دبوس 13) ، وربط الأرجل السالبة بالأرض مضمنة بمقاوم. القيمة أنا؟ لقد استخدمنا هنا 560 أوم. هذا؟ ليالي الأسلاك.

أضواء عيد الميلاد اردوينو

على جانب البرنامج ، فكر في كيفية الكتابة إلى كل هذه المصابيح في الكود. يمكنك أن تفعل ذلك على النحو التالي:

int led1 = 2 ؛ // الأول LED على دبوس 2. int led2 = 3 ؛ // الثانية على رقم التعريف الشخصي 3. // etc etc void loop () {digitalWrite (led1، HIGH)؛ تأخير (100) ؛ الكتابة الرقمية (led1 ، منخفضة) ؛ تأخير (100) ؛ الكتابة الرقمية (led2 ، عالية) ؛ // الخ. }

يجب أن تكون قادرًا على رؤية ذلك مع 9 مصابيح LED ، فهذا سوف يتعب بسرعة. الجواب يكمن المصفوفات، الذي إذا استطعت؟ ر تذكر لنا برمجة 101 حول أنواع البيانات الأساسية أساسيات برمجة الكمبيوتر 101 - المتغيرات وأنواع البياناتبعد أن قدمت وتحدثت قليلاً عن البرمجة الشيئية من قبل وأين تحمل الاسم نفسه يأتي من ، اعتقدت أنه حان الوقت لنذهب من خلال الأساسيات المطلقة للبرمجة بلغة غير محددة الطريق. هذه... قراءة المزيد - هي في الأساس مجرد قوائم.

تبدو الصيغة كما يلي (ضع هذا في السطر الأول في شفرتك):

المصابيح الداخلية [] = {2،3،4،5،6،7،8،9،10} ؛

تشير الأقواس المربعة إلى أن "المصابيح" المتغير سيكون مجموعة مصفوفة. تحتوي الأقواس المتعرجة على قائمة بأرقام الدبوس التي سيحتويها المصفوفة الخاصة بنا.

الآن ، لاستخدام صفيف ، نحتاج إلى معالجته برقم الفهرس. ال يبدأ المؤشر عند 0، وبالتالي سيقل دائمًا ما يصل إلى 1 أقل من العدد الإجمالي للأشياء الموجودة بداخله (لذلك مع 9 عناصر ، سيكون آخر عنصر فهرس 8).

تكتبها على هذا النحو:

المصابيح [0]

أيهما في حالتنا سيجلب الرقم 2 لأن ذلك؟ ق ماذا؟ s في فهرس 0 في مجموعتنا.

يتابع حتى الآن؟ عظيم. هذا وحده ليس؟ على الرغم من أن ذلك كافٍ بالنسبة لنا - نحتاج أيضًا إلى طريقة للتكرار على كل عنصر من عناصر مجموعة مصابيح LED الخاصة بنا لذلك ، سنستخدم لحلقة. بناء الجملة للقيام بذلك هو مثل هذا:

ل (المتغير الأولي ؛ الحالة التي نكرر بموجبها مرة أخرى ؛ التغيير إلى متغير كل تكرار)

فمثلا:

for (int i = 0؛ ط <9 ؛ ط ++)

الذي يقول

  • تبدأ هذه الحلقة بمتغير ، أناوالتي لها قيمة صفر
  • تواصل حلقات فقط بينما أنا أقل من 9(هكذا: 0،1،2،3،4،5،6،7،8)
  • كل مرة، أضف 1 إلى i (i ++ هي طريقة قصيرة لقول i = i + 1)

لذلك ، في الأساس ، سيتم تكرار الحلقة عدة مرات مثل مصابيح LED ، وفي كل مرة يتم ذلك؟ كرر سيكون لدينا متغير ، أنا، والتي يمكننا استخدامها كيفما شئنا.

نحن؟ سوف تستخدم هذا الهيكل مرتين لتبدأ. بمجرد دخولك في وظيفة الإعداد لجعل جميع دبابيسنا تتحول إلى وضع الإخراج ، مثل هذا:

إعداد فارغ () {لـ (int i = 0؛ i <9؛ i ++) {pinMode (leds [i]، OUTPUT) ؛ } }

هل تستطيع أن ترى ماذا فعلنا هناك؟ بدلاً من كتابة 9 أسطر من التعليمات البرمجية للإعلان عن كل دبوس فردي كمخرج ، نقوم بإنشاء حلقة "for" لتكرار نفسها 9 مرات ، في كل مرة يتم فيها تعيين دبوس آخر.

الآن ، يجب أن تكون قادرًا على رؤية كيف يمكننا أن نفعل نفس الشيء بالضبط في حلقة البرنامج الرئيسية لتشغيل كل مصباح LED بالتسلسل:

حلقة فارغة () {لـ (int i = 0؛ i <9؛ i ++) {digitalWrite (leds [i]، HIGH) ؛ تأخير (100) ؛ الكتابة الرقمية (المصابيح [i] ، LOW) ؛ } }

جرب ذلك. تستطيع قم بتنزيل الكود الكامل لمشروع اليوم من هنا اذا أنت؟ د تفضل عدم كتابتها مرة أخرى (على الرغم من أنني أشجعك على ذلك ، لأنها تساعد في عملية التعلم).

حسنًا ، لدينا الآن تسلسل إضاءة ممل إلى حد ما. دع؟ برنامج واحد آخر. للمرح فقط ، دعنا؟ s جعلها عشوائية تماما. استبدل رمز الحلقة الرئيسية بما يلي:

حلقة فارغة(){ int randomLed = عشوائي (0،8) ؛ الكتابة الرقمية (المصابيح [randomLed] ، عالية) ؛ تأخير (50) ؛ randomLed = عشوائي (0،8) ؛ الكتابة الرقمية (المصابيح [randomLed] ، LOW) ؛ }

بدلاً من استخدام حلقة "for" للتكرار فوق كل LED ، نختار رقمًا عشوائيًا من 0-9 بدلاً من ذلك ، ونومض ذلك.

سأتركها هناك اليوم حيث يجب أن تكون مسلحًا بالمعرفة الكافية لبرمجة جميع التسلسلات الجديدة وتجربة الحلقات. لإثبات مدى سهولة كل هذا ، تحدت زوجتي أن تفكر في تسلسل لها؟ د تود أن ترى ، ثم حصلت؟لها أن تبرمجها بنفسها، نظرا فقط رمز والدروس لك؟ لقد كان حتى الآن. لقد توصلت إلى هذا ، لذا تحقق مما إذا كان يمكنك مطابقة ذلك بالواجب المنزلي!

الأسئلة والاقتراحات والمشكلات - يرجى التواصل في التعليقات.

يحمل جيمس درجة البكالوريوس في الذكاء الاصطناعي ، وهو حاصل على شهادة CompTIA A + و Network +. وهو المطور الرئيسي لـ MakeUseOf ، ويقضي وقت فراغه في لعب كرة الطلاء VR وألعاب الطاولة. لقد كان يبني أجهزة الكمبيوتر منذ أن كان طفلاً.