مشروع النرد الكهربائي باستخدام مصابيح (LED) ولوحة أردوينو اكتب تعليقُا

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

شرح فكرة المشروع

  • في هذا مشروع، سيتم استخدام المكونات الالكترونية الأساسية لصنع نرد كهربائي عشوائي.
  • سيقوم النرد بإضاءة عدد مصابيح (LED) بطريقة عشوائية.
  • يتم توصيل المصباح الأوسط بالمنفذ رقم 5 على لوحة أردوينو.
  • يتم توصيل المصباح الأيسر العلوي بالمنفذ رقم 2 على لوحة أردوينو.
  • يتم توصيل المصباح الأيمن العلوي بالمنفذ رقم 3 على لوحة أردوينو.
  • يتم توصيل المصباح الأيسر الأوسط بالمنفذ رقم 4 على لوحة أردوينو.
  • يتم توصيل المصباح الأيمن الأوسط بالمنفذ رقم 6 على لوحة أردوينو.
  • يتم توصيل المصباح الأيسر السفلي بالمنفذ رقم 7 على لوحة أردوينو.
  • يتم توصيل المصباح الأيمن السفلي بالتوصيل رقم 8 على لوحة أردوينو.

ادوات المشروع

تنويه: استخدم لوحة Bread board لتوصيل الوحدات بمنفذ 5V و GND
  • اردوينو نانو + كابل اردوينو نانو Arduino Nano: عدد 1
  • 12 × 12 × 12 ملم مفتاح بزر ضغط Tactile round push button: عدد 1
  • لوح تجارب 830 نقطة لون ابيض Solderless Breadboard: عدد 1
  • أسلاك توصيل ذكر لذكر 40 قطعة 20 سم Male to Male jumper wires
  •  ليد لون احمر Red LED: عدد 7

مخطط المشروع

الكود البرمجي

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

const int buttonPin = A0;// button pin

const int LEDpins[] = {2, 3, 4, 5, 6, 7, 8};// led pins

void setup() {

pinMode(buttonPin, INPUT_PULLUP);// declaring button pin as input

for (int i = 0; i < 7; i++) {

pinMode(LEDpins[i], OUTPUT);//declaring led pins as output

}

for (int i = 0; i < 7; i++)

{

digitalWrite(LEDpins[i], LOW);// turing off all the leds

}

}

bool firstTime = true;

void displayNumber(byte number) { // function for displaying numbers

digitalWrite(2, number > 1 ? HIGH : LOW);

digitalWrite(3, number > 3 ? HIGH : LOW);

digitalWrite(4, number == 6 ? HIGH : LOW);

digitalWrite(5, number % 2 == 1 ? HIGH : LOW);

digitalWrite(6, number == 6 ? HIGH : LOW);

digitalWrite(7, number > 3 ? HIGH : LOW);

digitalWrite(8, number > 1 ? HIGH : LOW);

}

void loop() {

while (digitalRead(A0) == HIGH) {

// do nothing

}

if (firstTime) {

randomSeed(micros());// to increase randomness

firstTime = false;

}

for (byte i = 0; i < 10; i++) {

int num = random(1, 7);//gives a random number from 1 to 6

displayNumber(num);

delay(50 + 20 * i);

}

}

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *