top of page

01 — Welcome to Arduino & Physical Computing

Duration: 2h

LEARNING OBJECTIVES

  • Explain what Arduino is and where it's used

  • Identify the main parts of the Arduino Uno board

CONCEPTS

  • Physical computing

  • Arduino Uno anatomy

  • Microcontroller vs computer

  • Power & USB

PRACTICAL ACTIVITY
Unbox and inspect the Arduino Uno; identify pins, power input, and onboard LED; install the Arduino IDE and connect the board.

MINI CHALLENGE
In pairs, correctly label 8 components on a printed board diagram in under 5 minutes.

REQUIRED COMPONENTS

  • Arduino Uno

  • USB cable

  • Laptop with IDE installed

EXPECTED OUTCOME
Every student has a working IDE connection to their own Arduino Uno.

S02 — Arduino IDE & First Sketch

Duration: 2h

LEARNING OBJECTIVES

  • Navigate the Arduino IDE interface

  • Upload a working sketch to the board

CONCEPTS

  • Sketch structure (setup/loop)

  • Compiling & uploading

  • Syntax basics

  • Comments

PRACTICAL ACTIVITY
Write, upload, and modify the Blink sketch; change timing values and observe the effect on the onboard LED.

MINI CHALLENGE
Make the onboard LED blink in a distinct pattern (e.g., SOS) using only setup() and loop().

REQUIRED COMPONENTS

  • Arduino Uno

  • USB cable

EXPECTED OUTCOME
Students can independently write, upload, and debug a basic sketch.

S03 — Digital Inputs — Push Buttons

Duration: 2h

LEARNING OBJECTIVES

  • Wire a push button as a digital input

  • Use pinMode and digitalRead correctly

CONCEPTS

  • Digital input vs output

  • Pull-up/pull-down resistors

  • INPUT_PULLUP

  • Debouncing (concept)

PRACTICAL ACTIVITY
Wire a button circuit that lights an LED only while pressed; then invert the logic so the LED is on by default.

MINI CHALLENGE
Build a 'press-to-toggle' circuit where one press turns the LED on and the next turns it off.

REQUIRED COMPONENTS

  • Breadboard

  • Push button

  • LED

  • 220Ω resistor

  • 10kΩ resistor

  • Jumper wires

EXPECTED OUTCOME
A working button-controlled LED circuit with correct pull-up wiring.

S04 — Analog World — Potentiometers & Analog Input

Duration: 2h

LEARNING OBJECTIVES

  • Read a variable analog signal with analogRead()

  • Map raw values to a usable range

CONCEPTS

  • Analog vs digital signals

  • 0–1023 ADC range

  • map() function

  • Serial Monitor for debugging

PRACTICAL ACTIVITY
Wire a potentiometer, read live values on the Serial Monitor, and map them to control LED brightness.

MINI CHALLENGE
Use the potentiometer to control the blink speed of an LED in real time.

REQUIRED COMPONENTS

  • Breadboard

  • Potentiometer

  • LED

  • 220Ω resistor

  • Jumper wires

EXPECTED OUTCOME
Students can read, map, and apply an analog sensor value to control output.

S05 — Let There Be Light — LEDs & PWM

Duration: 2h

LEARNING OBJECTIVES

  • Explain how PWM simulates analog output

  • Control brightness with analogWrite()

CONCEPTS

  • Pulse Width Modulation

  • PWM-capable pins

  • RGB LEDs

  • Color mixing

PRACTICAL ACTIVITY
Wire an RGB LED and write code to fade smoothly between colors using analogWrite().

MINI CHALLENGE
Program a 'traffic light' color sequence with accurate timing using only PWM pins.

REQUIRED COMPONENTS

  • Breadboard

  • RGB LED (or 3 LEDs)

  • 3× 220Ω resistors

  • Jumper wires

EXPECTED OUTCOME
A working RGB fade/color-sequence program.

S06 — Sound & Buzzers

Duration: 2h

LEARNING OBJECTIVES

  • Generate tones with the tone() function

  • Build simple sound-feedback logic

CONCEPTS

  • Piezo buzzers

  • Frequency & pitch

  • tone() and noTone()

  • Arrays for note sequences

PRACTICAL ACTIVITY
Wire a buzzer and play a short melody using an array of notes and durations.

MINI CHALLENGE
Compose an 8-note alert melody that plays only when a button is pressed.

