💡 اولین پروژهی ESP32 در شبیهساز: چشمکزن دو LED، بدون خرید برد
اگر اسم ووکوی (Wokwi) را شنیدهای، میدانی که میشود ESP32 را بدون خریدن برد، داخل مرورگر برنامهنویسی کرد. در این آموزش اولین قدم آموزش ESP32 را با هم برمیداریم: یک چشمکزن دوتایی. چراغ آبی روی خود برد و یک LED که ما وصل میکنیم، نوبتی روشن و خاموش میشوند و در سریال مانیتور هم شمارش چشمکها را میبینیم. همهچیز را در شبیهساز ESP32 فارسی امتحان میکنیم.
ESP32 چیست و چرا با آن شروع کنیم؟
ESP32 یک برد کوچک و ارزان است که از آردوینو اونو خیلی سریعتر است و مهمتر از همه وایفای و بلوتوث دارد. یعنی بعد از همین چشمکزن میتوانی کمکم سراغ پروژههای اینترنت اشیا بروی: روشن کردن چراغ با گوشی، دیدن دمای اتاق در مرورگر و داشبورد خانهی هوشمند. خبر خوب این است که زبانش همان زبان آردوینو است؛ setup و loop و digitalWrite دقیقاً هماناند.
چه میسازیم و چه قطعههایی لازم است؟
- یک برد ESP32
- یک LED قرمز
- یک مقاومت ۲۲۰ اهم
- دو سیم جامپر (در شبیهساز با کلیک روی پایهها کشیده میشوند)
سیمکشی
| از | به | توضیح |
|---|---|---|
| پین GPIO4 برد | یک سر مقاومت ۲۲۰ اهم | مقاومت جلوی جریان زیاد را میگیرد |
| سر دیگر مقاومت | پایهی بلند LED (آند) | پایهی بلند همیشه سمت مثبت است |
| پایهی کوتاه LED (کاتد) | GND برد | مسیر برگشت جریان |
| LED آبی روی برد | GPIO2 (از قبل وصل است) | نیازی به سیم ندارد |
کد کامل
// First ESP32 project: two LEDs take turns.
const int BUILTIN = 2; // the blue LED on the board
const int LED = 4; // our LED, through a 220 ohm resistor
int count = 0;
void setup() {
Serial.begin(115200); // ESP32 talks fast: set the monitor to 115200
pinMode(BUILTIN, OUTPUT);
pinMode(LED, OUTPUT);
Serial.println("Hello from ESP32!");
}
void loop() {
digitalWrite(BUILTIN, HIGH);
digitalWrite(LED, LOW);
delay(500);
digitalWrite(BUILTIN, LOW);
digitalWrite(LED, HIGH);
delay(500);
count++;
Serial.print("blink ");
Serial.println(count);
}
توضیح خط به خط
const int BUILTIN = 2;روی بیشتر بردهای ESP32، چراغ آبی کوچک روی برد به GPIO2 وصل است. با یک اسم خوانا صدایش میزنیم.Serial.begin(115200);سرعت گفتوگو با کامپیوتر. در آردوینو اونو معمولاً ۹۶۰۰ میگذاریم، ولی برای ESP32 عدد ۱۱۵۲۰۰ رایج است. سرعت سریال مانیتور هم باید همین باشد.pinMode(LED, OUTPUT);به برد میگوییم این پین قرار است برق بدهد، نه اینکه چیزی بخواند.- در
loopهر بار یکی راHIGHو دیگری راLOWمیکنیم، نیم ثانیه صبر میکنیم و جایشان را عوض میکنیم. همین «نوبتی» بودن است که حالت چشمک دوتایی میسازد. count++و دو خط بعدش فقط برای این است که در سریال مانیتور ببینی برنامه واقعاً دارد کار میکند.
500 را به 100 تغییر بده و ببین چشمکها چقدر تند میشوند. بعد سعی کن یک LED سوم روی GPIO5 اضافه کنی.اجرا در شبیهساز
این مدار بهصورت آماده در تینکرکد فارسی هست: پروژهی «سلام ESP32 — چشمک دو LED». باز کردن و خواندن مثالهای آماده رایگان است؛ برای اجرای خود برد ESP32 به اشتراک Plus نیاز داری. اگر دوست داری قدمبهقدم و با تمرین جلو بروی، درس «سلام ESP32» را ببین. اگر wokwi.com برایت باز نمیشود یا کند است، این شبیهساز روی اینترنت ملی و حتی روی گوشی هم کار میکند.
اشکالهای رایج
- در سریال مانیتور حروف عجیب و درهم میبینی: سرعت مانیتور روی ۱۱۵۲۰۰ نیست.
- LED روشن نمیشود: پایههای LED برعکس است. پایهی بلند باید سمت مقاومت و GPIO4 باشد.
- LED یک لحظه خیلی پرنور میشود و میسوزد: مقاومت را فراموش کردهای. هیچوقت LED را مستقیم به پین وصل نکن.
- از پین ۵ ولت برای LED استفاده کردهای: پینهای ESP32 با ۳٫۳ ولت کار میکنند. LED را به پین GPIO وصل کن، نه به پین 5V.
قدم بعدی؟ کم و زیاد کردن نور بهجای فقط روشن و خاموش: PWM روی ESP32 با ledc. همهی آموزشهای این برد هم در صفحهی شبیهساز ESP32 جمع شدهاند و اگر تازهکاری، آموزش شروع کار با شبیهساز را هم ببین.
چشمکزن ESP32 را در تینکرکد فارسی باز کن 🚀