اذهب إلى المحتوى

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

فكرة مشروع التحكم بعدد الليدات المضاءة وشدة إضاءتها

فكرة المشروع

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

العناصر المستخدمة للمشروع

سنستخدم مجموعة من العناصر الإلكترونية والأدوات وهي:

  • لوحة أردوينو أونو Arduino Uno
  • كابل البرمجة USB Cable
  • لوحة توصيل التجارب Breadboard
  • ليد أحمر Red LED عدد 4
  • مقاومة 220 أوم عدد 4
  • مقاومة متغيرة Potentiometer بقيمة 10 كيلو أوم عدد 2
  • مجموعة أسلاك توصيل من نوع Male to Male

ما هي المقاومة المتغيرة Potentiometer

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

  • رجل التغذية الموجب Vcc
  • رجل الخرج التشابهي Sig
  • رجل التغذية السالب Gnd

أقطاب المقاومة المتغيرة

تعمل المقاومة المتغيرة بنفس مبدأ عمل مقسّم الجهد فيمكن تخيل المقاومة المتغيرة على أنها مقاومتان متصلتان ببعضهما على التسلسل، حيث أن الرجل الأولى للمقاومة الأولى هي رجل التغذية الموجب Vcc، والرجل الثانية للمقاومة الثانية هي رجل التغذية السالب Gnd، أما النقطة المشتركة بين الرجل الثانية للمقاومة الأولى والرجل الأولى للمقاومة الثانية هي رجل الخرج التشابهي Sig كما هو موضح في الصورة الآتية:

مقسم الجهد

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

المبدل التشابهي الرقمي Analog to Digital Converter

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

تحتوي لوحة أردوينو أونو على 6 أقطاب تشابهية من A0 وحتى A5 كما شرحنا في مقال التعرف على أساسيات الأردوينو وتجهيز بيئة العمل، ويمكن استخدام هذه الأقطاب لقراءة الإشارات التشابهية ضمن المجال من 0 إلى 5 فولت وتجدر الإشارة لأن قيمة الإشارة التشابهية لا يجب أن تتجاوز هذا المجال وإلا ستؤدي إلى حدوث خلل في المتحكم، ويعد المبدل التشابهي الرقمي الموجود في لوحة الأردوينو أونو Arduino Uno بدقة 10 بت، مما يعني أنه يمكن تحويل قيمة الجهد التي تقع بين 0 و 5 فولت إلى قيمة عددية صحيحة مقابلة لها تقع بين 0 و 1023 وبالتالي تكون دقة عمليات قراءة القيم التشابهية هي 1024/ 5 أو 0.0049 فولط بكل وحدة رقمية.

توصيل المقاومة المتغيرة Potentiometer مع الأردوينو Arduino

سنوضح في هذا الجزء طريقة ربط المقاومة المتغيرة مع الأردوينو من خلال مثال بسيط يقرأ القيم التشابهية من خرج المقاومة المتغيرة من خلال القطب رقم A0 في لوحة الأردوينو أونو Arduino Uno ومن ثم عرضها على نافذة الاتصال التسلسلية Serial Monitor ونافذة Serial Plotter.

لإجراء التوصيل الخاص بهذا المثال في البداية سنصل أرجل التغذية Vcc, Gnd للمقاومة المتغيرة مع القطب 5v والقطب GND في لوحة الأردوينو، وليس هناك فرق في حال أجرينا التوصيل بشكل معاكس لأن المقاومة ليس لها قطبية فستختلف جهة التدوير فقط، ومن ثم سنصل رجل الخرج التشابهي Sig للمقاومة المتغيرة مع القطب A0 في لوحة الأردوينو أونو Arduino Uno.

توصيل المقاومة المتغيرة

لكتابة الكود البرمجي، سنفعّل واجهة الاتصال التسلسلية Serial Communication داخل الدالة الرئيسية ()setup باستدعاء التابع Serial.begin()‎ الذي يأخذ وسيطين الأول أساسي وهو سرعة نقل البيانات Baud rate بمعدل بت في الثانية وسنختار هنا القيمة 9600، والثاني اختياري وهو خاص بضبط الإعدادات config الأخرى لواجهة الاتصال ويمكن تركه فارغًا حيث يأخذ الضبط الافتراضي SERIAL_8N1 في هذه الحالة.

