الصنّاع العرب

دائرة اختبار شدة البطارية باستخدام الأردوينو

وصف المشروع

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

جدول المكونات

العدد النوع
1 لوحة أردوينو أونو Arduino Uno board
3 لمبات ليد ألوان مختلفة LEDs
3 مقاومة 150 أوم Resistor 150 ohm
1 مقاومة 2.2 كيلو أوم Resistor 2.2 k ohm
1 لوحة اختبار Bread board
مجموعة أسلاك توصيل connecting wires

توصيل الدائرة

شرح المكونات

  • لوحة Arduino Uno

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

يرجى تثبيت البرنامج الخاص بالأردوينو من هنا والذي سنستخدمه في كتابة الكود وعمل compiling ورفعه إلى لوحة الأردوينو عن طريق كابل USB، ولمعرفة كيفية تثبيت البيئة التطويرية المتكاملة لأردوينو (Arduino IDE) من هنا.

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

  • المقاومات Resistors

  • المقاومة هي عنصر كهربى فائدته إعاقة مرور التيار بقدر معين يتناسب مع قيمة المقاومة، فالتيار المار في مقاومة 100 أوم يكون أكبر من التيار المار في مقاومة 10 كيلو أوم عند تطبيق نفس قيمة الجهد عليهما.
    تقاس المقاومة بوحدة الأوم (ohm) ويرمز له بهذا الرمز: وشكل المقاومة فى الدوائر كالتالي:

    أو

    وللمقاومة ألوان يتم من خلال ترتيب الألوان هذه تحديد قيمة كل مقاومة، والجدول التالى يوضح القيم الخاصة بكل لون:

    والمقاومات المستخدمة في الدائرة 3 مقاومات لتقليل قيمة التيار المار في المصابيح الليد، وقيمة كل منها 150 أوم (بهذا اللون):

  • وأخرى قيمتها 2.2 كيلو أوم لتقليل قيمة التيار الداخل إلى طرف الأردوينو للحماية:

المصباح الليد LED وهي اختصار لـ (Light Emitting Diode) وهو من الداخل دايود ولكن باعث للإضاءة، ولها طرفان ولها اتجاه واحد لسريان التيار بداخلها كي تضيء والطرف الأكبر هو الطرف الموجب الذى يوصل بالجهد الموجب والآخر يوصل بالأرضي مثل الشكل التالي:

ويفضل فى الدوائر أن توصل مقاومة 150 أوم أو أعلى قليلاً 330 أوم بالتوالى مع الليد للحفاظ عليه من الإحتراق، وإذا أردت تجربة الليد لمعرفة إن كان يعمل أم لا يمكنك باستخدام بطارية صغيرة مع مراعاة اتجاه الأطراف، ليكون طرف الليد الموجب Anode (+) الأطول متصل بطرف البطارية الموجب، وطرف الليد السالب Cathode (-) متصل بالأرضى، كما هو موضح بالشكل التالي:

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

ويمكنك هنا اختيار ثلاثة ألوان مختلفة تستخدم كل لون للتعبير عن حالات البطارية إما كاملة الشحن أو متوسطة الشحن أو ضعيفة، وللمزيد حول LED اضغط هنا.

  • لوحة اختبار الدوائر Bread board

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

تحتوي معظم اللوحات هذه على صفين على الجوانب أحدهما أحمر والآخر أزرق كما بالصورة بالأسفل (A و D)، وكل النقاط فى طول هذا الصف متصلة ببعض.

باقي النقاط فى المنتصف يمين ويسار الفراغ المنتصف (B و C) مقسمة طولياً وليس أفقياً كما بالأحمر والأزرق، والصورة التالية توضح لك النقاط المتصلة ببعضها:

ويتم تركيب العناصر بإدخال الأطراف المعدنية في الفراغات، والعناصر المراد توصيلها معاً يتم إدخال الأطراف في نفس العمود (حيث كل 4 نقاط رأسية متصلة ببعض).

ملحوظة: الصفين الموجب يمين ويسار اللوحة غير متصلين ببعض، والصفين الأرضي أيضاً لذا عليك توصيلهم بهذا الشكل:

وهذه الصورة توضح كيفية تغذية اللوحة بمصدر الجهد والأرضي من الأردوينو:

يمكنك تتبع الصورة في بداية الشرح لإتمام توصيل العناصر ببعضها، وللمزيد عن كيفية استخدام لوح التجارب (Breadboard) اضغط هنا.

  • مجموعة أسلاك التوصيل Connecting wires

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

وللمزيد عن استخدام الأسلاك (wires) اضغط هنا.

الكود البرمجي وتجربة وتشغيل الدائرة:

#define newLED 6     // green LED 'new'
#define okLED 7      // yellow LED 'ok'
#define oldLED 8     // red LED 'old'
int analogValue = 0;
float voltage = 0;
int ledDelay = 2000;
void setup()
{
  pinMode(newLED, OUTPUT);
  pinMode(okLED, OUTPUT);
  pinMode(oldLED, OUTPUT);
}
void loop()
{
  analogValue = analogRead(0);
  voltage = 0.0048 * analogValue;
  if ( voltage >= 1.6 )
  {
    digitalWrite(newLED, HIGH);
    delay(ledDelay);
    digitalWrite(newLED, LOW);
  }
  else if ( voltage < 1.6 && voltage > 1.4 )
  {
    digitalWrite(okLED, HIGH);
    delay(ledDelay);
    digitalWrite(okLED, LOW);
  }
  else if ( voltage <= 1.4 )
  {
    digitalWrite(oldLED, HIGH);
    delay(ledDelay);
    digitalWrite(oldLED, LOW);
  }
}

قم بإنشاء ملف مشروع جديد بالاسم الذي تريده واكتب الكود السابق فيه واحفظه عندك على جهازك، قم بتوصيل لوحة الأردوينو بالكمبيوتر لديك وارفع الكود إلى لوحة الأردوينو (upload).

يمكنك تجربة محاكاة الدائرة من هنا، وفى هذا الرابط ستجد الدائرة مرسومة كما هو مُوضح بالأعلى، للتشغيل اضغط على زر Start Simulation لبدء المحاكاة، وكما بالرسم التالي سنجد على اليسار البطارية المراد قياسها وموصل بها مقاومة متغيرة حتى نستطيع أن نغير قيمة الجهد على الطرفين الواصلين إلي الأرديونو للحصول على قيم مختلفة من البطارية (كدليل على تغير حالة البطارية)، ويوجد على اليمين 3 لمبات ليد:

إذا كانت البطارية مكتملة الشحن فسوف يضيئ الليد الأخضر:

إذا كانت البطارية ضعيفة الشحن فسوف يضيئ الليد الأحمر:

إذا كانت البطارية متوسطة الشحن فسوف يضيئ الليد الأصفر:

جربها الآن بنفسك.

يمكنكم تحميل رسم وتصميم الدائرة ببرنامج Fritzing من هنا وملف كود الأردوينو من هنا.

ولتحميل برنامج Fritzing المجاني من خلال الموقع الخاص به اضغط هنا.

ويمكنك أيضا البحث فى موقع Fritzing وموقع المحاكاة circuits.io عن تصميمات ورسومات لدوائر مختلفة واسعة المجال وتطبيقات متنوعة ورائعة (جربها الآن).

أتمنى أن يكون الدرس مفيداً لكم.

محمد عبد الحميد

1 تعليق

اترك رد

تابعنا