الدوائر الكهربائية الديناميكية
ما الذي سنفعله
لماذا سنفعل ذلك
سنتعلم استخدام Arduino والإلكترونيات
لتفعيل آليات مشروعنا.
توجيه النشاط
سنتعلم عن Arduino ومكوناته. سنرجع إلى صندوق الأدوات للمزيد.
أولاً
ثانياً
سنتعلم كيفية بناء دائرة بسيطة مع محرك DC Motor
سنتعلم كيفية بناء دائرة بسيطة مع مصباح LED
سنتعلم كيفية بناء دائرة Arduino (LED وسيرفو)
ثالثاً
مواد الدائرة
بطارية عملة معدنية
حامل بطارية 3 فولت
أسلاك
مصابيح LED
لوحة Arduino
لوحات التجارب (Breadboard)
تتيح ربط مكونات مختلفة معاً عندما تحتاج إلى مشاركة أشياء مثل الطاقة (5V وGND).
Arduino هو كمبيوتر صغير يستخدم الكود لإخباره بما يجب فعله، مثل تشغيل الأضواء وإيقافها.
مرتفع أو منخفض
0-255 (السطوع، السرعة)
مستشعر الماء
مستشعر الانحناء
مستشعر الأشعة تحت الحمراء (IR)
مستشعر درجة الحرارة
محرك سيرفو
محرك تيار مستمر (DC)
مقاوم ضوئي
مستشعر التسارع + وحدة عصا التحكم
مقاوم حساس للقوة
مستشعر الحركة
مصباح LED
NeoPixel
مستشعر الموجات فوق الصوتية
منبّه صوتي
شاشة LCD
المخرجات (المحركات)
المدخلات (المستشعرات)
مكونات Arduino
المفردات
مفاهيم يجب فهمها
- الدائرة الكهربائية: مسار مغلق لتدفق الكهرباء.
- الفولتية: ضغط كهربائي يدفع التيار.
- التيار: تدفق الكهرباء.
- المقاومة: عائق أمام التيار، يُقاس بالأوم.
- الشاشة التسلسلية (Serial Monitor): أداة في برنامج Arduino تعرض الرسائل المرسلة من اللوحة.
أساسيات الأجهزة
- الطرف الرقمي (Digital Pin): يرسل أو يقرأ إشارات تشغيل/إيقاف (مرتفع أو منخفض).
- الطرف التماثلي (Analog Pin): يقرأ مستويات فولتية متغيرة (0-1023) من المستشعرات.
- الأرضي (GND): نقطة مرجعية في الدائرة. يجب أن تتصل بها جميع المكونات.
- 5V / 3.3V: أطراف خرج الطاقة للمكونات.
- المقاوم (Resistor): يحدّ من التيار في الدائرة لحماية المكونات.
- المستشعر (Sensor): مكوّن يكتشف المدخلات المادية (الضوء، درجة الحرارة، الصوت، إلخ).
- المحرك (Actuator): جهاز ينفذ إجراءً معيناً (مثل المحركات، مصابيح LED، المنبهات).
المفردات
مصطلحات البرمجة
Sketch -- برنامج Arduino مكتوب بلغة C/C++.
Setup() -- دالة تعمل مرة واحدة عند البداية. تُستخدم لإعداد الأشياء.
Loop() -- دالة تتكرر باستمرار طالما Arduino يعمل.
DigitalWrite() -- ترسل إشارة مرتفعة أو منخفضة إلى طرف رقمي (مثل 0/1 أو تشغيل/إيقاف)
DigitalRead()-- تقرأ إشارة مرتفعة أو منخفضة من طرف رقمي.
AnalogRead() -- تقرأ قيمة (0-1023) من طرف تماثلي.
AnalogWrite() -- ترسل إشارة PWM (0-255) إلى طرف.
Delay() -- توقف البرنامج لعدد من المللي ثانية (مثلاً لإيماض ضوء)
المتغير -- يخزن بيانات مثل الأرقام أو النصوص.
الدالة -- مجموعة من الكود تؤدي مهمة محددة.
المكتبة (Library) -- حزم كود إضافية تُضاف لاستخدام المستشعرات أو الشاشات بسهولة.
رقمي: التحكم في المكونات
تماثلي: قراءة البيانات
مستشعر الماء
مستشعر الانحناء
مستشعر الأشعة تحت الحمراء (IR)
مستشعر درجة الحرارة
محرك سيرفو
محرك تيار مستمر (DC)
مقاوم ضوئي
مستشعر التسارع + وحدة عصا التحكم
مقاوم حساس للقوة
مستشعر الحركة
مصباح LED
مستشعر الموجات فوق الصوتية
منبّه صوتي
شاشة LCD
مقياس الجهد (Potentiometer)
المدخلات الرقمية
المخرجات الرقمية
الطاقة
-
+
-
++++++++++++++++
0-255
فهم لوحة التجارب (Breadboard)
-
أولاً: تثبيت البرنامج
سنرجع إلى "تبويب الموارد" في مجلد هذا النشاط ونتعلم كيفية تثبيت برنامج Arduino
بعد تثبيت البرنامج، يمكننا الآن برمجة لوحة Arduino.
هذا هو التقسيم النموذجي للكود.
ثانياً: برمجة Arduino
بناء الجملة (Syntax)
; ... تُوضع في نهاية معظم الأسطر
{ } ...تفتح/تغلق كتلاً مثل if وsetup وloop
سنضغط على Tab لإزاحة الكود داخل { }
يُظهر هذا المثال أبسط شيء يمكننا فعله مع Arduino لرؤية مخرج مادي: سيومض مصباح LED المدمج.
الأجهزة المطلوبة
- لوحة Arduino
- مصباح LED
- مقاوم 220 أوم
- حاسوب محمول
- برنامج Arduino
إيماض مصباح LED
سنبني الدائرة
سنخبر البرنامج بأننا وصّلنا لوحة Arduino
رابعاً: إعداد Arduino
بعد بناء الدائرة، سنوصّل لوحة Arduino بالكمبيوتر، ونشغّل برنامج Arduino (IDE) وندخل الكود.
خامساً: إدخال الكود
أول ما سنفعله هو إخبار الكود بأن مصباح LED متصل بالطرف 13. هذا يعني أننا بحاجة إلى استبدال كل LED_BUILTIN بـ 13
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
سادساً: تحضير الكود
إيماض مصباح LED
سنتحقق من الكود ونرفعه، ونرى كيف يبدأ مصباح LED بالإيماض.
سنغيّر وقت التأخير، يمكننا زيادة الرقم أو تقليله.
١ ثانية
فهم الكود
المشروع التالي في النشاط
سنستخدم مستشعر الموجات فوق الصوتية للتحكم في سطوع ضوء LED
- إرسال نبضة فوق صوتية
- الاستماع للصدى
- حساب المسافة بناءً على فارق الزمن
موارد النشاط
سنرجع إلى مجلد التفاعلية في صندوق الأدوات للاطلاع على الخطوات.
Description
In this activity, we will learn how to program and control various electronic components. We will use Arduino to activate and control mechanisms, incrementally building towards the project's expected behavior.
Instructions
Start by downloading and installing the Arduino software. Then, follow the tutorials and examples provided to familiarize yourself with the basics of programming with Arduino (Resources live in the "Toolbox" tab)
Deliverables
Your final product should be a functioning circuit that integrates many electronic components to meet the project's goals. Document your progress and create a set of slides to present to the studio.