fbpx
حكاية ميكر
يناير 16, 2018
إزاي تعمل نرد إلكتروني؟ #٢
يناير 25, 2018

إزاي تعمل نرد إلكتروني؟ #١

 الهدف كله هو إننا نخلي لمبة واحدة من ال٦ لمض LEDs تنور بطريقة عشوائية، كإنك بترمي نرد يعني. فهنعمل إيه؟
هنختار رقم عشوائي ما بين ١ و ٦، فتتحول على الLED المقابلة ليها في توصيلات الأردوينو، بحيث إنها تحافظ على الLED منورة لفترة معينة.
  •  ٦ LEDs من أي لون (LED1 إلى LED6)
  • مقاومة 580 أوم
  • شوية أسلاك للتوصيل
  • لوحة توصيل (Breadboard) – حجم متوسط
  • لوحة أردوبنو و وصله الUSB الخاصه بيه

بما إنه هيبقى في LED واحدة بس منورة في أي وقت، فكل إللي إنت محتاج تعمله هو تحديد شدة التيار ما بين كل لمض الLEDs والسالب (GND).

ودي رسمة لشكل النرد بتاعنا المفروض يبقى متوصل إزاي:

بعد ما توصل الدايرة، روح لموقع أردوينو الرئيسي (Arduino.cc) عشان تحمل بيئة التطوير المتكاملة وتبدأ تبرمج الدايرة.

// Creating an Electronic Die
void setup()
{
randomSeed(analogRead(0)); // seed the random number generator
for ( int z = 1 ; z < 7 ; z++ ) // LEDs on pins 1-6 are output
{
pinMode(z, OUTPUT);
}
}
void randomLED(int del)
{
int r;
r = random(1, 7); // get a random number from 1 to 6
digitalWrite(r, HIGH); // output to the matching LED on digital pin 1-6
if (del > 0)
{
delay(del); // hold the LED on for the delay received
}
 else if (del == 0)
{
do // the delay entered was zero, hold the LED on forever
{}
 while (1);
}
digitalWrite(r, LOW); // turn off the LED
}
void loop()
{
int a;
// cycle the LEDs around for effect
for ( a = 0 ; a < 100 ; a++ )
{
randomLED(50);
}
// slow down
 for ( a = 1 ; a <= 10 ; a++ )
{
randomLED(a * 100);
}
// and stop at the final random number and LED
randomLED(0);
}

حمل الكود إللي فوق على لوحة الأردوينو بالشكل ده، عن طريق إنك تدوس عالزرار إللي فوق في بيئة التطوير زي ماهو موجود تحت كدا:

ألف مبروك كدا إنت حملت الكود على بوردة الأردوينو، والمفروض الناتج قدامك يبقى زي الفيديو ده:

كدا إنت خلصت المشروع D:

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

 .هذه المقاله مترجمه من كتاب لمشاريع صغيرة ولكن تمت الترجمه من الكاتب و التعديل بتصرف@

X