أما في الدالة التكرارية ()loop فسنعرف متغير صحيح من نوع int تخزن فيه قيمة قراءة المبدل التشابهي الرقمي ADC من خلال الدالة المدمجة analogRead()‎‎ التي تأخذ وسيطًا واحدًا Pin وهو رقم القطب الموصول عليه العنصر التشابهي وقيمته من A0 إلى A5 في لوحة الأردوينو أونو Arduino Uno وتعيد قيمة عددية صحيحة ضمن المجال 0 إلى 1023 وتمثل القيمة الرقمية المقابلة لقيمة الجهد الموصول على القطب المحدد Pin، ومن ثم سنطبع هذه القيمة على نافذة الاتصال التسلسلي باستدعاء الدالة ()Serial.println، وفي النهاية سنستخدم الدالة ()delay لعمل تأخير زمني حيث نمرر لها الزمن المطلوب بواحدة ميللي ثانية ms.

void setup() {
  Serial.begin(9600);
}

void loop() {
  int Val = analogRead(A0);
  Serial.println(Val);
  delay(100);
}

بعد توصيل لوحة الأردوينو مع الحاسوب ورفع الكود البرمجي، سنذهب إلى قائمة أدوات Tools ومن ثم نختار أداة Serial Plotter لإظهار القيم على شكل منحني بياني أو Serial Monitor لعرضها على شكل قيم رقمية، والآن جرب تدوير القرص الخاص بالمقاومة المتغيرة نحو اليمين أو اليسار ستلاحظ أن القراءات ستتغير ولكنها لن تتجاوز المجال 0 إلى 1023.

القراءات على شكل قيم

القراءات على شكل منحني

تقنية تعديل عرض النبضة

تعرف تقنية عرض النبضة Pulse Width Modulation أو ما بيعرف اختصارًا PWM، بأنها تقنية تستخدم للحصول على جهد بقيمة متغيرة من مصدر جهد رقمي ذي قيمة ثابتة، حيث تتولد إشارة مربعة يكون فيها عرض النبضة متغيرًا وتردد الإشارة الناتجة ثابت، وتستخدم هذه التقنية في تطبيقات عديدة أشهرها التحكم بسرعة محرك والتحكم بشدة الإضاءة.

كي تتمكن من فهم تقنية PWM جيدًا نحتاج أولًا لمعرفة مفهومين مهمين: الأول هو التردد Frequency، والثاني هو دورة العمل Duty Cycle.

التردد Frequency

هو عبارة عن عدد مرات تكرار الإشارة في الثانية الواحدة، مثلا عندما نقول أنه لدينا إشارة بتردد 5 هرتز هذا يعني أن الإشارة تتكرر 5 مرات خلال ثانية واحدة.

التردد

دورة العمل Duty Cycle

أي إشارة رقمية تتكون من فترة تشغيل HIGH وفترة إيقاف LOW، وتعرف فترة التشغيل بالنسبة للإشارة الكلية بدورة العمل Duty Cycle، وتحسب من العلاقة التالية:

Duty Cycle [%] = (Ton/(Ton+Toff)) × 100

نسبة التشغيل

ومن خلال تكرار حدوث فترة التشغيل HIGH وفترة الإيقاف LOW بتردد مناسب وبنسبة تشغيل Duty Cycle محددة سنحصل على قيمة جهد متغير تحدد قيمته من خلال دورة العمل Duty Cycle ويحسب من العلاقة الآتية:

Vout = Vmax × Duty Cycle [%]

مثال: إذا أردنا الحصول على جهد متغير بقيمة 2 فولت من مصدر جهد ثابت يعطي 5 فولت عند فترة التشغيل HIGH و 0 فولت عند فترة الإيقاف LOW، نستطيع استخدام تقنية تعديل عرض النبضة PWM بنسبة تشغيل 40% من الزمن للحصول على قيمة الجهد المطلوبة.

Vout = 5v × 40% = 2v

تحتوي لوحة أردوينو أونو Arduino Uno على 6 أقطاب يمكنها توليد إشارة PWM بدقة 8 بت، أي أنها تستطيع تقسيم دورة العمل Duty Cycle إلى 256 قيمة من 0 والتي تكافئ نسبة تشغيل 0% وحتى 255 التي تكافئ نسبة تشغيل 100%، وأرقام هذه الأقطاب هي 3، 5، 6، 9، 10، 11، ويمكن معرفة هذه الأقطاب أيضًا من خلال وجود الرمز ~ بجانب كل قطب منها.

