الأهداف

عن طريق إخراج إشارة نبض سريعة نقوم بتغيير الزمن المتاح لإنارة لد ما يظهر التغير التدريجي لتوهجها.

ما يلزمنا

  • لوحة أردوينو
  • لوحة تجارب
  • مقاومة 220 Ω (أحمر، أحمر، أحمر)
  • صمام لد أحمر
  • أسلاك توصيل.

 

قم بإعادة إنجاز التركيب التالي

led-pin10_opt

إفتح واجهة التطوير و حرر نص البرنامج التالي:

 

int led_pin = 10;
int i = 0 ; 

void setup() {
    pinMode(led_pin, OUTPUT);
}

void loop(){
  for (i = 0; i < 255; i++) { 
      analogWrite(led_pin, i); 
      delay(10);
   }

  for (i = 255; i > 0; i--) { 
      analogWrite(led_pin, i); 
      delay(10);
   }
}

قم بفحص نص البرنامج ثم إرفعه إلى اللوحة.

تلاحظ أن اللد تكون منطفئة ثم يزداد توهجها بالتدريج إلى منتهاه ثم يبدء التوهج بالتناقص إلى أن تنطفئ و هكذا.

في هذا البرنامج إستخدمنا حلقتين «for». تستعمل الأولى المتغير الصحيح «i» الذي عرفناه في الأول كعداد من 0 إلى 254.

لاحظ أنه كان بإمكاننا تعريف المتغير «i» داخل الحلقة.

تأخذ التعليمة «analogWrite» معاملين. الأول يمثل رقم المنفذ : في حالتنا إستخدمنا المنفذ 10، و المعامل الثاني يمثل دور الخدمة (بين 0 و 255).

الحلقة تعد عكسياً من 255 إلى 0 و ذلك بواسطة التعليمة «- -i».

for (i = 255; i > 0; i- – )

قم بتجريب البرنامج ثم إجعل أمام التعليمة شرطتين مائلتين أي حتى لا ينفذها المصرف و لاحظ أثر ذلك.

delay(10);

// delay(10);

ماتعلمناه

  • تقنية تعديل طول النبضة.
  • دور الخدمة
  • المنافذ التي تخرج إشارات بتعديل طول النبضة هي: 3، 5، 6، 9، 10 و 11
  • العد العكسي في الحلقة «for».