REQUIRED COMPONENTS

  • Breadboard

  • Piezo buzzer

  • Push button

  • Jumper wires

EXPECTED OUTCOME
A button-triggered sound-feedback circuit.

S07 — Sensing the Environment — LDR (Light Sensor)

Duration: 2h

LEARNING OBJECTIVES

  • Read light levels with a photoresistor

  • Apply threshold logic to trigger outputs

CONCEPTS

  • Voltage dividers

  • LDR behaviour

  • Threshold / conditional triggering

  • Calibration

PRACTICAL ACTIVITY
Build a voltage-divider circuit with an LDR and calibrate a light threshold using the Serial Monitor.

MINI CHALLENGE
Build an automatic night-light: LED turns on only when the room is dark.

REQUIRED COMPONENTS

  • Breadboard

  • LDR

  • 10kΩ resistor

  • LED

  • 220Ω resistor

  • Jumper wires

EXPECTED OUTCOME
A working light-triggered automatic circuit.

S08 — Sensing Distance — Ultrasonic Sensor

Duration: 2h

LEARNING OBJECTIVES

  • Measure distance using an HC-SR04 sensor

  • Convert echo time into centimetres

CONCEPTS

  • Trigger/Echo pins

  • Speed of sound calculation

  • pulseIn()

  • Obstacle detection logic

PRACTICAL ACTIVITY
Wire the HC-SR04, print live distance readings, and set an alert when an object is within range.

MINI CHALLENGE
Build a 'parking sensor' that beeps faster as an object gets closer.

REQUIRED COMPONENTS

  • Breadboard

  • HC-SR04 ultrasonic sensor

  • Buzzer

  • Jumper wires

EXPECTED OUTCOME
A working distance-based alert system.

S09 — Motion — Servo Motors

Duration: 2h

LEARNING OBJECTIVES

  • Control a servo's angle with the Servo library

  • Combine sensor input with motor output

CONCEPTS

  • Servo motors vs DC motors

  • Servo library & write()

  • Angle mapping

  • Sensor-to-actuator logic

PRACTICAL ACTIVITY
Wire a servo and sweep it between angles; then drive its angle using the potentiometer or LDR from earlier sessions.

MINI CHALLENGE
Build an 'automatic gate' that opens when the ultrasonic sensor detects someone nearby.

REQUIRED COMPONENTS

  • Breadboard

  • Servo motor (SG90)

  • HC-SR04 (reused)

  • Jumper wires

EXPECTED OUTCOME
A sensor-triggered mechanical motion system.

S10 — Programming Foundations — Variables & Conditions

Duration: 2h

LEARNING OBJECTIVES

  • Use variables to store and reuse sensor data

  • Write clear if / else if / else logic

CONCEPTS

  • Data types (int, float, bool)

  • Comparison & logical operators

  • Nested conditions

  • Code readability

PRACTICAL ACTIVITY
Refactor a previous project's code to use named variables and multi-branch conditions instead of hard-coded numbers.

MINI CHALLENGE
Add a third condition/state to an earlier circuit (e.g., dim / medium / bright light zones).

REQUIRED COMPONENTS

  • Any circuit from Sessions 4–8 (reused)

EXPECTED OUTCOME
Cleaner, more flexible code using variables and conditional logic.

S11 — Programming Foundations — Loops & Functions

Duration: 2h

LEARNING OBJECTIVES

  • Use for and while loops to repeat actions

  • Organise code into reusable custom functions

CONCEPTS

  • for vs while loops

  • Function declaration & calling

  • Parameters & return values

  • Code modularity

PRACTICAL ACTIVITY
Rewrite the melody and blink-pattern programs using loops; extract a repeated block of code into a custom function.

MINI CHALLENGE
Write a function playAlert() that any circuit built so far can call to trigger a sound + light warning.

REQUIRED COMPONENTS

  • Arduino Uno

  • Buzzer

  • LED

  • Jumper wires

EXPECTED OUTCOME
A reusable custom function integrated into a working circuit.

S12 — Capstone — Integrated Smart Device Project

Duration: 2h

LEARNING OBJECTIVES

  • Combine 3+ concepts from the course into one working device

  • Present and explain the finished build

CONCEPTS

  • System integration

  • Debugging strategy

  • Design justification

  • Presentation basics

PRACTICAL ACTIVITY
In teams, design and build one device (e.g., Smart Guard Light: LDR + Servo + Buzzer, or Smart Distance Alarm: Ultrasonic + LED + Buzzer) combining sensing, decision logic, and output.