أقطاب تعديل عرض النبضة

التحكم بشدة إضاءة ليد LED باستخدام الأردوينو Arduino

سنوضح طريقة التحكم بشدة إضاءة ليد LED مع لوحة الأردوينو أونو Arduino Uno من خلال مثال بسيط يعطي قيم مختلفة من دورة العمل Duty Cycle بدءًا من 0% التي ينطفئ الليد عندها وحتى 100% التي يضيء الليد عندها بشكل كامل.

لإجراء التوصيل الخاص بهذا المثال في البداية صل الرجل الأطول لليد التي تمثل الطرف الموجب مع القطب رقم 11 في لوحة الأردوينو أونو Arduino Uno، ومن ثم صل الرجل الثانية لليد التي تمثل الطرف السالب مع القطب السالب في لوحة الأردوينو أونو Arduino Uno .

توصيل الليد

في الدالة الرئيسية ()setup سنضبط القطب رقم 11 على أنه قطب خرج OUTPUT من خلال الدالة ()pinMode التي تأخذ وسيطين الأول رقم القطب والثاني نوع القطب خرج OUTPUT أو دخل INPUT. أما في الدالة التكرارية ()loop فسنستخدم الدالة ()analogWrite لتوليد إشارة PWM، والتي تأخذ وسيطين الأول رقم القطب Pin والثاني دورة العمل Duty Cycle وتكون ضمن المجال من 0 وحتى 255 كما ذكرنا سابقًا، مع إضافة تأخير زمني بين كل نسبة تشغيل والأخرى.

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

void loop() {
  analogWrite(11, 0);
  delay(500);
  analogWrite(11, 100);
  delay(500);
  analogWrite(11, 200);
  delay(500);
  analogWrite(11, 255);
  delay(500);
}

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

مخطط توصيل مشروع التحكم بشدة وعدد الإضاءة

مخطط توصيل المشروع السادس

لنتبع الخطوات الآتية في عملية توصيل العناصر والأسلاك مع لوحة الأردوينو Arduino وتنفيذ فكرة مشروعنا:

  • نصل أقطاب التغذية في لوحة الأردوينو أونو Arduino Uno مع لوحة توصيل التجارب BreadBoard، إذ يوصل القطب 5v في لوحة أردوينو مع المسرى الموجب للوحة التجارب، والقطب GND في اللوحة مع المسرى السالب للوحة التجارب من خلال أسلاك التوصيل
  • نصل الرجل القصيرة التي تمثل الطرف السالب لجميع الليدات مع المسرى السالب في لوحة توصيل التجارب BreadBoard
  • نصل الرجل الأطول التي تمثل الطرف الموجب لكل ليد من الليدات مع الرجل الأولى للمقاومة ذات القيمة 220 أوم الخاصة بكل ليد، والرجل الأخرى للمقاومة سنوصلها مع الأقطاب 5 و 6 و 9 و 10 على الترتيب في لوحة أردوينو أونو
  • نصل أرجل التغذية Vccو Gnd للمقاومة المتغيرة الأولى والثانية مع المسرى الموجب والسالب في لوحة توصيل التجارب، وليس هناك فرق في حال تم التوصيل بشكل معاكس فالمقاومة ليس لها قطبية
  • نصل رجل الخرج التشابهي Sig للمقاومة المتغيرة الأولى مع القطب A0 في لوحة الأردوينو أونو
  • نصل رجل الخرج التشابهي Sig للمقاومة المتغيرة الثانية مع القطب A1 في لوحة الأردوينو أونو

الكود البرمجي لمشروع التحكم بشدة وعدد الإضاءة باستخدام الأردوينو Arduino

سنعرّف في بداية الكود مجموعة من الماكرو خاصة بأرقام الأقطاب الرقمية لليدات وأرقام الأقطاب التشابهية للمقاومات المتغيرة الأولى والثانية، وقد شرحنا كيفية استخدام الماكرو في مقال تخمين عدد مرات وميض الليد باستخدام الأردوينو Arduino كما يمكنك الاطلاع أكثر على مفهوم الماكرو وأنواعه من خلال مقال الماكرو Macro والمعالج المسبق Preprocessor في لغة سي C

