🎓 درس مدار با ووکوی: سرفصل ۲۰ جلسهای از اولین LED تا اینترنت اشیا
معلم هستی و میخواهی یک ترم درس مدار و آردوینو بگذاری، یا خودت میخواهی منظم یاد بگیری و نمیدانی بعد از چشمکزن LED چه چیزی را یاد بگیری. این صفحه یک سرفصل ۲۰ جلسهای آماده است که با یک شبیهساز مثل ووکوی (Wokwi) یا تینکرکد فارسی اجرا میشود و هیچ قطعهای لازم ندارد. برای هر جلسه عنوان فارسی و انگلیسی، هدف، مدار ساختهشده با اسم کامل، قطعهها، مفهوم کلیدی و لینک درس یا مقالهای را آوردهایم که همان را قدمبهقدم یاد میدهد. بعد میگوییم کلاس را با شبیهساز چطور اجرا کنی، چطور ارزشیابی کنی، و در آخر یک جدول خلاصه برای چاپ گذاشتهایم.
این سرفصل برای چه کسی است؟
- سن: حدود ۱۱ سال به بالا، یا هر بزرگسالی که از صفر شروع میکند. برای بچههای کوچکتر، قبل از این سرفصل چند جلسه از دورهی برق بدون کد را کار کن.
- مدت هر جلسه: ۶۰ تا ۹۰ دقیقه؛ با ۶۰ دقیقه، چالشهای پایان جلسه را تکلیف بده.
- پیشنیاز: فقط کار با ماوس و کیبورد. منطق برنامهنویسی در خود جلسهها ساخته میشود.
- برد: جلسههای ۱ تا ۱۸ آردوینو اونو و جلسههای ۱۹ و ۲۰ ESP32.
سرفصل چهار فصل پنججلسهای دارد: پایهها، ورودی و خروجی آنالوگ، سنسور و نمایشگر، و قدرت و اینترنت اشیا. هر فصل با یک پروژهی کوچک تمام میشود که مفهومهای همان فصل را کنار هم میگذارد.
فصل ۱: پایهها (جلسههای ۱ تا ۵)
جلسهی ۱: مدار یعنی چه؟ (What Is a Circuit?)
- هدف: فهمیدن مدار بسته، قطب مثبت و منفی و نقش مقاومت.
- مدار: مدار LED با مقاومت (LED with Resistor)، بدون کد.
- قطعهها: باتری، مقاومت، LED.
- مفهوم: جریان فقط در حلقهی بسته راه میافتد؛ LED جهت دارد؛ بدون مقاومت میسوزد. این جلسه را در مود سادهی تینکرکد فارسی برگزار کن، چون سوختن LED را نشان میدهد و ووکوی نه.
- منبع: درس اولین مدار — خودت ببند.
جلسهی ۲: اولین برنامه، چشمکزن (First Sketch: Blink)
- هدف: نوشتن، اجرا و تغییر اولین برنامه.
- مدار: مدار چشمکزن (Blink).
- قطعهها: آردوینو اونو، LED، مقاومت ۲۲۰ اهم.
- مفهوم:
setupوloop،pinMode،digitalWriteوdelay. - منبع: درس اولین چشمک؛ برای محیط ووکوی هم آموزش ووکوی قدمبهقدم.
جلسهی ۳: گفتوگو با آردوینو (Talking to Arduino: Serial Monitor)
- هدف: دیدن داخل برنامه با چاپ در سریال.
- مدار: مدار شمارندهی سریال (Serial Counter)؛ برد تنها.
- قطعهها: فقط آردوینو اونو.
- مفهوم: متغیر،
Serial.begin،Serial.printlnو نمودار سریال؛ ابزاری که در همهی جلسههای بعد برای عیبیابی لازم است. - منبع: سریال مانیتور و نمودار سریال آردوینو.
جلسهی ۴: دکمه و تصمیمگیری (Button Input and if)
- هدف: خواندن ورودی و تصمیم گرفتن بر اساس آن.
- مدار: مدار دکمه و LED (Button + LED).
- قطعهها: کلید فشاری، LED، مقاومت.
- مفهوم:
digitalRead،INPUT_PULLUP، شرطifو فرق=با==. - منبع: درس دکمه و تصمیمگیری.
جلسهی ۵: پروژهی فصل، چراغ راهنمایی (Project: Traffic Light)
- هدف: ساختن یک مدار کامل از صفر، با سیمکشی مرتب و کد خوانا.
- مدار: مدار چراغ راهنمایی (Traffic Light)؛ چالش: مدار چراغ عابر پیاده (Pedestrian Crossing) با یک دکمه.
- قطعهها: سه LED قرمز، زرد و سبز، سه مقاومت؛ برای چالش یک کلید فشاری.
- مفهوم: ترتیب زمانی، تابع با ورودی و ثابتهای اسمدار.
- منبع: ساخت مدار در ووکوی قدمبهقدم که همین مدار را با diagram.json و کد کامل میسازد.
فصل ۲: ورودی و خروجی آنالوگ (جلسههای ۶ تا ۱۰)
جلسهی ۶: کم و زیاد کردن نور (PWM Fade)
- هدف: ساختن «نیمهروشن» با یک پین دیجیتال.
- مدار: مدار LED نفسکش (Fade / Breathing LED).
- قطعهها: LED و مقاومت روی یکی از پینهای ~.
- مفهوم: PWM،
analogWriteو حلقهیfor. - منبع: درس کمنور و پرنور با PWM.
جلسهی ۷: پتانسیومتر و اعداد آنالوگ (Analog Input)
- هدف: خواندن یک مقدار پیوسته و استفاده از آن.
- مدار: مدار دیمر با پتانسیومتر (Potentiometer LED Dimmer).
- قطعهها: پتانسیومتر، LED، مقاومت.
- مفهوم:
analogRead(۰ تا ۱۰۲۳)،mapو مقسم ولتاژ. - منبع: درس سنسور و اعداد آنالوگ.
جلسهی ۸: صدا و موسیقی (Sound and Music)
- هدف: ساختن صدا با فرکانس مشخص.
- مدار: مدار ملودی با بازر (Buzzer Melody)؛ چالش: مدار پیانوی دکمهای (Button Piano).
- قطعهها: بازر؛ برای چالش چهار کلید فشاری.
- مفهوم:
toneوnoTone، فرکانس نتها و آرایهی نت و مدت. - منبع: درس صدا و موسیقی.
جلسهی ۹: حلقه و آرایه (Loops and Arrays)
- هدف: کنترل چند قطعه با کد کوتاه.
- مدار: مدار نایت رایدر (Knight Rider LED Chaser).
- قطعهها: شش LED و شش مقاومت.
- مفهوم: آرایه، اندیس و حلقهی رفتوبرگشت.
- منبع: درس حلقه و آرایه — چند LED با هم؛ کد کامل در ۴۰ مدار آردوینو برای ووکوی.
جلسهی ۱۰: پروژهی فصل، چراغ خواب خودکار (Project: Automatic Night Light)
- هدف: ترکیب سنسور، شرط و PWM در یک وسیلهی کاربردی.
- مدار: مدار چراغ خواب خودکار با LDR (Automatic Night Light).
- قطعهها: ماژول فتوسل (LDR)، LED، مقاومت.
- مفهوم: آستانه (threshold)، کالیبره کردن با سریال و جلوگیری از چشمک زدن نزدیک آستانه.
- منبع: سنسور نور LDR با آردوینو.
فصل ۳: سنسور و نمایشگر (جلسههای ۱۱ تا ۱۵)
جلسهی ۱۱: سروو موتور (Servo Motor)
- هدف: حرکت دادن دقیق با زاویه.
- مدار: مدار سروو با ولوم (Servo Sweep and Knob).
- قطعهها: سروو موتور، پتانسیومتر.
- مفهوم: کتابخانهی Servo، پالس ۵۰ هرتز و
mapاز ۰–۱۰۲۳ به ۰–۱۸۰. - منبع: سروو موتور با آردوینو.
جلسهی ۱۲: فاصلهسنج (Ultrasonic Distance)
- هدف: اندازهگیری فاصله با زمان رفتوبرگشت صدا.
- مدار: مدار فاصلهسنج اولتراسونیک (Ultrasonic Distance Meter)؛ چالش: مدار سنسور پارک (Parking Sensor).
- قطعهها: HC-SR04؛ برای چالش بازر و LED.
- مفهوم:
pulseIn، میکروثانیه و تبدیل زمان به سانتیمتر. - منبع: فاصلهسنج اولتراسونیک HC-SR04.
جلسهی ۱۳: دما و رطوبت (Temperature and Humidity)
- هدف: کار با یک سنسور دیجیتال و کتابخانهاش.
- مدار: مدار دماسنج و رطوبتسنج DHT22 (DHT22 Thermometer and Hygrometer).
- قطعهها: سنسور DHT22.
- مفهوم: نصب کتابخانه،
floatو بررسی خطای خواندن باisnan. - منبع: سنسور دما و رطوبت DHT22 با آردوینو.
جلسهی ۱۴: نمایشگر LCD (LCD Display over I2C)
- هدف: نشان دادن داده بدون کامپیوتر.
- مدار: مدار داشبورد LCD (LCD Sensor Dashboard): دما از جلسهی ۱۳ روی LCD.
- قطعهها: LCD ۱۶×۲ با ماژول I2C، سنسور DHT22.
- مفهوم: گذرگاه I2C، آدرس دستگاه و
setCursor. در تینکرکد فارسی LCD I2C جزو ماژولهای حرفهای اشتراک Plus است. - منبع: نمایشگر LCD ۱۶×۲ با ماژول I2C.
جلسهی ۱۵: پروژهی فصل، چند کار همزمان (Project: Multitasking with millis)
- هدف: برنامهای که هیچوقت منتظر نمیماند.
- مدار: مدار دو چشمکزن مستقل و دکمه (Two Independent Blinkers and a Button).
- قطعهها: دو LED، دو مقاومت، کلید فشاری، بازر.
- مفهوم:
millisبهجایdelay،unsigned longو الگوی «اگر وقتش رسیده». - منبع: درس چند کار همزمان.
فصل ۴: قدرت و اینترنت اشیا (جلسههای ۱۶ تا ۲۰)
جلسهی ۱۶: موتور DC و ترانزیستور (DC Motor and Transistor)
- هدف: راه انداختن باری که از پین آردوینو جریان بیشتری میکشد.
- مدار: مدار کنترل سرعت موتور با ترانزیستور (Transistor Motor Driver).
- قطعهها: موتور DC، ترانزیستور NPN، دیود، مقاومت، باتری.
- مفهوم: ترانزیستور بهعنوان کلید، دیود هرزگرد و GND مشترک. این جلسه را در تینکرکد فارسی برگزار کن که جریان موتور را واقعاً حساب میکند؛ ووکوی روی کد تمرکز دارد و جریان را مدل نمیکند (توضیح در شبیهسازی مدار در ووکوی).
- منبع: درس ترانزیستور، قهرمان جریان.
جلسهی ۱۷: رله و بار جدا (Relay and a Separate Load)
- هدف: کنترل یک مدار جدا با ایمنی.
- مدار: مدار رله و لامپ (Relay Lamp).
- قطعهها: ماژول رله، LED و مقاومت بهعنوان لامپ.
- مفهوم: کنتاکت NO و NC، جداسازی دو مدار و نکتههای ایمنی برق شهر.
- منبع: ماژول رله با آردوینو.
جلسهی ۱۸: کیپد و قفل رمزدار (Keypad Password Lock)
- هدف: ساختن یک دستگاه با چند حالت.
- مدار: مدار قفل رمزدار با کیپد (Keypad Password Lock).
- قطعهها: کیپد ۴×۴، سروو موتور.
- مفهوم: کیپد ماتریسی، رشته (String)، ماشین حالت ساده (قفل، در حال وارد کردن، باز).
- منبع: کیپد ۴×۴ با آردوینو.
جلسهی ۱۹: سلام ESP32 و وایفای (Hello ESP32 and Wi-Fi)
- هدف: آشنایی با یک برد وایفایدار و وصل شدن به شبکه.
- مدار: مدار چشمکزن ESP32 و اتصال به وایفای (ESP32 Wi-Fi Blink).
- قطعهها: برد ESP32 DevKit، LED، مقاومت.
- مفهوم: ۳٫۳ ولت، شمارهی GPIO،
WiFi.beginو آدرس IP. در ووکوی شبکهیWokwi-GUESTرمز ندارد؛ در تینکرکد فارسی اجرای ESP32 جزو اشتراک Plus است و شبکهاش شبیهسازیشده است. - منبع: وصل شدن ESP32 به وایفای و گرفتن IP.
جلسهی ۲۰: پروژهی پایانی، LED از مرورگر (Capstone: Web-controlled LED)
- هدف: کنترل یک مدار از صفحهی وب؛ اولین پروژهی اینترنت اشیا.
- مدار: مدار روشن کردن LED از مرورگر (ESP32 Web Server LED).
- قطعهها: ESP32، LED، مقاومت.
- مفهوم: وبسرور، درخواست HTTP و مسیر (route). چالش آزاد: یک سنسور از جلسههای قبل به صفحه اضافه کن.
- منبع: وبسرور ESP32: روشن و خاموش کردن LED از مرورگر؛ برای ادامه داشبورد خانهی هوشمند با ESP32.
اجرای کلاس با شبیهساز: بدون قطعه، یک مرورگر برای هر نفر
بزرگترین خوبی شبیهساز در کلاس این است که هر دانشآموز مدار خودش را میبندد، نه اینکه یک کیت بین چهار نفر دستبهدست شود. نه قطعهای گم میشود، نه LEDی میسوزد و نه کلاس منتظر سیم جامپر میماند.
تجهیزات
- برای هر دانشآموز یک کامپیوتر یا تبلت با مرورگر بهروز؛ در بدترین حالت گوشی هم کار میکند (ووکوی روی گوشی).
- یک ویدئوپروژکتور برای نشان دادن سیمکشی معلم.
- اینترنت. شبیهساز تینکرکد فارسی روی اینترنت ملی هم باز میشود؛ wokwi.com برای کامپایل به سرورهای خودش نیاز دارد.
- اختیاری: یک کیت واقعی برای اینکه در جلسهی آخر هر فصل، مدار شبیهسازیشده را روی میز هم ببینند.
ووکوی یا تینکرکد فارسی؟
| wokwi.com | تینکرکد فارسی | |
|---|---|---|
| زبان محیط | انگلیسی | فارسی |
| شروع بدون ثبتنام | بله؛ برای ذخیره حساب لازم است | بله؛ ذخیره روی همان دستگاه |
| مدار بدون کد و سوختن LED | نه | بله، در مود ساده |
| کد بلوکی برای کوچکترها | نه | بله |
| درس آمادهی فارسی | نه | ۱۰۰ درس آردوینو و ۳۰ درس برق، رایگان |
| ESP32 و پیکو | بله | بله، با اشتراک Plus |
| تحویل کار | لینک پروژهی ذخیرهشده | لینک اشتراک یا کلاس با کد کلاس |
بسیاری از معلمها هر دو را کنار هم استفاده میکنند: جلسههای ۱ و ۱۶ (جریان، سوختن LED و موتور) در تینکرکد فارسی، و جلسههایی که روی کد و ماژول تمرکز دارند در هر کدام که کلاس راحتتر است. امکانات کلاس مجازی را در صفحهی معلمها و تینکرکد فارسی برای معلمها ببین.
ساختار یک جلسهی ۶۰ دقیقهای
| دقیقه | بخش | چه اتفاقی میافتد |
|---|---|---|
| ۰ تا ۱۰ | مرور و پیشبینی | مدار جلسه را روی پرده نشان بده و بپرس «فکر میکنید چه میشود؟» قبل از اجرا |
| ۱۰ تا ۲۰ | نمایش معلم | مفهوم تازه را با کمترین کد ممکن نشان بده |
| ۲۰ تا ۴۵ | ساخت | هر نفر مدار را خودش میبندد و کد را مینویسد؛ معلم بین میزها میچرخد |
| ۴۵ تا ۵۵ | چالش | یک تغییر کوچک: زمان را عوض کن، یک LED اضافه کن، شرط را برعکس کن |
| ۵۵ تا ۶۰ | تحویل | لینک پروژه را بفرستند؛ دو نفر کارشان را روی پرده نشان بدهند |
چند نکتهی کلاسداری
- «اول پیشبینی، بعد اجرا»: این عادت، شبیهساز را از بازی به آزمایش تبدیل میکند.
- کار دونفره: یکی سیمکشی میکند و دیگری کد را میخواند؛ هر ده دقیقه جایشان را عوض کن.
- مدار شروع: برای جلسههای شلوغ، یک پروژهی نیمهکاره (برد و قطعهها بدون سیم) بساز و لینکش را بده تا وقت کلاس صرف پیدا کردن قطعه نشود. روش ساختن لینک در ذخیره و اشتراکگذاری پروژه در ووکوی آمده است.
- عیبیابی را درس بده، نه جواب را: وقتی مداری کار نمیکند، بهجای درست کردنش بپرس «سریال چه میگوید؟» و «سیم پین ۱۲ کجا میرود؟».
ارزشیابی: از کجا بفهمیم یاد گرفتهاند؟
در کلاس شبیهسازی، «مدارش کار کرد» کافی نیست؛ چون میشود از روی دست بغلی هم ساخت. این چند روش، فهمیدن را میسنجند:
- مدار خراب: لینک مداری را بده که عمداً سه اشکال دارد (مثلاً LED برعکس، پین اشتباه در کد و
=بهجای==). نمره برای پیدا کردن و توضیح هر اشکال. - پیشبینی کتبی: کد و مدار را روی کاغذ بده و بپرس LED چند بار در دقیقه چشمک میزند یا سریال چه چاپ میکند. بعد در شبیهساز امتحان کنند.
- چالش تغییر: «چراغ راهنمایی را طوری عوض کن که با دکمه زودتر قرمز شود.» این سؤال نشان میدهد کد را فهمیدهاند یا کپی کردهاند.
- ماموریتها: ماموریتهای آمادهی ماموریتهای تینکرکد فارسی خودشان بررسی میکنند که مدار درست ساخته شده یا نه و برای تمرین خارج از کلاس عالیاند.
- پروژهی پایانی با روبریک: برای جلسهی ۲۰ یا یک پروژهی آزاد، از جدول زیر استفاده کن.
| معیار | امتیاز | چه چیزی را نگاه کن |
|---|---|---|
| کار کردن مدار | ۴ | همهی بخشها همانطور که گفته شده رفتار میکنند |
| سیمکشی درست و مرتب | ۴ | رنگ سیم قراردادی، GND مشترک، مقاومت برای هر LED |
| کد خوانا | ۴ | ثابتهای اسمدار، کامنت سیمکشی بالای کد، تابع برای کار تکراری |
| عیبیابی | ۴ | میتواند بگوید اگر فلان سیم جدا شود چه اتفاقی میافتد |
| ارائه و خلاقیت | ۴ | یک چیز اضافه از خودش؛ توضیح کوتاه برای کلاس |
برای ایدههای پروژهی پایانی مناسب سنهای مختلف، پروژه مدرسه با آردوینو را ببین.
جدول خلاصه برای چاپ
| جلسه | عنوان | مدار | مفهوم کلیدی |
|---|---|---|---|
| ۱ | مدار یعنی چه؟ (What Is a Circuit?) | LED با مقاومت (LED with Resistor) | مدار بسته، قطبیت، مقاومت |
| ۲ | اولین برنامه (First Sketch) | چشمکزن (Blink) | setup، loop، digitalWrite، delay |
| ۳ | گفتوگو با آردوینو (Serial Monitor) | شمارندهی سریال (Serial Counter) | متغیر، Serial.println |
| ۴ | دکمه و تصمیم (Button Input) | دکمه و LED (Button + LED) | digitalRead، INPUT_PULLUP، if |
| ۵ | پروژه: چراغ راهنمایی (Traffic Light) | چراغ راهنمایی (Traffic Light) | ترتیب زمانی، تابع |
| ۶ | کم و زیاد کردن نور (PWM Fade) | LED نفسکش (Breathing LED) | PWM، analogWrite، for |
| ۷ | اعداد آنالوگ (Analog Input) | دیمر با پتانسیومتر (Potentiometer Dimmer) | analogRead، map |
| ۸ | صدا و موسیقی (Sound and Music) | ملودی با بازر (Buzzer Melody) | tone، فرکانس |
| ۹ | حلقه و آرایه (Loops and Arrays) | نایت رایدر (Knight Rider) | آرایه، اندیس |
| ۱۰ | پروژه: چراغ خواب (Night Light) | چراغ خواب خودکار (Automatic Night Light) | آستانه، کالیبراسیون |
| ۱۱ | سروو موتور (Servo Motor) | سروو با ولوم (Servo Knob) | کتابخانه، زاویه |
| ۱۲ | فاصلهسنج (Ultrasonic Distance) | فاصلهسنج اولتراسونیک (Ultrasonic Distance Meter) | pulseIn، تبدیل زمان |
| ۱۳ | دما و رطوبت (Temperature and Humidity) | دماسنج DHT22 (DHT22 Thermometer) | سنسور دیجیتال، float |
| ۱۴ | نمایشگر LCD (LCD over I2C) | داشبورد LCD (LCD Dashboard) | I2C، آدرس، setCursor |
| ۱۵ | پروژه: چند کار همزمان (Multitasking) | دو چشمکزن مستقل (Two Blinkers) | millis بهجای delay |
| ۱۶ | موتور و ترانزیستور (DC Motor and Transistor) | درایور ترانزیستوری موتور (Transistor Motor Driver) | ترانزیستور، دیود هرزگرد |
| ۱۷ | رله (Relay) | رله و لامپ (Relay Lamp) | NO و NC، ایمنی |
| ۱۸ | قفل رمزدار (Keypad Lock) | قفل رمزدار با کیپد (Keypad Password Lock) | رشته، ماشین حالت |
| ۱۹ | سلام ESP32 (Hello ESP32) | چشمکزن و وایفای ESP32 (ESP32 Wi-Fi Blink) | ۳٫۳ ولت، WiFi.begin، IP |
| ۲۰ | پروژهی پایانی (Capstone) | LED از مرورگر (Web-controlled LED) | وبسرور، HTTP |
اگر کلاس سریعتر جلو رفت، مدارهای بیشتر برای جلسههای اضافه در ۴۰ مدار آردوینو برای ووکوی هست. همهی ۱۰۰ درس آردوینوی تینکرکد فارسی هم رایگان است و از فهرست درسها شروع میشود؛ نسخهی تینکرکدی همین سرفصل را در درسهای مدار نوشتهایم. بقیهی مقالههای مدار در مدار و شبیهسازی مدار جمع شدهاند.
جلسهی اول را همین حالا شروع کن 🎓سؤالهای رایج
برای کلاس آردوینو با شبیهساز چند جلسه لازم است؟
با جلسههای ۶۰ دقیقهای، حدود ۲۰ جلسه برای رسیدن از اولین LED تا یک پروژهی سادهی اینترنت اشیا کافی است. برای بچههای کوچکتر بهتر است اول چند جلسه مدار بدون کد کار کنند.
برای درس مدار با ووکوی باید قطعه بخرم؟
نه. همهی ۲۰ جلسه در شبیهساز اجرا میشود و هر دانشآموز فقط یک مرورگر لازم دارد. اگر بودجه داری، یک کیت واقعی برای نمایش در کلاس کافی است.
از چه سنی میشود این سرفصل را شروع کرد؟
از حدود ۱۱ یا ۱۲ سالگی که تایپ و منطق شرط را راحت یاد میگیرند. برای سنین پایینتر دورهی برق بدون کد یا کد بلوکی مناسبتر است.
دانشآموزان کارشان را چطور تحویل بدهند؟
در ووکوی پروژه را ذخیره کنند و لینکش را بفرستند. در شبیهساز فارسی هم لینک اشتراک هست و دانشآموزهای یک کلاس میتوانند با کد کلاس وارد شوند و کارشان را برای معلم تحویل بدهند.