تخطَّ إلى المحتوى

معمل الإلكترونيات والميكاترونكس

دواير حقيقية بتتحل رياضيًا جوّه متصفحك: مصادر ومقاومات وLEDs ودايودات وملتيميتر. القطع بتسخن وبتتحرق لو غلطت، والفيوز بيضرب — بالظبط زي الواقع، من غير ما تخسر حاجة.

أساسيات الكهرباء

درس 1.1

قانون أوم: قيس الجهد والتيار

مصدر 9 فولت ومقاومة 1 كيلو أوم. قيس الجهد على المقاومة، وبعدين التيار اللي ماشي فيها، وشوف إزاي التيار بيتغير لما المقاومة تتغير: I = V / R.

10 دقيقة4 مهام
درس 1.2

نوّر LED من غير ما تحرقه

LED أحمر محتاج تيار بين 5 و20 مللي أمبير. من غير مقاومة مناسبة التيار هيعدّي الحد والـ LED هيتحرق. احسب المقاومة واختارها.

10 دقيقة4 مهام
درس 1.3

قيس من غير ما تضرب الفيوز

الملتيميتر بيقيس صح بس لو استخدمته صح. الفولت بالتوازي، والأمبير على التوالي — لو حطيت الأميتر على البطارية مباشرة الفيوز اللي جواه هيضرب.

10 دقيقة3 مهام
درس 1.4

التوالي: نفس التيار، والجهد بيتقسم

تلات مقاومات على التوالي مع مصدر 12 فولت. التيار واحد في كلهم، والجهد بيتوزع عليهم حسب قيمة كل واحدة.

12 دقيقة4 مهام
درس 1.5

التوازي: نفس الجهد، والتيار بيتجمع

مقاومتين على التوازي مع مصدر 6 فولت، وتالتة مستنياك على اللوحة. كل فرع بياخد تيار لوحده، والمصدر بيدي مجموعهم.

12 دقيقة4 مهام
درس 1.6

صمّم مقسّم جهد لحساس 3.3 فولت

حساس شغال على 3.3 فولت، والمصدر 5 فولت. اختار R1 وR2 بحيث الخرج يبقى 3.3 فولت تقريبًا، ومن غير ما تهدر تيار كتير.

12 دقيقة4 مهام
درس 1.7

قانون كيرشوف للجهد (KVL)

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

12 دقيقة4 مهام
درس 1.8

قانون كيرشوف للتيار (KCL)

التيار الداخل لأي نقطة = التيار الخارج منها. R1 بتغذّي فرعين R2 وR3 — قيس تيار كل فرع والتيار الكلي.

15 دقيقة4 مهام
درس 1.9

المقاومة الداخلية للبطارية

البطارية مش مصدر مثالي: جواها مقاومة صغيرة، فجهدها بيقل لما تسحب منها تيار. اكتشف ده بالقياس.

12 دقيقة4 مهام
درس 1.10

الفيوز: الحماية من القصر

لمبة 47 أوم على 12 فولت بتسحب حوالي ربع أمبير. اختار فيوز يستحمل التشغيل العادي، ويضرب لو حصل قصر (short).

15 دقيقة4 مهام
درس 1.11

البوتنشوميتر: مقسّم جهد بتلفّه بإيدك

البوتنشوميتر مقاومة بطرف تالت بيتحرك عليها. بين الطرفين 5 فولت، والطرف الأوسط بيدي أي جهد من 0 لـ 5 حسب مكانه.

8 دقيقة3 مهام
درس 1.12

ثيفينن وأقصى نقل للقدرة

أي دايرة خطية من ناحية طرفين = مصدر جهد Vth ومعاه مقاومة Rth. قيس Vth، احسب Rth، واختار الحمل اللي ياخد أكبر قدرة.

15 دقيقة4 مهام
درس 1.13

اختبار الاستمرارية والمفاتيح

وضع الاستمرارية (Continuity) بيصفّر لما يكون فيه توصيل شبه كامل بين الطرفين. استخدمه تتأكد إن المفتاح شغال — والدايرة مطفية.

8 دقيقة3 مهام

الإلكترونيات التناظرية

درس 3.1

الدايود: اتجاه واحد بس

الدايود بيعدّي التيار من الأنود (A) للكاثود (K) بس. في الدايرة دي حد ركّبه بالعكس، فالـ LED طافي. قيس، افهم، وصلّح.

10 دقيقة4 مهام
درس 3.2