#define Red_Led_One 5
#define Red_Led_Two 6
#define Red_Led_Three 9
#define Red_Led_Four 10

#define Sig_One A0
#define Sig_Two A1

سنضبط هذه الأقطاب في الدالة الرئيسية ()setup من خلال الدالة()pinMode، فجميع الأقطاب الخاصة بالليدات هي أقطاب خرج OUTPUT، أما أقطاب المقاومات المتغيرة ستكون أقطاب دخل INPUT، ومن الممكن عدم ضبطها نوع أقطاب المقاومات لأن الحالة الإفتراضية لجميع الأقطاب في بيئة الأردوينو هي أقطاب دخل INPUT.

void setup() {
  pinMode(Red_Led_One, OUTPUT);
  pinMode(Red_Led_Two, OUTPUT);
  pinMode(Red_Led_Three, OUTPUT);
  pinMode(Red_Led_Four, OUTPUT);
}

وفي الدالة التكرارية ()loop سنعرف متغيرين من نوع عدد صحيح int، الأول Number_Of_LEDs خاص بتخزين قيمة إشارة المقاومة المتغيرة الأولى المسؤولة عن تحديد عدد الليدات التي ستضيء، والثاني Brightness خاص بتخزين قيمة إشارة المقاومة الثانية المسؤولة عن تحديد شدة إضاءة الليدات، وتُقرأ القيمة التشابهية للمقاومات من خلال الدالة المدمجة ()analogRead