MINI CHALLENGE
Demonstrate the device live and explain the role of every component and line of key code.

REQUIRED COMPONENTS

  • Full component kit from prior sessions

EXPECTED OUTCOME
A working, presentable smart device built from Level 1 concepts.

S01 — مقدمة إلى Arduino والحوسبة الفيزيائية

المدة: ساعتان

الأهداف التعليمية

شرح ماهية Arduino ومجالات استخدامه.

التعرّف على الأجزاء الرئيسية في لوحة Arduino Uno.

المفاهيم

الحوسبة الفيزيائية.

مكونات لوحة Arduino Uno.

المتحكم الدقيق (Microcontroller) مقارنةً بالحاسوب.

الطاقة وUSB.


النشاط العملي

فتح عبوة Arduino Uno وفحص اللوحة، والتعرّف على المنافذ، ومدخل الطاقة، ومصباح LED المدمج على اللوحة، ثم تثبيت بيئة Arduino IDE وتوصيل اللوحة بالحاسوب.


التحدي المصغّر

بالعمل ضمن أزواج، تسمية 8 مكونات بشكل صحيح على مخطط مطبوع للوحة Arduino خلال أقل من 5 دقائق.

المكونات المطلوبة

Arduino Uno

كابل USB

حاسوب محمول مثبت عليه Arduino IDE


النتيجة المتوقعة

يتمكن كل طالب من توصيل لوحة Arduino Uno الخاصة به ببيئة Arduino IDE وتشغيلها بنجاح.

S02 — بيئة Arduino IDE وأول برنامج

المدة: ساعتان

الأهداف التعليمية

التعرف على واجهة Arduino IDE والتنقل بين عناصرها.

رفع برنامج (Sketch) يعمل بنجاح إلى اللوحة.

المفاهيم

بنية البرنامج setup() وloop().

الترجمة (Compiling) والرفع (Uploading).

أساسيات صياغة الأوامر البرمجية (Syntax).

التعليقات البرمجية.


النشاط العملي

كتابة برنامج Blink ورفعه وتعديله، ثم تغيير قيم التوقيت وملاحظة تأثير ذلك على مصباح LED المدمج في اللوحة.


التحدي المصغّر

جعل مصباح LED المدمج يومض بنمط مميز، مثل إشارة SOS، باستخدام setup() وloop() فقط.

المكونات المطلوبة

Arduino Uno

كابل USB


النتيجة المتوقعة

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

S03 — المدخلات الرقمية — أزرار الضغط

المدة: ساعتان

الأهداف التعليمية

توصيل زر ضغط ليعمل كمدخل رقمي.

استخدام pinMode() وdigitalRead() بشكل صحيح.

المفاهيم

المدخل الرقمي مقابل المخرج الرقمي.

مقاومات السحب لأعلى والسحب لأسفل (Pull-up / Pull-down).

INPUT_PULLUP.

مفهوم إزالة اهتزاز زر الضغط (Debouncing).


النشاط العملي

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


التحدي المصغّر

إنشاء دائرة «اضغط للتبديل»، بحيث تؤدي الضغطة الأولى إلى تشغيل LED والضغطة التالية إلى إطفائه.

المكونات المطلوبة

لوحة تجارب (Breadboard)

زر ضغط

LED

مقاومة 220Ω

مقاومة 10kΩ

أسلاك توصيل (Jumper Wires)


النتيجة المتوقعة

دائرة LED تعمل بواسطة زر الضغط مع توصيل Pull-up بشكل صحيح.

S04 — العالم التناظري — المقاومة المتغيرة والمدخل التناظري

المدة: ساعتان

الأهداف التعليمية

قراءة إشارة تناظرية متغيرة باستخدام analogRead().

تحويل القيم الخام إلى نطاق مناسب للاستخدام.

المفاهيم

الإشارات التناظرية مقابل الرقمية.

نطاق ADC من 0 إلى 1023.

الدالة map().

استخدام Serial Monitor لاكتشاف الأخطاء.


النشاط العملي

توصيل مقاومة متغيرة (Potentiometer)، وقراءة قيمها مباشرة عبر Serial Monitor، ثم تحويل هذه القيم للتحكم في شدة إضاءة LED.


التحدي المصغّر

استخدام المقاومة المتغيرة للتحكم في سرعة وميض LED في الوقت الفعلي.

المكونات المطلوبة