منظّم جهد بالزينر

دايود زينر 5.1 فولت بيثبّت الجهد على الحمل حتى لو جهد الدخل اتغير. اختار مقاومة التغذية R1 بحيث الحمل ياخد جهده، والزينر ما يسخنش.

15 دقيقة4 مهام
درس 3.3

الـ Op-amp: مكبّر عاكس

المكبّر العاكس كسبه = −Rf / Rin: الإشارة بتكبر وبتتقلب. التغذية ±9 فولت (مصدرين ونقطة أرضي في النص)، والدخل من مولّد الإشارات على Rin. اختار Rf بحيث الكسب يبقى 10.

20 دقيقة3 مهام
درس 3.4

Comparator: لمبة بتنوّر لوحدها بالليل

من غير مقاومة رجوع، الـ Op-amp بيقارن: لو IN+ أعلى من IN− الخرج بيروح لأقصى قيمة، ولو أقل بيروح للصفر. هنا IN+ جاي من مقسّم فيه حساس ضوء، وIN− من بوتنشوميتر (مستوى المقارنة).

15 دقيقة3 مهام
درس 3.5

الـ 555: LED بيرمش من غير متحكم

في وضع Astable المكثف بيتشحن من R1 وR2 لحد 2/3 الجهد، وبيتفرّغ من R2 لحد 1/3، والخرج بيقلب كل مرة. التردد ≈ 1.44 / ((R1 + 2·R2) · C). اختار C1 بحيث الـ LED يرمش مرة كل ثانية تقريبًا.

20 دقيقة3 مهام

الإلكترونيات الرقمية

درس 4.1

البوابة المنطقية AND وجدول الحقيقة

مفتاحين A وB بيدّوا 1 (5 فولت) أو 0. البوابة AND خرجها 1 بس لو الاتنين 1. جرّب الأربع حالات واتفرج على الـ LED — ده جدول الحقيقة.

10 دقيقة5 مهام
درس 4.2

نصف جامع (Half Adder)

جمع رقمين من بت واحد: المجموع (Sum) = A XOR B، والمحمول (Carry) = A AND B. البوابتين على اللوحة — وصّل الدخلين لكل بوابة.

15 دقيقة4 مهام
درس 4.3

ذاكرة بت واحد: SR Latch من بوابتين NAND

بوابتين NAND كل واحدة خرجها راجع على دخل التانية بتعمل ذاكرة: زرار Set بيخلي Q = 1 وبيفضل كده بعد ما تسيبه، وزرار Reset بيرجّعه 0. الزرارين «Active low»: الضغط بيدّي 0.

15 دقيقة3 مهام
درس 4.4

D Flip-Flop: قسمة التردد على 2 وعلى 4

الـ D Flip-Flop بيحفظ قيمة D لحظة ما الساعة (CLK) تطلع من 0 لـ 1. لو وصّلت Q̅ على D، كل نبضة ساعة بتقلب Q — فـ Q بيطلع نص تردد الساعة. الساعة هنا مولّد إشارات مربعة 100 هرتز.

20 دقيقة2 مهام
درس 4.5

عدّاد ثنائي 4 بت (Ripple counter)

أربع D Flip-Flops، كل واحدة Q̅ بتاعها راجع على D فبتقلب مع كل نبضة. لو ساعة كل واحدة هي Q̅ اللي قبلها، الأربعة بيعدّوا بالثنائي من 0 لـ 15. الساعة زرار BT، وزرار BR بيصفّر الكل (Reset)، والـ LEDs بتعرض الرقم (D1 أصغر خانة).

20 دقيقة6 مهام
درس 4.6

DAC بسلّم مقاومات R-2R

4 أطراف رقمية + سلّم مقاومات (10 كيلو و20 كيلو) = محوّل رقمي لتناظري: الخرج = 5 × N / 16 فولت. الأطراف 4 لـ 7 هي النص العالي من PORTD، فـ PORTD = N << 4 بتكتبهم مرة واحدة.

25 دقيقة4 مهام

المتحكمات الدقيقة

درس 6.1

أول LED بيرمش: مقاومة صح + كود صح

بوردة متوافقة مع Arduino Uno، وLED على الطرف 13. اختار مقاومة تحمي الـ LED والطرف، واكتب كود يخلّيه يرمش مرة كل ثانية، واضغط «ارفع الكود».

15 دقيقة3 مهام
درس 6.2