void loop() {
  int Number_Of_LEDs = analogRead(Sig_One);
  int Brightness = analogRead(Sig_Two);

بما أن المبدل التشابهي بدقة 10 بت بالتالي سيكون مجال القيم من 0 إلى 1023 ولكن هنا لدينا فقط أربعة ليدات لذلك نريد تحويل المجال 0 إلى 1023 إلى المجال 0 إلى 4 وذلك من خلال العلاقة 1023/(Value1*4)، كذلك الأمر بالنسبة لشدة الإضاءة نريد تحويل المجال 0 إلى 1023 إلى المجال 0 إلى 255، بما أن دقة PWM الموجودة في لوحة الأردوينو أونو هي 8 بت فقط سنستخدم العلاقة (1023/(255*Value2) للتحويل إلى المجال المطلوب

  Number_Of_LEDs = (Number_Of_LEDs * 4) / 1023;
  Brightness = (Brightness * 255) / 1023;

سنستخدم بعد ذلك العبارة الشرطية ()if للتحقق من قيمة المتغير Number_Of_LEDs ووفقًا لقيمته سنحدد عدد الليدات التي ستضيء، أما لتحديد شدة إضاءة الليدات سنستخدم الدالة المدمجة ()analogWrite للتحكم بتشغيل وإطفاء الليدات بدلًا من الدالة المدمجة ()digitalWrite التي استخدمناها في المشاريع السابقة لأننا نريد أن تكون إضاءة الليدات بشدة محددة

if(Number_Of_LEDs == 0){
    analogWrite(Red_Led_One, 0);
    analogWrite(Red_Led_Two, 0);
    analogWrite(Red_Led_Three, 0);
    analogWrite(Red_Led_Four, 0);
  }

  else if(Number_Of_LEDs == 1){
    analogWrite(Red_Led_One, Brightness);
    analogWrite(Red_Led_Two, 0);
    analogWrite(Red_Led_Three, 0);
    analogWrite(Red_Led_Four, 0);
  }

  else if(Number_Of_LEDs == 2){
    analogWrite(Red_Led_One, Brightness);
    analogWrite(Red_Led_Two, Brightness);
    analogWrite(Red_Led_Three, 0);
    analogWrite(Red_Led_Four, 0);
  }

  else if(Number_Of_LEDs == 3){
    analogWrite(Red_Led_One, Brightness);
    analogWrite(Red_Led_Two, Brightness);
    analogWrite(Red_Led_Three, Brightness);
    analogWrite(Red_Led_Four, 0);
  }

  else if(Number_Of_LEDs == 4){
    analogWrite(Red_Led_One, Brightness);
    analogWrite(Red_Led_Two, Brightness);
    analogWrite(Red_Led_Three, Brightness);
    analogWrite(Red_Led_Four, Brightness);
  }
}

الكود البرمجي النهائي لمشروع التحكم بشدة وعدد الإضاءة بالأردوينو

فيما يلي الكود البرمجي النهائي لتنفيذ مشروعنا:

#define Red_Led_One 5
#define Red_Led_Two 6
#define Red_Led_Three 9
#define Red_Led_Four 10

#define Sig_One A0
#define Sig_Two A1


void setup() {
  pinMode(Red_Led_One, OUTPUT);
  pinMode(Red_Led_Two, OUTPUT);
  pinMode(Red_Led_Three, OUTPUT);
  pinMode(Red_Led_Four, OUTPUT);
}
void loop() {
  int Number_Of_LEDs = analogRead(Sig_One);
  int Brightness = analogRead(Sig_Two);

  Number_Of_LEDs = (Number_Of_LEDs * 4) / 1023;
  Brightness = (Brightness * 255) / 1023;

  if(Number_Of_LEDs == 0){
    analogWrite(Red_Led_One, 0);
    analogWrite(Red_Led_Two, 0);
    analogWrite(Red_Led_Three, 0);
    analogWrite(Red_Led_Four, 0);
  }

  else if(Number_Of_LEDs == 1){
    analogWrite(Red_Led_One, Brightness);
    analogWrite(Red_Led_Two, 0);
    analogWrite(Red_Led_Three, 0);
    analogWrite(Red_Led_Four, 0);
  }

  else if(Number_Of_LEDs == 2){
    analogWrite(Red_Led_One, Brightness);
    analogWrite(Red_Led_Two, Brightness);
    analogWrite(Red_Led_Three, 0);
    analogWrite(Red_Led_Four, 0);
  }

  else if(Number_Of_LEDs == 3){
    analogWrite(Red_Led_One, Brightness);
    analogWrite(Red_Led_Two, Brightness);
    analogWrite(Red_Led_Three, Brightness);
    analogWrite(Red_Led_Four, 0);
  }

  else if(Number_Of_LEDs == 4){
    analogWrite(Red_Led_One, Brightness);
    analogWrite(Red_Led_Two, Brightness);
    analogWrite(Red_Led_Three, Brightness);
    analogWrite(Red_Led_Four, Brightness);
  }
}

محاكاة مشروع التحكم بشدة وعدد الإضاءة باستخدام الأردوينو

سنتبع نفس الخطوات التي تعلمناها في مقال التحكم بتشغيل وإطفاء ليد LED باستخدام الأردوينو Arduino للوصول الى الصفحة الخاصة بمحاكاة المشروع على موقع وكوي Wokwi

الصفحة الخاصة بمحاكاة المشروع

نضيف العناصر الإلكترونية اللازمة للمشروع وهي المقاومة المتغيرة Potentiometer و والليدات LEDs والمقاومات Resistors ولوحة التجارب  BreadBoard.

إضافة العناصر في موقع وكوي

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

تغيير قيمة المقاومة

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

تغير لون الليد

نرتب العناصر على لوحة التجارب بالشكل الذي نراه مناسبًا، ثم نصل العناصر بعضها ببعض حسب مخطط التوصيل الذي عرضناه سابقًا.

لنكتب الكود البرمجي في الجزء الخاص به ثم نشغل المحاكاة، ونلاحظ الحالات الآتية:

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

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

  3. عند تدوير القرص الخاص بالمقاومة المتغير الثانية نحو اليمين بشكل تدريجي، ستبدأ الليدات بالإضاءة بشدة متزايدة إلى أن يصل القرص إلى النهاية عندها ستضيء الليدات بالشدة الكاملة

  4. الآن بعد إضاءة الليدات بالشدة الكاملة، ندور القرص الخاص بالمقاومة المتغيرة الأولى نحو اليسار بشكل تدريجي ونلاحظ أن عدد الليدات المضاءة سيتناقص بشكل تدريجي إلى أن يصل القرص إلى البداية عندها ستنطفئ جميع الليدات

النتيجة النهائية لمحاكاة المشروع السادس

الخاتمة

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

اقرأ أيضًا


تفاعل الأعضاء

أفضل التعليقات

لا توجد أية تعليقات بعد



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...