لوحة تجارب

مقاومة متغيرة (Potentiometer)

LED

مقاومة 220Ω

أسلاك توصيل


النتيجة المتوقعة

يتمكن الطلاب من قراءة قيمة مستشعر تناظري وتحويلها واستخدامها للتحكم في أحد المخرجات.

S05 — فليكن هناك ضوء — مصابيح LED وPWM

المدة: ساعتان

الأهداف التعليمية

شرح كيفية استخدام PWM لمحاكاة الخرج التناظري.

التحكم في شدة الإضاءة باستخدام analogWrite().

المفاهيم

تعديل عرض النبضة (Pulse Width Modulation – PWM).

المنافذ التي تدعم PWM.

مصابيح RGB LED.

مزج الألوان.


النشاط العملي

توصيل RGB LED وكتابة برنامج للانتقال التدريجي والسلس بين الألوان باستخدام analogWrite().


التحدي المصغّر

برمجة تسلسل ألوان يحاكي «إشارة المرور» بتوقيت دقيق باستخدام منافذ PWM فقط.

المكونات المطلوبة

لوحة تجارب

RGB LED أو 3 مصابيح LED

3 مقاومات بقيمة 220Ω

أسلاك توصيل


النتيجة المتوقعة

برنامج يعمل بنجاح للتحكم في التدرج وتسلسل الألوان باستخدام RGB LED.

S06 — الصوت والطنانات

المدة: ساعتان

الأهداف التعليمية

توليد النغمات باستخدام الدالة tone().

بناء منطق بسيط للتغذية الراجعة الصوتية.

المفاهيم

الطنان الكهروضغطي (Piezo Buzzer).

التردد ودرجة الصوت.

tone() وnoTone().

المصفوفات (Arrays) لإنشاء تسلسل النغمات.


النشاط العملي

توصيل طنان وتشغيل لحن قصير باستخدام مصفوفة تحتوي على النغمات ومددها الزمنية.


التحدي المصغّر

تأليف نغمة تنبيه من 8 نغمات تعمل فقط عند الضغط على زر.

المكونات المطلوبة

لوحة تجارب

Piezo Buzzer

زر ضغط

أسلاك توصيل


النتيجة المتوقعة

دائرة تغذية راجعة صوتية يتم تشغيلها بواسطة زر ضغط.

S07 — استشعار البيئة — مستشعر الضوء LDR

المدة: ساعتان

الأهداف التعليمية

قراءة مستويات الإضاءة باستخدام مقاومة ضوئية.

تطبيق منطق العتبة (Threshold) لتشغيل المخرجات.

المفاهيم

مقسمات الجهد (Voltage Dividers).

سلوك LDR.

العتبة والتشغيل الشرطي.

المعايرة (Calibration).


النشاط العملي

بناء دائرة مقسم جهد باستخدام LDR ومعايرة عتبة الإضاءة باستخدام Serial Monitor.


التحدي المصغّر

إنشاء مصباح ليلي تلقائي، بحيث يضيء LED فقط عندما تصبح الغرفة مظلمة.

المكونات المطلوبة

لوحة تجارب

LDR

مقاومة 10kΩ

LED

مقاومة 220Ω

أسلاك توصيل


النتيجة المتوقعة

دائرة تلقائية تعمل استنادًا إلى مستوى الإضاءة.

S08 — استشعار المسافة — المستشعر بالموجات فوق الصوتية

المدة: ساعتان

الأهداف التعليمية

قياس المسافة باستخدام مستشعر HC-SR04.

تحويل زمن الصدى إلى مسافة بالسنتيمتر.

المفاهيم

منافذ Trigger وEcho.

حساب سرعة الصوت.

الدالة pulseIn().

منطق اكتشاف العوائق.


النشاط العملي

توصيل HC-SR04، وعرض قراءات المسافة مباشرة، وإعداد تنبيه عند وجود جسم ضمن نطاق محدد.


التحدي المصغّر

بناء «مستشعر ركن سيارات» تزداد سرعة صوت التنبيه فيه كلما اقترب الجسم من المستشعر.

المكونات المطلوبة

لوحة تجارب

مستشعر HC-SR04 بالموجات فوق الصوتية

طنان (Buzzer)

أسلاك توصيل


النتيجة المتوقعة

نظام تنبيه يعمل اعتمادًا على المسافة.

S09 — الحركة — محركات Servo

المدة: ساعتان