وصّل LED بنفسك على الطرف 8

المرة دي القطع على اللوحة من غير أسلاك. وصّل الطرف 8 ← المقاومة ← الـ LED ← GND، واكتب كود يخلّيه يرمش مرتين في الثانية.

15 دقيقة3 مهام
درس 6.3

Serial: البوردة بتتكلم

Serial هي الطريقة اللي البوردة بتكلّمك بيها: كل اللي بتطبعه بيظهر في Serial Monitor تحت اللوحة. اطبع اسم، وعدّ، واحسب.

10 دقيقة3 مهام
درس 6.4

زرار بيشغّل LED

الزرار متوصّل بين الطرف 2 والأرضي. استخدم المقاومة الداخلية (INPUT_PULLUP): الطرف بيقرا HIGH والزرار سايب، وLOW وهو مضغوط. خلّي LED الطرف 13 ينوّر طول ما الزرار مضغوط.

15 دقيقة3 مهام
درس 6.5

عدّاد ضغطات: مشكلة الارتداد (Bounce)

الزرار الحقيقي لما بيتضغط معدنه بيخبط ويرتد كذا مرة في أول كام مللي ثانية — والبوردة سريعة كفاية تشوف كل خبطة كأنها ضغطة. اعمل عدّاد يطبع عدد الضغطات الصح.

20 دقيقة1 مهام
درس 6.6

PWM: تحكم في الإضاءة

البوردة مش بتطلع جهد بين 0 و5 — بتطلع نبضات سريعة (490 مرة في الثانية) والـ LED بيبان أخفت أو أقوى حسب نسبة الوقت اللي النبضة فيها HIGH (Duty cycle). analogWrite(pin, 0..255) بيحدد النسبة.

15 دقيقة3 مهام
درس 6.7

اقرا البوتنشوميتر بـ analogRead

الـ ADC بيحوّل الجهد من 0 لـ 5 فولت لرقم من 0 لـ 1023. البوتنشوميتر متوصّل كمقسّم جهد على A0. اطبع القراءة، وبعدين حوّلها لفولت.

15 دقيقة2 مهام
درس 6.8

لمبة ليلية بحساس ضوء

حساس الضوء (LDR) مقاومته بتقل كل ما النور يزيد. مع مقاومة 10 كيلو بيعمل مقسّم جهد على A0: في الضلمة الجهد عالي، وفي النور واطي. خلّي LED الطرف 13 ينوّر لوحده لما الدنيا تضلّم.

15 دقيقة3 مهام
درس 6.9

إشارة مرور

تلات LEDs: أخضر على 8، أصفر على 9، أحمر على 10. الترتيب: أخضر ثانيتين، أصفر نص ثانية، أحمر ثانيتين، وتتكرر — ومينفعش لونين ينوّروا مع بعض.

20 دقيقة4 مهام
درس 6.10

Interrupt: ما تفوّتش ولا ضغطة

attachInterrupt بيخلّي البوردة تسيب اللي في إيدها وتنفّذ دالة أول ما الطرف 2 يتغير — حتى لو الـ loop مشغول بـ delay. (الزرار ده عليه مكثف بيمنع الارتداد.)

20 دقيقة1 مهام
درس 6.11

من جوّه الـ AVR: Blink بالـ registers

pinMode وdigitalWrite بيكتبوا في registers. الطرف 13 هو البت 5 في PORTB، واتجاهه في DDRB. اعمل Blink من غير ولا دالة Arduino للأطراف.

15 دقيقة1 مهام
درس 6.12

Timer1: Blink من غير delay

Timer1 عدّاد 16 بت جوّه الشريحة. اظبطه في وضع CTC بحيث يعمل Interrupt كل 250 مللي ثانية، وفي الـ ISR اقلب الطرف 13 — والـ loop يفضل فاضي.

25 دقيقة1 مهام
درس 6.13

البازر: نغمتين بـ tone()

tone(pin, frequency) بيطلّع موجة مربعة بالتردد اللي تختاره. البازر على الطرف 8. شغّل نوتة لا (440 هرتز) ثانية، وبعدين لا الأعلى (880 هرتز) ثانية، وكرّر.

10 دقيقة2 مهام
درس 6.14

ما تحرقش طرف البوردة

كل طرف في البوردة يستحمل 40 مللي أمبير بالكتير. الـ LED هنا متوصّل على الطرف 7 من غير مقاومة — لو شغّلته الطرف هيطلّع أكتر من 100 مللي والـ LED والطرف هيتحرقوا. صلّح التوصيل الأول.

10 دقيقة2 مهام
درس 6.15

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

اجمع اللي فات: اقرا البوتنشوميتر (0..1023) وحوّل القراءة لـ PWM (0..255) بـ map، وطلّعها على LED الطرف 9.

15 دقيقة3 مهام
درس 6.16

من PWM لجهد ثابت: فلتر RC

PWM نبضات، بس لو عدّيتها على فلتر RC (مقاومة 10 كيلو ومكثف 10 ميكرو) بتطلع جهد شبه ثابت = نسبة الـ Duty × 5 فولت. ده أبسط DAC ممكن تعمله.

20 دقيقة3 مهام
درس 6.17

عدّاد على شاشة 7 Segment

الشاشة فيها 7 LEDs على شكل 8 (a لحد g). الأطراف من 2 لـ 8 متوصلة بـ a لحد g عن طريق مقاومات 220 أوم، والطرف المشترك على GND. نوّر الأجزاء الصح علشان تكتب أرقام.

25 دقيقة5 مهام
درس 6.18

8 LEDs بـ 3 أطراف بس: Shift register 74HC595

الـ 74HC595 بياخد البتات واحدة ورا التانية على DS (كل نبضة على SHCP بتزق بت)، ونبضة على STCP بتنقل الـ 8 بتات للمخارج مرة واحدة. ده اللي بتعمله shiftOut. الأطراف: DS ← 11، SHCP ← 12، STCP ← 8.

25 دقيقة4 مهام
درس 6.19

شاشة LCD 16×2: اكتب نص وقراءة حساس

شاشة حروف بـ controller من نوع HD44780، متوصلة بـ 6 أطراف (RS ← 12، E ← 11، D4..D7 ← 5، 4، 3، 2). مكتبة LiquidCrystal بتبعت كل حرف على مرتين (4 بت). اكتب ترحيب، واعرض قراءة البوتنشوميتر — وخد بالك من بواقي الأرقام القديمة.

25 دقيقة3 مهام

الميكاترونكس والتحكم

درس 7.1

الترانزستور كمفتاح: لمبة 12 فولت من طرف 5 فولت

طرف البوردة يدّي 20 مللي بالكتير، واللمبة محتاجة 120 مللي على 12 فولت. الترانزستور NPN بيخلي تيار صغير في القاعدة (B) يتحكم في تيار كبير من المجمّع (C) للباعث (E). اختار مقاومة القاعدة RB بحيث الترانزستور يفتح على الآخر (تشبّع).

20 دقيقة4 مهام
درس 7.2

موتور DC بموسفت — ودايود الحماية

الموتور بيسحب نص أمبير، فلازم مفتاح زي الموسفت بين الموتور والأرضي. بس الموتور ملف: لما تقطع التيار فجأة بيطلّع جهد عالي جدًا ممكن يحرق الموسفت. الدايود (Flyback) بيدّي للتيار سكة يكمّل فيها.

20 دقيقة3 مهام
درس 7.3

التحكم في سرعة الموتور بـ PWM

نفس الموتور، بس بدل ما تشغّله وتطفّيه، اديله PWM: كل ما الـ Duty يزيد، متوسط الجهد يزيد والسرعة تزيد. المروحة على العمود بتحمّله فالسرعة بتتبع الجهد.

15 دقيقة3 مهام
درس 7.4

السيرفو: حرّك الدراع لزاوية بالظبط

السيرفو موتور جواه حساس زاوية ومتحكم: بتبعتله نبضة كل 20 مللي، وعرضها (من حوالي 0.5 لـ 2.4 مللي) بيحدد الزاوية من 0 لـ 180. مكتبة Servo بتعمل النبضات دي.

15 دقيقة3 مهام
درس 7.5

موتور الخطوة (Stepper): لف بزاوية مضبوطة

موتور الخطوة بيلف خطوة خطوة: 200 خطوة في اللفة (1.8 درجة للخطوة). بتحركه بإنك تنوّر الملفات الأربعة بالترتيب: 1100 ← 0110 ← 0011 ← 1001. عكس الترتيب يعكس الاتجاه، ولو استعجلت أوي بيفوّت خطوات.

20 دقيقة2 مهام
درس 7.6

Encoder: قيس سرعة الموتور بنفسك