الأهداف التعليمية

التحكم في زاوية محرك Servo باستخدام مكتبة Servo.

دمج مدخلات المستشعرات مع مخرجات المحرك.

المفاهيم

محركات Servo مقارنة بمحركات DC.

مكتبة Servo والدالة write().

تحويل القيم إلى زوايا (Angle Mapping).

منطق تحويل قراءة المستشعر إلى حركة.


النشاط العملي

توصيل محرك Servo وتحريكه بين زوايا مختلفة، ثم التحكم في زاويته باستخدام المقاومة المتغيرة أو LDR من الجلسات السابقة.


التحدي المصغّر

بناء «بوابة تلقائية» تفتح عندما يكتشف مستشعر الموجات فوق الصوتية وجود شخص قريب.

المكونات المطلوبة

لوحة تجارب

محرك Servo من نوع SG90

مستشعر HC-SR04 المستخدم سابقًا

أسلاك توصيل


النتيجة المتوقعة

نظام حركة ميكانيكي يتم تشغيله استنادًا إلى قراءة المستشعر.

S10 — أساسيات البرمجة — المتغيرات والشروط

المدة: ساعتان

الأهداف التعليمية

استخدام المتغيرات لتخزين بيانات المستشعرات وإعادة استخدامها.

كتابة منطق واضح باستخدام if / else if / else.

المفاهيم

أنواع البيانات int وfloat وbool.

معاملات المقارنة والمعاملات المنطقية.

الشروط المتداخلة.

سهولة قراءة الكود وتنظيمه.


النشاط العملي

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


التحدي المصغّر

إضافة حالة أو شرط ثالث إلى إحدى الدوائر السابقة، مثل تقسيم مستوى الإضاءة إلى: خافت / متوسط / ساطع.

المكونات المطلوبة

أي دائرة من الجلسات 4–8، مع إعادة استخدام مكوناتها.


النتيجة المتوقعة

كود أكثر تنظيماً ومرونة باستخدام المتغيرات والمنطق الشرطي.

S11 — أساسيات البرمجة — الحلقات والدوال

المدة: ساعتان

الأهداف التعليمية

استخدام حلقات for وwhile لتكرار العمليات.

تنظيم الكود في دوال مخصصة قابلة لإعادة الاستخدام.

المفاهيم

حلقات for مقارنة بـwhile.

تعريف الدوال واستدعاؤها.

المعاملات (Parameters) والقيم المرجعة.

تقسيم الكود إلى وحدات منظمة (Code Modularity).


النشاط العملي

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


التحدي المصغّر

كتابة دالة playAlert() يمكن لأي دائرة تم بناؤها حتى الآن استدعاؤها لتشغيل تحذير صوتي وضوئي.

المكونات المطلوبة

Arduino Uno

طنان (Buzzer)

LED

أسلاك توصيل


النتيجة المتوقعة

دالة مخصصة قابلة لإعادة الاستخدام ومدمجة ضمن دائرة تعمل بنجاح.

S12 — المشروع الختامي — مشروع جهاز ذكي متكامل

المدة: ساعتان

الأهداف التعليمية

دمج 3 مفاهيم أو أكثر من مفاهيم الدورة في جهاز واحد يعمل بشكل متكامل.

عرض المشروع النهائي وشرح آلية عمله.

المفاهيم

تكامل الأنظمة (System Integration).

استراتيجية اكتشاف الأخطاء وتصحيحها.

تبرير خيارات التصميم.

أساسيات تقديم وعرض المشروع.


النشاط العملي

يعمل الطلاب ضمن فرق لتصميم وبناء جهاز واحد، مثل:


مصباح الحماية الذكي:

LDR + Servo + Buzzer

أو:


إنذار المسافة الذكي:

Ultrasonic + LED + Buzzer

بحيث يجمع المشروع بين الاستشعار واتخاذ القرار وتنفيذ المخرجات.


التحدي المصغّر

عرض الجهاز وتشغيله عمليًا أمام الآخرين، وشرح وظيفة كل مكوّن والأسطر البرمجية الأساسية المستخدمة في المشروع.

المكونات المطلوبة

مجموعة المكونات الكاملة المستخدمة في الجلسات السابقة.


النتيجة المتوقعة بصورة صحيحة وقابل للعرض، مبني باستخدام المفاهيم التي تم تعلمها في Arduino — Level 1.

جهاز ذكي متكامل، يعمل

bottom of page