الـ Encoder على عمود الموتور بيطلّع 12 نبضة في كل لفة على الطرف 2. عدّ النبضات بـ Interrupt لمدة 100 مللي، وحوّلها لفات في الدقيقة (rpm) واطبعها.

20 دقيقة1 مهام
درس 7.7

تحكم PID: سرعة ثابتة حتى لو الحِمل اتغيّر

عايزين الموتور يلف 4000 لفة في الدقيقة بالظبط. الـ PWM الثابت مش كفاية: لو حد زوّد الحِمل السرعة بتقع. اقرا السرعة من الـ Encoder كل 50 مللي، واحسب الـ PWM بمتحكم PI: out = Kp·e + Ki·∫e.

30 دقيقة3 مهام
درس 7.8

روبوت بعجلتين: اتجاه وسرعة بـ L298N

كل عجلة ليها موتور ودرايفر: IN1/IN2 بيحددوا الاتجاه (10 لقدّام، 01 لورا، 11 أو 00 فرامل)، وPWM على EN بيحدد السرعة. أقصى سرعة 32 سم في الثانية. افتح «الحلبة» فوق المخطط وشوف الروبوت.

20 دقيقة3 مهام
درس 7.9

Line follower: لفّة كاملة على الخط

3 حساسات قدّام الروبوت بتقول الخط فين: لو الشمال شايفه يبقى الخط راح شمال — لِف شمال (هدّي العجلة الشمال). المسار بيضاوي: خطين مستقيمين ومنحنيين. خلّي الروبوت يكمّل لفّة من غير ما يخرج.

30 دقيقة3 مهام

بناء نظام تشغيل

درس 8.1

من غير أي مكتبة: main() بتاعك

هنا مفيش Arduino: البرنامج بيبدأ من main() بتاعك بعد كود البداية (crt0) اللي بيجهّز الـ stack والذاكرة. اعمل Blink بالـ registers وبلوب انتظار — من غير Timers.

20 دقيقة1 مهام
درس 8.2

Driver للـ UART وأول Shell

من غير Serial: اكتب driver للـ USART من الـ registers (UBRR0 وUCSR0A/B/C وUDR0)، واعمل shell صغير بيطبع «basma-os> » وبيفهم أمرين: led on وled off. اكتب في الـ Serial Monitor تحت.

30 دقيقة3 مهام
درس 8.3

ساعة النظام: Timer tick كل مللي ثانية

كل نظام تشغيل محتاج «نبض»: interrupt من Timer كل 1 مللي بيزوّد عدّاد. بيه تقدر تعمل حاجتين في نفس الوقت من غير delay: LED على 13 بيرمش مرة في الثانية، وLED على 12 أربع مرات.

25 دقيقة1 مهام
درس 8.4

Scheduler تعاوني: جدول مهام

بدل ما تكتب كل حاجة في loop واحدة، اعمل جدول مهام: لكل مهمة دالة وفترة. الـ scheduler بيلف على الجدول ويشغّل اللي جه دورها. كل مهمة لازم ترجع بسرعة (تعاونية) — ده اللي بتعمله أنظمة كتير صغيرة.

30 دقيقة1 مهام
درس 8.5

Scheduler بالمقاطعة (Preemptive): Context switch حقيقي

تلات مهام، كل واحدة loop لا نهائي بيستنى بالانتظار المشغول — ومحدش فيهم بيسيب المعالج بإرادته. الـ Timer كل 1 مللي بيقاطع، والـ ISR بيحفظ كل الـ registers على stack المهمة الحالية ويرجّع stack المهمة اللي بعدها. كمّل الدالتين الناقصين.

40 دقيقة1 مهام
درس 8.6

Mutex: مهمتين وجهاز واحد

مهمتين بيكتبوا سطور على نفس الـ UART. الـ scheduler ممكن يقاطع واحدة في نص سطرها، فالحروف بتتلخبط: «A:1B:7\r\n2…». احمي السطر بقفل (mutex): اللي ماسك القفل بس يكتب، والتاني يستنى.

30 دقيقة1 مهام

المحاكي مكتوب من الصفر وبيحل الدايرة بتحليل العُقد (MNA) زي برامج SPICE. النماذج مبسّطة للتعليم: الحرارة والتلف بقواعد تقريبية. بوردات «متوافقة مع Arduino» القادمة غير تابعة لـ Arduino ولا معتمدة منها، والأسماء علامات تجارية لأصحابها.