تصویر شاخص نمایش مقدار روی LCD کاراکتری

جلسه 15: MQTT و انتشار داده ESP32

در جلسهٔ 15 دورهٔ آموزش ESP32 به سراغ «MQTT و انتشار داده» می‌رویم. هدف این است که مفهوم را از مشاهدهٔ واقعی جدا نکنیم: مفهوم broker، topic، publish و subscribe و بازاتصال. این مسیر برای کسی طراحی شده که می‌خواهد با برد ESP32 یک پروژه متصل، قابل توضیح و قابل آزمایش بسازد، نه اینکه فقط چند دستور را حفظ کند. هر بار نسخه دقیق قطعه و ابزار خود را ثبت کنید؛ نمونهٔ ESP32 DevKit در مواردی به دیتاشیت خودش نیاز دارد.

هدف یادگیری و پیش‌نیاز

عکس قطعه مرتبط با MQTT و انتشار داده
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Weather Gadget 07.jpg. این تصویر نقشه اتصال نیست.

پس از این جلسه باید بتوانید مفهوم broker، topic، publish و subscribe و بازاتصال را با زبان خود توضیح دهید، یک آزمون کوچک طراحی کنید و نتیجه را با انتظار مقایسه کنید. پیش‌نیاز شما شناخت پایه‌های تغذیه، روش خاموش‌کردن امن منبع و توانایی خواندن نقشه پایه‌ها از دیتاشیت است. اگر یکی از این موارد را هنوز انجام نداده‌اید، ابتدا جلسه‌های قبل را مرور کنید. نام برد، نسخه برد و نوع ابزار را کنار یادداشت آزمایش بنویسید؛ این سه داده در عیب‌یابی بعدی بسیار کمک می‌کنند.

وسایل و آماده‌سازی

برد ESP32 سازگار، کابل داده USB، منبع تغذیه مناسب، بردبورد و مولتی‌متر و قطعه مرتبط با «MQTT و انتشار داده» را آماده کنید. پیش از هر جابه‌جایی سیم، تغذیه را قطع کنید. جهت قرارگیری برد، زمین و پایه‌های GPIO مورد استفاده را بر اساس دیتاشیت همان قطعه بررسی کنید. عکس‌های این مقاله برای شناخت ظاهری‌اند و نقشه اتصال نیستند.

اصل فنی به زبان ساده

مفهوم broker، topic، publish و subscribe و بازاتصال. در ESP32 نتیجهٔ نرم‌افزار به تنظیم برد، کتابخانه و سخت‌افزار وابسته است. اگر مدل برد یا نسخه بسته Espressif در محیط توسعه با سخت‌افزار فرق داشته باشد، برخی رابط‌ها درست کار نمی‌کنند. اگر پایه‌ای هم‌زمان برای چند وظیفه استفاده شود، باید اولویت آن‌ها را مشخص کرد. محدودهٔ ولتاژ و جریان را از جدول الکتریکی دیتاشیت بخوانید و هیچ خروجی را جای منبع تغذیه بار پرمصرف به کار نبرید. یک فرض را در هر مرحله تغییر دهید تا علت هر نتیجه معلوم بماند.

عکس قطعه مرتبط با MQTT و انتشار داده
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Temperature sensor.jpg. این تصویر نقشه اتصال نیست.

اجرای آزمایش مرحله به مرحله

  1. سؤال آزمون را بنویسید: «داده نمونه را به broker آزمایشی تحت کنترل خود بفرستید».
  2. قطعات و اتصالات را با منبع خاموش و با راهنمای همان برد آماده کنید.
  3. ولتاژ تغذیه و زمین مشترک را پیش از پروگرام اندازه بگیرید.
  4. اسکچ یا تنظیم لازم را تنها برای همین بخش اجرا کنید و ورودی را تغییر دهید.
  5. نتیجه را در جدول «ورودی، انتظار، مشاهده، توضیح» ثبت کنید.

داده نمونه را به broker آزمایشی تحت کنترل خود بفرستید. بار اول از یک وضعیت ساده و بدون قطعات اضافی شروع کنید. بار دوم مقدار ورودی یا شرط آزمایش را تغییر دهید تا تفاوت نتیجه را ببینید. بار سوم همان آزمایش را بعد از قطع و وصل تغذیه تکرار کنید؛ پایداری رفتار از یک مشاهده تصادفی ارزشمندتر است. هنگام تغییر تنظیمات برنامه، نام فایل و تاریخ آزمایش را ثبت کنید تا نسخه‌های مختلف با هم اشتباه نشوند.

چه نتیجه‌ای درست است؟

پیام در topic درست دریافت می‌شود. انتظار خود را پیش از اجرای آزمایش بنویسید و بعد داده واقعی را کنار آن قرار دهید. اگر مشاهده و انتظار تفاوت دارند، ابتدا دستگاه اندازه‌گیری و تغذیه را بررسی کنید، سپس سراغ برنامه بروید. صرف روشن شدن LED یا نمایش یک عدد نشانه صحت کامل سیستم نیست؛ برای هر ورودی دست‌کم دو حالت متفاوت را امتحان کنید و مقدارهای مرزی را نیز در نظر بگیرید.

عکس قطعه مرتبط با MQTT و انتشار داده
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — ESP32 Espressif ESP-WROOM-32 Dev Board (2).jpg. این تصویر نقشه اتصال نیست.

خطاهای رایج و روش پیدا کردن علت

ارسال اطلاعات خصوصی به broker عمومی مناسب نیست. برای عیب‌یابی، اول وجود و مقدار تغذیه را در محل برد بسنجید، بعد زمین، وضعیت کابل و انتخاب برد را بررسی کنید. پس از آن اتصالات رابط و نام پایه‌ها را با راهنمای رسمی برد تطبیق دهید. اگر پیام خطای ابزار دارید، متن دقیق پیام و تنظیمات پروژه را نگه دارید. تغییر هم‌زمان چند سیم یا چند سطر برنامه باعث می‌شود نفهمید کدام تغییر مشکل را حل کرده است.

تمرین تکمیلی و معیار ارزیابی

تمرین این جلسه آن است که آزمایش «MQTT و انتشار داده» را یک بار با شرایط اولیه و یک بار با یک تغییر کنترل‌شده اجرا کنید. در گزارش کوتاه خود هدف، قطعات، نسخه برد، پیش‌بینی، نتیجه و علت تفاوت احتمالی را بنویسید. معیار موفقیت فقط گرفتن خروجی نیست: باید بتوانید توضیح دهید چرا نتیجه به دست آمد، کدام بخش آن را اندازه گرفتید و برای تکرار آزمون چه تنظیماتی لازم است. اگر به نتیجه نرسیدید، گزارش خطا هنوز یک خروجی آموزشی مفید است.

نکته طراحی برای پروژه واقعی

در محصول واقعی، «MQTT و انتشار داده» باید با دیگر بخش‌ها هماهنگ شود. مصرف حافظه، زمان پاسخ، خطای اندازه‌گیری، نویز و رفتار هنگام روشن شدن دوباره را جدا بررسی کنید. پایه‌هایی که نقش جایگزین دارند را روی نقشه پروژه علامت بزنید تا هنگام افزودن نمایشگر یا ارتباط سریال تداخل ایجاد نشود. قبل از مونتاژ دائمی، یک آزمایش کوچک با همان نوع تغذیه و همان قطعات نهایی انجام دهید. عکس نمایشی قطعات جایگزین نقشه و دیتاشیت نیست.

پرسش‌های کوتاه

آیا همین مراحل برای همه نسخه‌ها یکسان است؟ خیر؛ نام دقیق برد، بسته‌بندی و دیتاشیت را ملاک بگیرید. آیا بدون ابزار اندازه‌گیری می‌توان نتیجه را تأیید کرد؟ برای بعضی رفتارها مشاهده اولیه ممکن است، اما برای ولتاژ، زمان‌بندی و خطاهای متناوب اندازه‌گیری لازم است. اگر آزمایش کار نکرد از کجا شروع کنم؟ از تغذیه و زمین و مدل برد شروع کنید و سپس پیام آپلود، نسخه کتابخانه و برنامه را بررسی کنید.

جمع‌بندی و ادامه مسیر

در این درس، «MQTT و انتشار داده» را به یک پرسش قابل آزمون تبدیل کردیم و معیار مشاهده را مشخص کردیم. نتیجهٔ خود را با یک عکس از چیدمان قطعات، فایل کد یا تنظیمات و جدول اندازه‌گیری نگه دارید. جلسه بعد بر همین نتیجه تکیه می‌کند؛ اگر خروجی هنوز پایدار نیست، قبل از رفتن به بخش بعدی علت را پیدا کنید. پیوندهای دوره: جلسه قبل جلسه بعد.

منبع فنی: راهنمای رسمی Arduino core for ESP32 از Espressif. تفاوت مدل و نسخه بسته را بررسی کنید.

ادامه مطلب
تصویر شاخص کنترل سرووموتور با کتابخانه Servo

جلسه 14: ساخت پیام JSON برای حسگر – ESP32

در جلسهٔ 14 دورهٔ آموزش ESP32 به سراغ «ساخت پیام JSON برای حسگر» می‌رویم. هدف این است که مفهوم را از مشاهدهٔ واقعی جدا نکنیم: کلید و مقدار JSON، واحد اندازه‌گیری و اعتبارسنجی پیام. این مسیر برای کسی طراحی شده که می‌خواهد با برد ESP32 یک پروژه متصل، قابل توضیح و قابل آزمایش بسازد، نه اینکه فقط چند دستور را حفظ کند. هر بار نسخه دقیق قطعه و ابزار خود را ثبت کنید؛ نمونهٔ ESP32 DevKit در مواردی به دیتاشیت خودش نیاز دارد.

هدف یادگیری و پیش‌نیاز

عکس قطعه مرتبط با ساخت پیام JSON برای حسگر
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — ESP M2 dev board szdoit IMGP2978 smial wp.jpg. این تصویر نقشه اتصال نیست.

پس از این جلسه باید بتوانید کلید و مقدار JSON، واحد اندازه‌گیری و اعتبارسنجی پیام را با زبان خود توضیح دهید، یک آزمون کوچک طراحی کنید و نتیجه را با انتظار مقایسه کنید. پیش‌نیاز شما شناخت پایه‌های تغذیه، روش خاموش‌کردن امن منبع و توانایی خواندن نقشه پایه‌ها از دیتاشیت است. اگر یکی از این موارد را هنوز انجام نداده‌اید، ابتدا جلسه‌های قبل را مرور کنید. نام برد، نسخه برد و نوع ابزار را کنار یادداشت آزمایش بنویسید؛ این سه داده در عیب‌یابی بعدی بسیار کمک می‌کنند.

وسایل و آماده‌سازی

برد ESP32 سازگار، کابل داده USB، منبع تغذیه مناسب، بردبورد و مولتی‌متر و قطعه مرتبط با «ساخت پیام JSON برای حسگر» را آماده کنید. پیش از هر جابه‌جایی سیم، تغذیه را قطع کنید. جهت قرارگیری برد، زمین و پایه‌های GPIO مورد استفاده را بر اساس دیتاشیت همان قطعه بررسی کنید. عکس‌های این مقاله برای شناخت ظاهری‌اند و نقشه اتصال نیستند.

اصل فنی به زبان ساده

کلید و مقدار JSON، واحد اندازه‌گیری و اعتبارسنجی پیام. در ESP32 نتیجهٔ نرم‌افزار به تنظیم برد، کتابخانه و سخت‌افزار وابسته است. اگر مدل برد یا نسخه بسته Espressif در محیط توسعه با سخت‌افزار فرق داشته باشد، برخی رابط‌ها درست کار نمی‌کنند. اگر پایه‌ای هم‌زمان برای چند وظیفه استفاده شود، باید اولویت آن‌ها را مشخص کرد. محدودهٔ ولتاژ و جریان را از جدول الکتریکی دیتاشیت بخوانید و هیچ خروجی را جای منبع تغذیه بار پرمصرف به کار نبرید. یک فرض را در هر مرحله تغییر دهید تا علت هر نتیجه معلوم بماند.

عکس قطعه مرتبط با ساخت پیام JSON برای حسگر
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — DS3231 based RTC module.jpg. این تصویر نقشه اتصال نیست.

اجرای آزمایش مرحله به مرحله

  1. سؤال آزمون را بنویسید: «یک پیام دما و زمان نمونه‌برداری بسازید و ساختار آن را بررسی کنید».
  2. قطعات و اتصالات را با منبع خاموش و با راهنمای همان برد آماده کنید.
  3. ولتاژ تغذیه و زمین مشترک را پیش از پروگرام اندازه بگیرید.
  4. اسکچ یا تنظیم لازم را تنها برای همین بخش اجرا کنید و ورودی را تغییر دهید.
  5. نتیجه را در جدول «ورودی، انتظار، مشاهده، توضیح» ثبت کنید.

یک پیام دما و زمان نمونه‌برداری بسازید و ساختار آن را بررسی کنید. بار اول از یک وضعیت ساده و بدون قطعات اضافی شروع کنید. بار دوم مقدار ورودی یا شرط آزمایش را تغییر دهید تا تفاوت نتیجه را ببینید. بار سوم همان آزمایش را بعد از قطع و وصل تغذیه تکرار کنید؛ پایداری رفتار از یک مشاهده تصادفی ارزشمندتر است. هنگام تغییر تنظیمات برنامه، نام فایل و تاریخ آزمایش را ثبت کنید تا نسخه‌های مختلف با هم اشتباه نشوند.

چه نتیجه‌ای درست است؟

گیرنده می‌تواند داده معتبر را تفسیر کند. انتظار خود را پیش از اجرای آزمایش بنویسید و بعد داده واقعی را کنار آن قرار دهید. اگر مشاهده و انتظار تفاوت دارند، ابتدا دستگاه اندازه‌گیری و تغذیه را بررسی کنید، سپس سراغ برنامه بروید. صرف روشن شدن LED یا نمایش یک عدد نشانه صحت کامل سیستم نیست؛ برای هر ورودی دست‌کم دو حالت متفاوت را امتحان کنید و مقدارهای مرزی را نیز در نظر بگیرید.

عکس قطعه مرتبط با ساخت پیام JSON برای حسگر
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — ESP32 Espressif ESP-WROOM-32 Dev Board.jpg. این تصویر نقشه اتصال نیست.

خطاهای رایج و روش پیدا کردن علت

واحد مبهم یا مقدار نامعتبر داده را گمراه‌کننده می‌کند. برای عیب‌یابی، اول وجود و مقدار تغذیه را در محل برد بسنجید، بعد زمین، وضعیت کابل و انتخاب برد را بررسی کنید. پس از آن اتصالات رابط و نام پایه‌ها را با راهنمای رسمی برد تطبیق دهید. اگر پیام خطای ابزار دارید، متن دقیق پیام و تنظیمات پروژه را نگه دارید. تغییر هم‌زمان چند سیم یا چند سطر برنامه باعث می‌شود نفهمید کدام تغییر مشکل را حل کرده است.

تمرین تکمیلی و معیار ارزیابی

تمرین این جلسه آن است که آزمایش «ساخت پیام JSON برای حسگر» را یک بار با شرایط اولیه و یک بار با یک تغییر کنترل‌شده اجرا کنید. در گزارش کوتاه خود هدف، قطعات، نسخه برد، پیش‌بینی، نتیجه و علت تفاوت احتمالی را بنویسید. معیار موفقیت فقط گرفتن خروجی نیست: باید بتوانید توضیح دهید چرا نتیجه به دست آمد، کدام بخش آن را اندازه گرفتید و برای تکرار آزمون چه تنظیماتی لازم است. اگر به نتیجه نرسیدید، گزارش خطا هنوز یک خروجی آموزشی مفید است.

نکته طراحی برای پروژه واقعی

در محصول واقعی، «ساخت پیام JSON برای حسگر» باید با دیگر بخش‌ها هماهنگ شود. مصرف حافظه، زمان پاسخ، خطای اندازه‌گیری، نویز و رفتار هنگام روشن شدن دوباره را جدا بررسی کنید. پایه‌هایی که نقش جایگزین دارند را روی نقشه پروژه علامت بزنید تا هنگام افزودن نمایشگر یا ارتباط سریال تداخل ایجاد نشود. قبل از مونتاژ دائمی، یک آزمایش کوچک با همان نوع تغذیه و همان قطعات نهایی انجام دهید. عکس نمایشی قطعات جایگزین نقشه و دیتاشیت نیست.

پرسش‌های کوتاه

آیا همین مراحل برای همه نسخه‌ها یکسان است؟ خیر؛ نام دقیق برد، بسته‌بندی و دیتاشیت را ملاک بگیرید. آیا بدون ابزار اندازه‌گیری می‌توان نتیجه را تأیید کرد؟ برای بعضی رفتارها مشاهده اولیه ممکن است، اما برای ولتاژ، زمان‌بندی و خطاهای متناوب اندازه‌گیری لازم است. اگر آزمایش کار نکرد از کجا شروع کنم؟ از تغذیه و زمین و مدل برد شروع کنید و سپس پیام آپلود، نسخه کتابخانه و برنامه را بررسی کنید.

جمع‌بندی و ادامه مسیر

در این درس، «ساخت پیام JSON برای حسگر» را به یک پرسش قابل آزمون تبدیل کردیم و معیار مشاهده را مشخص کردیم. نتیجهٔ خود را با یک عکس از چیدمان قطعات، فایل کد یا تنظیمات و جدول اندازه‌گیری نگه دارید. جلسه بعد بر همین نتیجه تکیه می‌کند؛ اگر خروجی هنوز پایدار نیست، قبل از رفتن به بخش بعدی علت را پیدا کنید. پیوندهای دوره: جلسه قبل جلسه بعد.

منبع فنی: راهنمای رسمی Arduino core for ESP32 از Espressif. تفاوت مدل و نسخه بسته را بررسی کنید.

ادامه مطلب
تصویر شاخص خروجی PWM و کنترل روشنایی LED

جلسه 13: درخواست HTTP و دریافت داده – ESP32

در جلسهٔ 13 دورهٔ آموزش ESP32 به سراغ «درخواست HTTP و دریافت داده» می‌رویم. هدف این است که مفهوم را از مشاهدهٔ واقعی جدا نکنیم: نقش client، کد پاسخ، timeout و مدیریت خطای شبکه. این مسیر برای کسی طراحی شده که می‌خواهد با برد ESP32 یک پروژه متصل، قابل توضیح و قابل آزمایش بسازد، نه اینکه فقط چند دستور را حفظ کند. هر بار نسخه دقیق قطعه و ابزار خود را ثبت کنید؛ نمونهٔ ESP32 DevKit در مواردی به دیتاشیت خودش نیاز دارد.

هدف یادگیری و پیش‌نیاز

عکس قطعه مرتبط با درخواست HTTP و دریافت داده
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — ESP M2 dev board szdoit IMGP2944 smial wp.jpg. این تصویر نقشه اتصال نیست.

پس از این جلسه باید بتوانید نقش client، کد پاسخ، timeout و مدیریت خطای شبکه را با زبان خود توضیح دهید، یک آزمون کوچک طراحی کنید و نتیجه را با انتظار مقایسه کنید. پیش‌نیاز شما شناخت پایه‌های تغذیه، روش خاموش‌کردن امن منبع و توانایی خواندن نقشه پایه‌ها از دیتاشیت است. اگر یکی از این موارد را هنوز انجام نداده‌اید، ابتدا جلسه‌های قبل را مرور کنید. نام برد، نسخه برد و نوع ابزار را کنار یادداشت آزمایش بنویسید؛ این سه داده در عیب‌یابی بعدی بسیار کمک می‌کنند.

وسایل و آماده‌سازی

برد ESP32 سازگار، کابل داده USB، منبع تغذیه مناسب، بردبورد و مولتی‌متر و قطعه مرتبط با «درخواست HTTP و دریافت داده» را آماده کنید. پیش از هر جابه‌جایی سیم، تغذیه را قطع کنید. جهت قرارگیری برد، زمین و پایه‌های GPIO مورد استفاده را بر اساس دیتاشیت همان قطعه بررسی کنید. عکس‌های این مقاله برای شناخت ظاهری‌اند و نقشه اتصال نیستند.

اصل فنی به زبان ساده

نقش client، کد پاسخ، timeout و مدیریت خطای شبکه. در ESP32 نتیجهٔ نرم‌افزار به تنظیم برد، کتابخانه و سخت‌افزار وابسته است. اگر مدل برد یا نسخه بسته Espressif در محیط توسعه با سخت‌افزار فرق داشته باشد، برخی رابط‌ها درست کار نمی‌کنند. اگر پایه‌ای هم‌زمان برای چند وظیفه استفاده شود، باید اولویت آن‌ها را مشخص کرد. محدودهٔ ولتاژ و جریان را از جدول الکتریکی دیتاشیت بخوانید و هیچ خروجی را جای منبع تغذیه بار پرمصرف به کار نبرید. یک فرض را در هر مرحله تغییر دهید تا علت هر نتیجه معلوم بماند.

عکس قطعه مرتبط با درخواست HTTP و دریافت داده
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — MicroSD card connected to Arduino nano with OLED display.jpg. این تصویر نقشه اتصال نیست.

اجرای آزمایش مرحله به مرحله

  1. سؤال آزمون را بنویسید: «به یک سرویس آزمایشی مجاز درخواست بفرستید و کد پاسخ را ثبت کنید».
  2. قطعات و اتصالات را با منبع خاموش و با راهنمای همان برد آماده کنید.
  3. ولتاژ تغذیه و زمین مشترک را پیش از پروگرام اندازه بگیرید.
  4. اسکچ یا تنظیم لازم را تنها برای همین بخش اجرا کنید و ورودی را تغییر دهید.
  5. نتیجه را در جدول «ورودی، انتظار، مشاهده، توضیح» ثبت کنید.

به یک سرویس آزمایشی مجاز درخواست بفرستید و کد پاسخ را ثبت کنید. بار اول از یک وضعیت ساده و بدون قطعات اضافی شروع کنید. بار دوم مقدار ورودی یا شرط آزمایش را تغییر دهید تا تفاوت نتیجه را ببینید. بار سوم همان آزمایش را بعد از قطع و وصل تغذیه تکرار کنید؛ پایداری رفتار از یک مشاهده تصادفی ارزشمندتر است. هنگام تغییر تنظیمات برنامه، نام فایل و تاریخ آزمایش را ثبت کنید تا نسخه‌های مختلف با هم اشتباه نشوند.

چه نتیجه‌ای درست است؟

موفقیت و خطای شبکه جدا گزارش می‌شوند. انتظار خود را پیش از اجرای آزمایش بنویسید و بعد داده واقعی را کنار آن قرار دهید. اگر مشاهده و انتظار تفاوت دارند، ابتدا دستگاه اندازه‌گیری و تغذیه را بررسی کنید، سپس سراغ برنامه بروید. صرف روشن شدن LED یا نمایش یک عدد نشانه صحت کامل سیستم نیست؛ برای هر ورودی دست‌کم دو حالت متفاوت را امتحان کنید و مقدارهای مرزی را نیز در نظر بگیرید.

عکس قطعه مرتبط با درخواست HTTP و دریافت داده
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — ESP32 Dev Board.jpg. این تصویر نقشه اتصال نیست.

خطاهای رایج و روش پیدا کردن علت

درخواست بی‌پایان یا بدون timeout برنامه را معطل می‌کند. برای عیب‌یابی، اول وجود و مقدار تغذیه را در محل برد بسنجید، بعد زمین، وضعیت کابل و انتخاب برد را بررسی کنید. پس از آن اتصالات رابط و نام پایه‌ها را با راهنمای رسمی برد تطبیق دهید. اگر پیام خطای ابزار دارید، متن دقیق پیام و تنظیمات پروژه را نگه دارید. تغییر هم‌زمان چند سیم یا چند سطر برنامه باعث می‌شود نفهمید کدام تغییر مشکل را حل کرده است.

تمرین تکمیلی و معیار ارزیابی

تمرین این جلسه آن است که آزمایش «درخواست HTTP و دریافت داده» را یک بار با شرایط اولیه و یک بار با یک تغییر کنترل‌شده اجرا کنید. در گزارش کوتاه خود هدف، قطعات، نسخه برد، پیش‌بینی، نتیجه و علت تفاوت احتمالی را بنویسید. معیار موفقیت فقط گرفتن خروجی نیست: باید بتوانید توضیح دهید چرا نتیجه به دست آمد، کدام بخش آن را اندازه گرفتید و برای تکرار آزمون چه تنظیماتی لازم است. اگر به نتیجه نرسیدید، گزارش خطا هنوز یک خروجی آموزشی مفید است.

نکته طراحی برای پروژه واقعی

در محصول واقعی، «درخواست HTTP و دریافت داده» باید با دیگر بخش‌ها هماهنگ شود. مصرف حافظه، زمان پاسخ، خطای اندازه‌گیری، نویز و رفتار هنگام روشن شدن دوباره را جدا بررسی کنید. پایه‌هایی که نقش جایگزین دارند را روی نقشه پروژه علامت بزنید تا هنگام افزودن نمایشگر یا ارتباط سریال تداخل ایجاد نشود. قبل از مونتاژ دائمی، یک آزمایش کوچک با همان نوع تغذیه و همان قطعات نهایی انجام دهید. عکس نمایشی قطعات جایگزین نقشه و دیتاشیت نیست.

پرسش‌های کوتاه

آیا همین مراحل برای همه نسخه‌ها یکسان است؟ خیر؛ نام دقیق برد، بسته‌بندی و دیتاشیت را ملاک بگیرید. آیا بدون ابزار اندازه‌گیری می‌توان نتیجه را تأیید کرد؟ برای بعضی رفتارها مشاهده اولیه ممکن است، اما برای ولتاژ، زمان‌بندی و خطاهای متناوب اندازه‌گیری لازم است. اگر آزمایش کار نکرد از کجا شروع کنم؟ از تغذیه و زمین و مدل برد شروع کنید و سپس پیام آپلود، نسخه کتابخانه و برنامه را بررسی کنید.

جمع‌بندی و ادامه مسیر

در این درس، «درخواست HTTP و دریافت داده» را به یک پرسش قابل آزمون تبدیل کردیم و معیار مشاهده را مشخص کردیم. نتیجهٔ خود را با یک عکس از چیدمان قطعات، فایل کد یا تنظیمات و جدول اندازه‌گیری نگه دارید. جلسه بعد بر همین نتیجه تکیه می‌کند؛ اگر خروجی هنوز پایدار نیست، قبل از رفتن به بخش بعدی علت را پیدا کنید. پیوندهای دوره: جلسه قبل جلسه بعد.

منبع فنی: راهنمای رسمی Arduino core for ESP32 از Espressif. تفاوت مدل و نسخه بسته را بررسی کنید.

ادامه مطلب
تصویر شاخص تبدیل و کالیبراسیون داده حسگر

جلسه 12: وب‌سرور محلی با ESP32

در جلسهٔ 12 دورهٔ آموزش ESP32 به سراغ «وب‌سرور محلی با ESP32» می‌رویم. هدف این است که مفهوم را از مشاهدهٔ واقعی جدا نکنیم: درخواست HTTP، پاسخ کوتاه، نمایش وضعیت و محدودیت شبکه محلی. این مسیر برای کسی طراحی شده که می‌خواهد با برد ESP32 یک پروژه متصل، قابل توضیح و قابل آزمایش بسازد، نه اینکه فقط چند دستور را حفظ کند. هر بار نسخه دقیق قطعه و ابزار خود را ثبت کنید؛ نمونهٔ ESP32 DevKit در مواردی به دیتاشیت خودش نیاز دارد.

هدف یادگیری و پیش‌نیاز

عکس قطعه مرتبط با وب‌سرور محلی با ESP32
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — ESP-32 Camera.jpg. این تصویر نقشه اتصال نیست.

پس از این جلسه باید بتوانید درخواست HTTP، پاسخ کوتاه، نمایش وضعیت و محدودیت شبکه محلی را با زبان خود توضیح دهید، یک آزمون کوچک طراحی کنید و نتیجه را با انتظار مقایسه کنید. پیش‌نیاز شما شناخت پایه‌های تغذیه، روش خاموش‌کردن امن منبع و توانایی خواندن نقشه پایه‌ها از دیتاشیت است. اگر یکی از این موارد را هنوز انجام نداده‌اید، ابتدا جلسه‌های قبل را مرور کنید. نام برد، نسخه برد و نوع ابزار را کنار یادداشت آزمایش بنویسید؛ این سه داده در عیب‌یابی بعدی بسیار کمک می‌کنند.

وسایل و آماده‌سازی

برد ESP32 سازگار، کابل داده USB، منبع تغذیه مناسب، بردبورد و مولتی‌متر و قطعه مرتبط با «وب‌سرور محلی با ESP32» را آماده کنید. پیش از هر جابه‌جایی سیم، تغذیه را قطع کنید. جهت قرارگیری برد، زمین و پایه‌های GPIO مورد استفاده را بر اساس دیتاشیت همان قطعه بررسی کنید. عکس‌های این مقاله برای شناخت ظاهری‌اند و نقشه اتصال نیستند.

اصل فنی به زبان ساده

درخواست HTTP، پاسخ کوتاه، نمایش وضعیت و محدودیت شبکه محلی. در ESP32 نتیجهٔ نرم‌افزار به تنظیم برد، کتابخانه و سخت‌افزار وابسته است. اگر مدل برد یا نسخه بسته Espressif در محیط توسعه با سخت‌افزار فرق داشته باشد، برخی رابط‌ها درست کار نمی‌کنند. اگر پایه‌ای هم‌زمان برای چند وظیفه استفاده شود، باید اولویت آن‌ها را مشخص کرد. محدودهٔ ولتاژ و جریان را از جدول الکتریکی دیتاشیت بخوانید و هیچ خروجی را جای منبع تغذیه بار پرمصرف به کار نبرید. یک فرض را در هر مرحله تغییر دهید تا علت هر نتیجه معلوم بماند.

عکس قطعه مرتبط با وب‌سرور محلی با ESP32
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — OLED display.jpg. این تصویر نقشه اتصال نیست.

اجرای آزمایش مرحله به مرحله

  1. سؤال آزمون را بنویسید: «یک صفحه وضعیت ساده روی LAN نمایش دهید».
  2. قطعات و اتصالات را با منبع خاموش و با راهنمای همان برد آماده کنید.
  3. ولتاژ تغذیه و زمین مشترک را پیش از پروگرام اندازه بگیرید.
  4. اسکچ یا تنظیم لازم را تنها برای همین بخش اجرا کنید و ورودی را تغییر دهید.
  5. نتیجه را در جدول «ورودی، انتظار، مشاهده، توضیح» ثبت کنید.

یک صفحه وضعیت ساده روی LAN نمایش دهید. بار اول از یک وضعیت ساده و بدون قطعات اضافی شروع کنید. بار دوم مقدار ورودی یا شرط آزمایش را تغییر دهید تا تفاوت نتیجه را ببینید. بار سوم همان آزمایش را بعد از قطع و وصل تغذیه تکرار کنید؛ پایداری رفتار از یک مشاهده تصادفی ارزشمندتر است. هنگام تغییر تنظیمات برنامه، نام فایل و تاریخ آزمایش را ثبت کنید تا نسخه‌های مختلف با هم اشتباه نشوند.

چه نتیجه‌ای درست است؟

وضعیت از مرورگر شبکه محلی قابل مشاهده است. انتظار خود را پیش از اجرای آزمایش بنویسید و بعد داده واقعی را کنار آن قرار دهید. اگر مشاهده و انتظار تفاوت دارند، ابتدا دستگاه اندازه‌گیری و تغذیه را بررسی کنید، سپس سراغ برنامه بروید. صرف روشن شدن LED یا نمایش یک عدد نشانه صحت کامل سیستم نیست؛ برای هر ورودی دست‌کم دو حالت متفاوت را امتحان کنید و مقدارهای مرزی را نیز در نظر بگیرید.

عکس قطعه مرتبط با وب‌سرور محلی با ESP32
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Immagine del termometro digitale.jpg. این تصویر نقشه اتصال نیست.

خطاهای رایج و روش پیدا کردن علت

در معرض اینترنت گذاشتن سرور آزمایشی بدون حفاظت خطرناک است. برای عیب‌یابی، اول وجود و مقدار تغذیه را در محل برد بسنجید، بعد زمین، وضعیت کابل و انتخاب برد را بررسی کنید. پس از آن اتصالات رابط و نام پایه‌ها را با راهنمای رسمی برد تطبیق دهید. اگر پیام خطای ابزار دارید، متن دقیق پیام و تنظیمات پروژه را نگه دارید. تغییر هم‌زمان چند سیم یا چند سطر برنامه باعث می‌شود نفهمید کدام تغییر مشکل را حل کرده است.

تمرین تکمیلی و معیار ارزیابی

تمرین این جلسه آن است که آزمایش «وب‌سرور محلی با ESP32» را یک بار با شرایط اولیه و یک بار با یک تغییر کنترل‌شده اجرا کنید. در گزارش کوتاه خود هدف، قطعات، نسخه برد، پیش‌بینی، نتیجه و علت تفاوت احتمالی را بنویسید. معیار موفقیت فقط گرفتن خروجی نیست: باید بتوانید توضیح دهید چرا نتیجه به دست آمد، کدام بخش آن را اندازه گرفتید و برای تکرار آزمون چه تنظیماتی لازم است. اگر به نتیجه نرسیدید، گزارش خطا هنوز یک خروجی آموزشی مفید است.

نکته طراحی برای پروژه واقعی

در محصول واقعی، «وب‌سرور محلی با ESP32» باید با دیگر بخش‌ها هماهنگ شود. مصرف حافظه، زمان پاسخ، خطای اندازه‌گیری، نویز و رفتار هنگام روشن شدن دوباره را جدا بررسی کنید. پایه‌هایی که نقش جایگزین دارند را روی نقشه پروژه علامت بزنید تا هنگام افزودن نمایشگر یا ارتباط سریال تداخل ایجاد نشود. قبل از مونتاژ دائمی، یک آزمایش کوچک با همان نوع تغذیه و همان قطعات نهایی انجام دهید. عکس نمایشی قطعات جایگزین نقشه و دیتاشیت نیست.

پرسش‌های کوتاه

آیا همین مراحل برای همه نسخه‌ها یکسان است؟ خیر؛ نام دقیق برد، بسته‌بندی و دیتاشیت را ملاک بگیرید. آیا بدون ابزار اندازه‌گیری می‌توان نتیجه را تأیید کرد؟ برای بعضی رفتارها مشاهده اولیه ممکن است، اما برای ولتاژ، زمان‌بندی و خطاهای متناوب اندازه‌گیری لازم است. اگر آزمایش کار نکرد از کجا شروع کنم؟ از تغذیه و زمین و مدل برد شروع کنید و سپس پیام آپلود، نسخه کتابخانه و برنامه را بررسی کنید.

جمع‌بندی و ادامه مسیر

در این درس، «وب‌سرور محلی با ESP32» را به یک پرسش قابل آزمون تبدیل کردیم و معیار مشاهده را مشخص کردیم. نتیجهٔ خود را با یک عکس از چیدمان قطعات، فایل کد یا تنظیمات و جدول اندازه‌گیری نگه دارید. جلسه بعد بر همین نتیجه تکیه می‌کند؛ اگر خروجی هنوز پایدار نیست، قبل از رفتن به بخش بعدی علت را پیدا کنید. پیوندهای دوره: جلسه قبل جلسه بعد.

منبع فنی: راهنمای رسمی Arduino core for ESP32 از Espressif. تفاوت مدل و نسخه بسته را بررسی کنید.

ادامه مطلب
تصویر شاخص خواندن ورودی آنالوگ با analogRead

جلسه 11: اتصال Wi-Fi به شبکه محلی – ESP32

در جلسهٔ 11 دورهٔ آموزش ESP32 به سراغ «اتصال Wi-Fi به شبکه محلی» می‌رویم. هدف این است که مفهوم را از مشاهدهٔ واقعی جدا نکنیم: حالت station، SSID و گذرواژه، وضعیت اتصال و راهبرد بازاتصال. این مسیر برای کسی طراحی شده که می‌خواهد با برد ESP32 یک پروژه متصل، قابل توضیح و قابل آزمایش بسازد، نه اینکه فقط چند دستور را حفظ کند. هر بار نسخه دقیق قطعه و ابزار خود را ثبت کنید؛ نمونهٔ ESP32 DevKit در مواردی به دیتاشیت خودش نیاز دارد.

هدف یادگیری و پیش‌نیاز

عکس قطعه مرتبط با اتصال Wi-Fi به شبکه محلی
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — ESP32 (30258172944).jpg. این تصویر نقشه اتصال نیست.

پس از این جلسه باید بتوانید حالت station، SSID و گذرواژه، وضعیت اتصال و راهبرد بازاتصال را با زبان خود توضیح دهید، یک آزمون کوچک طراحی کنید و نتیجه را با انتظار مقایسه کنید. پیش‌نیاز شما شناخت پایه‌های تغذیه، روش خاموش‌کردن امن منبع و توانایی خواندن نقشه پایه‌ها از دیتاشیت است. اگر یکی از این موارد را هنوز انجام نداده‌اید، ابتدا جلسه‌های قبل را مرور کنید. نام برد، نسخه برد و نوع ابزار را کنار یادداشت آزمایش بنویسید؛ این سه داده در عیب‌یابی بعدی بسیار کمک می‌کنند.

وسایل و آماده‌سازی

برد ESP32 سازگار، کابل داده USB، منبع تغذیه مناسب، بردبورد و مولتی‌متر و قطعه مرتبط با «اتصال Wi-Fi به شبکه محلی» را آماده کنید. پیش از هر جابه‌جایی سیم، تغذیه را قطع کنید. جهت قرارگیری برد، زمین و پایه‌های GPIO مورد استفاده را بر اساس دیتاشیت همان قطعه بررسی کنید. عکس‌های این مقاله برای شناخت ظاهری‌اند و نقشه اتصال نیستند.

اصل فنی به زبان ساده

حالت station، SSID و گذرواژه، وضعیت اتصال و راهبرد بازاتصال. در ESP32 نتیجهٔ نرم‌افزار به تنظیم برد، کتابخانه و سخت‌افزار وابسته است. اگر مدل برد یا نسخه بسته Espressif در محیط توسعه با سخت‌افزار فرق داشته باشد، برخی رابط‌ها درست کار نمی‌کنند. اگر پایه‌ای هم‌زمان برای چند وظیفه استفاده شود، باید اولویت آن‌ها را مشخص کرد. محدودهٔ ولتاژ و جریان را از جدول الکتریکی دیتاشیت بخوانید و هیچ خروجی را جای منبع تغذیه بار پرمصرف به کار نبرید. یک فرض را در هر مرحله تغییر دهید تا علت هر نتیجه معلوم بماند.

عکس قطعه مرتبط با اتصال Wi-Fi به شبکه محلی
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Electronic-Component-Potentiometer.jpg. این تصویر نقشه اتصال نیست.

اجرای آزمایش مرحله به مرحله

  1. سؤال آزمون را بنویسید: «برد را به شبکه آزمایشی وصل و نشانی IP دریافتی را ثبت کنید».
  2. قطعات و اتصالات را با منبع خاموش و با راهنمای همان برد آماده کنید.
  3. ولتاژ تغذیه و زمین مشترک را پیش از پروگرام اندازه بگیرید.
  4. اسکچ یا تنظیم لازم را تنها برای همین بخش اجرا کنید و ورودی را تغییر دهید.
  5. نتیجه را در جدول «ورودی، انتظار، مشاهده، توضیح» ثبت کنید.

برد را به شبکه آزمایشی وصل و نشانی IP دریافتی را ثبت کنید. بار اول از یک وضعیت ساده و بدون قطعات اضافی شروع کنید. بار دوم مقدار ورودی یا شرط آزمایش را تغییر دهید تا تفاوت نتیجه را ببینید. بار سوم همان آزمایش را بعد از قطع و وصل تغذیه تکرار کنید؛ پایداری رفتار از یک مشاهده تصادفی ارزشمندتر است. هنگام تغییر تنظیمات برنامه، نام فایل و تاریخ آزمایش را ثبت کنید تا نسخه‌های مختلف با هم اشتباه نشوند.

چه نتیجه‌ای درست است؟

اتصال و قطع ارتباط قابل تشخیص است. انتظار خود را پیش از اجرای آزمایش بنویسید و بعد داده واقعی را کنار آن قرار دهید. اگر مشاهده و انتظار تفاوت دارند، ابتدا دستگاه اندازه‌گیری و تغذیه را بررسی کنید، سپس سراغ برنامه بروید. صرف روشن شدن LED یا نمایش یک عدد نشانه صحت کامل سیستم نیست؛ برای هر ورودی دست‌کم دو حالت متفاوت را امتحان کنید و مقدارهای مرزی را نیز در نظر بگیرید.

عکس قطعه مرتبط با اتصال Wi-Fi به شبکه محلی
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Servo and arduino.jpg. این تصویر نقشه اتصال نیست.

خطاهای رایج و روش پیدا کردن علت

گذرواژه را در خروجی سریال یا محتوای عمومی منتشر نکنید. برای عیب‌یابی، اول وجود و مقدار تغذیه را در محل برد بسنجید، بعد زمین، وضعیت کابل و انتخاب برد را بررسی کنید. پس از آن اتصالات رابط و نام پایه‌ها را با راهنمای رسمی برد تطبیق دهید. اگر پیام خطای ابزار دارید، متن دقیق پیام و تنظیمات پروژه را نگه دارید. تغییر هم‌زمان چند سیم یا چند سطر برنامه باعث می‌شود نفهمید کدام تغییر مشکل را حل کرده است.

تمرین تکمیلی و معیار ارزیابی

تمرین این جلسه آن است که آزمایش «اتصال Wi-Fi به شبکه محلی» را یک بار با شرایط اولیه و یک بار با یک تغییر کنترل‌شده اجرا کنید. در گزارش کوتاه خود هدف، قطعات، نسخه برد، پیش‌بینی، نتیجه و علت تفاوت احتمالی را بنویسید. معیار موفقیت فقط گرفتن خروجی نیست: باید بتوانید توضیح دهید چرا نتیجه به دست آمد، کدام بخش آن را اندازه گرفتید و برای تکرار آزمون چه تنظیماتی لازم است. اگر به نتیجه نرسیدید، گزارش خطا هنوز یک خروجی آموزشی مفید است.

نکته طراحی برای پروژه واقعی

در محصول واقعی، «اتصال Wi-Fi به شبکه محلی» باید با دیگر بخش‌ها هماهنگ شود. مصرف حافظه، زمان پاسخ، خطای اندازه‌گیری، نویز و رفتار هنگام روشن شدن دوباره را جدا بررسی کنید. پایه‌هایی که نقش جایگزین دارند را روی نقشه پروژه علامت بزنید تا هنگام افزودن نمایشگر یا ارتباط سریال تداخل ایجاد نشود. قبل از مونتاژ دائمی، یک آزمایش کوچک با همان نوع تغذیه و همان قطعات نهایی انجام دهید. عکس نمایشی قطعات جایگزین نقشه و دیتاشیت نیست.

پرسش‌های کوتاه

آیا همین مراحل برای همه نسخه‌ها یکسان است؟ خیر؛ نام دقیق برد، بسته‌بندی و دیتاشیت را ملاک بگیرید. آیا بدون ابزار اندازه‌گیری می‌توان نتیجه را تأیید کرد؟ برای بعضی رفتارها مشاهده اولیه ممکن است، اما برای ولتاژ، زمان‌بندی و خطاهای متناوب اندازه‌گیری لازم است. اگر آزمایش کار نکرد از کجا شروع کنم؟ از تغذیه و زمین و مدل برد شروع کنید و سپس پیام آپلود، نسخه کتابخانه و برنامه را بررسی کنید.

جمع‌بندی و ادامه مسیر

در این درس، «اتصال Wi-Fi به شبکه محلی» را به یک پرسش قابل آزمون تبدیل کردیم و معیار مشاهده را مشخص کردیم. نتیجهٔ خود را با یک عکس از چیدمان قطعات، فایل کد یا تنظیمات و جدول اندازه‌گیری نگه دارید. جلسه بعد بر همین نتیجه تکیه می‌کند؛ اگر خروجی هنوز پایدار نیست، قبل از رفتن به بخش بعدی علت را پیدا کنید. پیوندهای دوره: جلسه قبل جلسه بعد.

منبع فنی: راهنمای رسمی Arduino core for ESP32 از Espressif. تفاوت مدل و نسخه بسته را بررسی کنید.

ادامه مطلب
تصویر شاخص زمان‌بندی با millis بدون توقف برنامه

جلسه 9: PWM و کنترل روشنایی LED – ESP32

در جلسهٔ 9 دورهٔ آموزش ESP32 به سراغ «PWM و کنترل روشنایی LED» می‌رویم. هدف این است که مفهوم را از مشاهدهٔ واقعی جدا نکنیم: تولید PWM با رابط مناسب نسخه کتابخانه، فرکانس و نسبت وظیفه. این مسیر برای کسی طراحی شده که می‌خواهد با برد ESP32 یک پروژه متصل، قابل توضیح و قابل آزمایش بسازد، نه اینکه فقط چند دستور را حفظ کند. هر بار نسخه دقیق قطعه و ابزار خود را ثبت کنید؛ نمونهٔ ESP32 DevKit در مواردی به دیتاشیت خودش نیاز دارد.

هدف یادگیری و پیش‌نیاز

عکس قطعه مرتبط با PWM و کنترل روشنایی LED
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — RISC-V ESP32-C6-WROOM-1.devboard.jpg. این تصویر نقشه اتصال نیست.

پس از این جلسه باید بتوانید تولید PWM با رابط مناسب نسخه کتابخانه، فرکانس و نسبت وظیفه را با زبان خود توضیح دهید، یک آزمون کوچک طراحی کنید و نتیجه را با انتظار مقایسه کنید. پیش‌نیاز شما شناخت پایه‌های تغذیه، روش خاموش‌کردن امن منبع و توانایی خواندن نقشه پایه‌ها از دیتاشیت است. اگر یکی از این موارد را هنوز انجام نداده‌اید، ابتدا جلسه‌های قبل را مرور کنید. نام برد، نسخه برد و نوع ابزار را کنار یادداشت آزمایش بنویسید؛ این سه داده در عیب‌یابی بعدی بسیار کمک می‌کنند.

وسایل و آماده‌سازی

برد ESP32 سازگار، کابل داده USB، منبع تغذیه مناسب، بردبورد و مولتی‌متر و قطعه مرتبط با «PWM و کنترل روشنایی LED» را آماده کنید. پیش از هر جابه‌جایی سیم، تغذیه را قطع کنید. جهت قرارگیری برد، زمین و پایه‌های GPIO مورد استفاده را بر اساس دیتاشیت همان قطعه بررسی کنید. عکس‌های این مقاله برای شناخت ظاهری‌اند و نقشه اتصال نیستند.

اصل فنی به زبان ساده

تولید PWM با رابط مناسب نسخه کتابخانه، فرکانس و نسبت وظیفه. در ESP32 نتیجهٔ نرم‌افزار به تنظیم برد، کتابخانه و سخت‌افزار وابسته است. اگر مدل برد یا نسخه بسته Espressif در محیط توسعه با سخت‌افزار فرق داشته باشد، برخی رابط‌ها درست کار نمی‌کنند. اگر پایه‌ای هم‌زمان برای چند وظیفه استفاده شود، باید اولویت آن‌ها را مشخص کرد. محدودهٔ ولتاژ و جریان را از جدول الکتریکی دیتاشیت بخوانید و هیچ خروجی را جای منبع تغذیه بار پرمصرف به کار نبرید. یک فرض را در هر مرحله تغییر دهید تا علت هر نتیجه معلوم بماند.

عکس قطعه مرتبط با PWM و کنترل روشنایی LED
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Arduino Uno board.jpg. این تصویر نقشه اتصال نیست.

اجرای آزمایش مرحله به مرحله

  1. سؤال آزمون را بنویسید: «شدت روشنایی LED را در چند مرحله تغییر دهید».
  2. قطعات و اتصالات را با منبع خاموش و با راهنمای همان برد آماده کنید.
  3. ولتاژ تغذیه و زمین مشترک را پیش از پروگرام اندازه بگیرید.
  4. اسکچ یا تنظیم لازم را تنها برای همین بخش اجرا کنید و ورودی را تغییر دهید.
  5. نتیجه را در جدول «ورودی، انتظار، مشاهده، توضیح» ثبت کنید.

شدت روشنایی LED را در چند مرحله تغییر دهید. بار اول از یک وضعیت ساده و بدون قطعات اضافی شروع کنید. بار دوم مقدار ورودی یا شرط آزمایش را تغییر دهید تا تفاوت نتیجه را ببینید. بار سوم همان آزمایش را بعد از قطع و وصل تغذیه تکرار کنید؛ پایداری رفتار از یک مشاهده تصادفی ارزشمندتر است. هنگام تغییر تنظیمات برنامه، نام فایل و تاریخ آزمایش را ثبت کنید تا نسخه‌های مختلف با هم اشتباه نشوند.

چه نتیجه‌ای درست است؟

روشنایی میانگین تغییر می‌کند. انتظار خود را پیش از اجرای آزمایش بنویسید و بعد داده واقعی را کنار آن قرار دهید. اگر مشاهده و انتظار تفاوت دارند، ابتدا دستگاه اندازه‌گیری و تغذیه را بررسی کنید، سپس سراغ برنامه بروید. صرف روشن شدن LED یا نمایش یک عدد نشانه صحت کامل سیستم نیست؛ برای هر ورودی دست‌کم دو حالت متفاوت را امتحان کنید و مقدارهای مرزی را نیز در نظر بگیرید.

عکس قطعه مرتبط با PWM و کنترل روشنایی LED
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Temperature sensor.jpg. این تصویر نقشه اتصال نیست.

خطاهای رایج و روش پیدا کردن علت

API PWM میان نسخه‌های Arduino core ممکن است تفاوت داشته باشد. برای عیب‌یابی، اول وجود و مقدار تغذیه را در محل برد بسنجید، بعد زمین، وضعیت کابل و انتخاب برد را بررسی کنید. پس از آن اتصالات رابط و نام پایه‌ها را با راهنمای رسمی برد تطبیق دهید. اگر پیام خطای ابزار دارید، متن دقیق پیام و تنظیمات پروژه را نگه دارید. تغییر هم‌زمان چند سیم یا چند سطر برنامه باعث می‌شود نفهمید کدام تغییر مشکل را حل کرده است.

تمرین تکمیلی و معیار ارزیابی

تمرین این جلسه آن است که آزمایش «PWM و کنترل روشنایی LED» را یک بار با شرایط اولیه و یک بار با یک تغییر کنترل‌شده اجرا کنید. در گزارش کوتاه خود هدف، قطعات، نسخه برد، پیش‌بینی، نتیجه و علت تفاوت احتمالی را بنویسید. معیار موفقیت فقط گرفتن خروجی نیست: باید بتوانید توضیح دهید چرا نتیجه به دست آمد، کدام بخش آن را اندازه گرفتید و برای تکرار آزمون چه تنظیماتی لازم است. اگر به نتیجه نرسیدید، گزارش خطا هنوز یک خروجی آموزشی مفید است.

نکته طراحی برای پروژه واقعی

در محصول واقعی، «PWM و کنترل روشنایی LED» باید با دیگر بخش‌ها هماهنگ شود. مصرف حافظه، زمان پاسخ، خطای اندازه‌گیری، نویز و رفتار هنگام روشن شدن دوباره را جدا بررسی کنید. پایه‌هایی که نقش جایگزین دارند را روی نقشه پروژه علامت بزنید تا هنگام افزودن نمایشگر یا ارتباط سریال تداخل ایجاد نشود. قبل از مونتاژ دائمی، یک آزمایش کوچک با همان نوع تغذیه و همان قطعات نهایی انجام دهید. عکس نمایشی قطعات جایگزین نقشه و دیتاشیت نیست.

پرسش‌های کوتاه

آیا همین مراحل برای همه نسخه‌ها یکسان است؟ خیر؛ نام دقیق برد، بسته‌بندی و دیتاشیت را ملاک بگیرید. آیا بدون ابزار اندازه‌گیری می‌توان نتیجه را تأیید کرد؟ برای بعضی رفتارها مشاهده اولیه ممکن است، اما برای ولتاژ، زمان‌بندی و خطاهای متناوب اندازه‌گیری لازم است. اگر آزمایش کار نکرد از کجا شروع کنم؟ از تغذیه و زمین و مدل برد شروع کنید و سپس پیام آپلود، نسخه کتابخانه و برنامه را بررسی کنید.

جمع‌بندی و ادامه مسیر

در این درس، «PWM و کنترل روشنایی LED» را به یک پرسش قابل آزمون تبدیل کردیم و معیار مشاهده را مشخص کردیم. نتیجهٔ خود را با یک عکس از چیدمان قطعات، فایل کد یا تنظیمات و جدول اندازه‌گیری نگه دارید. جلسه بعد بر همین نتیجه تکیه می‌کند؛ اگر خروجی هنوز پایدار نیست، قبل از رفتن به بخش بعدی علت را پیدا کنید. پیوندهای دوره: جلسه قبل جلسه بعد.

منبع فنی: راهنمای رسمی Arduino core for ESP32 از Espressif. تفاوت مدل و نسخه بسته را بررسی کنید.

ادامه مطلب
تصویر شاخص ماشین حالت برای چند کار هم‌زمان

جلسه 10: زمان‌بندی بدون – ESP32 delay

در جلسهٔ 10 دورهٔ آموزش ESP32 به سراغ «زمان‌بندی بدون delay» می‌رویم. هدف این است که مفهوم را از مشاهدهٔ واقعی جدا نکنیم: millis، زمان‌بندی چند وظیفه و مدیریت سرریز شمارنده. این مسیر برای کسی طراحی شده که می‌خواهد با برد ESP32 یک پروژه متصل، قابل توضیح و قابل آزمایش بسازد، نه اینکه فقط چند دستور را حفظ کند. هر بار نسخه دقیق قطعه و ابزار خود را ثبت کنید؛ نمونهٔ ESP32 DevKit در مواردی به دیتاشیت خودش نیاز دارد.

هدف یادگیری و پیش‌نیاز

عکس قطعه مرتبط با زمان‌بندی بدون delay
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — ESP32-S3 on paper.jpg. این تصویر نقشه اتصال نیست.

پس از این جلسه باید بتوانید millis، زمان‌بندی چند وظیفه و مدیریت سرریز شمارنده را با زبان خود توضیح دهید، یک آزمون کوچک طراحی کنید و نتیجه را با انتظار مقایسه کنید. پیش‌نیاز شما شناخت پایه‌های تغذیه، روش خاموش‌کردن امن منبع و توانایی خواندن نقشه پایه‌ها از دیتاشیت است. اگر یکی از این موارد را هنوز انجام نداده‌اید، ابتدا جلسه‌های قبل را مرور کنید. نام برد، نسخه برد و نوع ابزار را کنار یادداشت آزمایش بنویسید؛ این سه داده در عیب‌یابی بعدی بسیار کمک می‌کنند.

وسایل و آماده‌سازی

برد ESP32 سازگار، کابل داده USB، منبع تغذیه مناسب، بردبورد و مولتی‌متر و قطعه مرتبط با «زمان‌بندی بدون delay» را آماده کنید. پیش از هر جابه‌جایی سیم، تغذیه را قطع کنید. جهت قرارگیری برد، زمین و پایه‌های GPIO مورد استفاده را بر اساس دیتاشیت همان قطعه بررسی کنید. عکس‌های این مقاله برای شناخت ظاهری‌اند و نقشه اتصال نیستند.

اصل فنی به زبان ساده

millis، زمان‌بندی چند وظیفه و مدیریت سرریز شمارنده. در ESP32 نتیجهٔ نرم‌افزار به تنظیم برد، کتابخانه و سخت‌افزار وابسته است. اگر مدل برد یا نسخه بسته Espressif در محیط توسعه با سخت‌افزار فرق داشته باشد، برخی رابط‌ها درست کار نمی‌کنند. اگر پایه‌ای هم‌زمان برای چند وظیفه استفاده شود، باید اولویت آن‌ها را مشخص کرد. محدودهٔ ولتاژ و جریان را از جدول الکتریکی دیتاشیت بخوانید و هیچ خروجی را جای منبع تغذیه بار پرمصرف به کار نبرید. یک فرض را در هر مرحله تغییر دهید تا علت هر نتیجه معلوم بماند.

عکس قطعه مرتبط با زمان‌بندی بدون delay
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Solderless Breadboard with LEDs.jpg. این تصویر نقشه اتصال نیست.

اجرای آزمایش مرحله به مرحله

  1. سؤال آزمون را بنویسید: «چشمک‌زن و خواندن کلید را هم‌زمان اجرا کنید».
  2. قطعات و اتصالات را با منبع خاموش و با راهنمای همان برد آماده کنید.
  3. ولتاژ تغذیه و زمین مشترک را پیش از پروگرام اندازه بگیرید.
  4. اسکچ یا تنظیم لازم را تنها برای همین بخش اجرا کنید و ورودی را تغییر دهید.
  5. نتیجه را در جدول «ورودی، انتظار، مشاهده، توضیح» ثبت کنید.

چشمک‌زن و خواندن کلید را هم‌زمان اجرا کنید. بار اول از یک وضعیت ساده و بدون قطعات اضافی شروع کنید. بار دوم مقدار ورودی یا شرط آزمایش را تغییر دهید تا تفاوت نتیجه را ببینید. بار سوم همان آزمایش را بعد از قطع و وصل تغذیه تکرار کنید؛ پایداری رفتار از یک مشاهده تصادفی ارزشمندتر است. هنگام تغییر تنظیمات برنامه، نام فایل و تاریخ آزمایش را ثبت کنید تا نسخه‌های مختلف با هم اشتباه نشوند.

چه نتیجه‌ای درست است؟

برنامه هنگام انتظار پاسخ‌گو می‌ماند. انتظار خود را پیش از اجرای آزمایش بنویسید و بعد داده واقعی را کنار آن قرار دهید. اگر مشاهده و انتظار تفاوت دارند، ابتدا دستگاه اندازه‌گیری و تغذیه را بررسی کنید، سپس سراغ برنامه بروید. صرف روشن شدن LED یا نمایش یک عدد نشانه صحت کامل سیستم نیست؛ برای هر ورودی دست‌کم دو حالت متفاوت را امتحان کنید و مقدارهای مرزی را نیز در نظر بگیرید.

عکس قطعه مرتبط با زمان‌بندی بدون delay
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — RelayArduinoTest.jpg. این تصویر نقشه اتصال نیست.

خطاهای رایج و روش پیدا کردن علت

delay طولانی باعث از دست رفتن رویداد یا کندی شبکه می‌شود. برای عیب‌یابی، اول وجود و مقدار تغذیه را در محل برد بسنجید، بعد زمین، وضعیت کابل و انتخاب برد را بررسی کنید. پس از آن اتصالات رابط و نام پایه‌ها را با راهنمای رسمی برد تطبیق دهید. اگر پیام خطای ابزار دارید، متن دقیق پیام و تنظیمات پروژه را نگه دارید. تغییر هم‌زمان چند سیم یا چند سطر برنامه باعث می‌شود نفهمید کدام تغییر مشکل را حل کرده است.

تمرین تکمیلی و معیار ارزیابی

تمرین این جلسه آن است که آزمایش «زمان‌بندی بدون delay» را یک بار با شرایط اولیه و یک بار با یک تغییر کنترل‌شده اجرا کنید. در گزارش کوتاه خود هدف، قطعات، نسخه برد، پیش‌بینی، نتیجه و علت تفاوت احتمالی را بنویسید. معیار موفقیت فقط گرفتن خروجی نیست: باید بتوانید توضیح دهید چرا نتیجه به دست آمد، کدام بخش آن را اندازه گرفتید و برای تکرار آزمون چه تنظیماتی لازم است. اگر به نتیجه نرسیدید، گزارش خطا هنوز یک خروجی آموزشی مفید است.

نکته طراحی برای پروژه واقعی

در محصول واقعی، «زمان‌بندی بدون delay» باید با دیگر بخش‌ها هماهنگ شود. مصرف حافظه، زمان پاسخ، خطای اندازه‌گیری، نویز و رفتار هنگام روشن شدن دوباره را جدا بررسی کنید. پایه‌هایی که نقش جایگزین دارند را روی نقشه پروژه علامت بزنید تا هنگام افزودن نمایشگر یا ارتباط سریال تداخل ایجاد نشود. قبل از مونتاژ دائمی، یک آزمایش کوچک با همان نوع تغذیه و همان قطعات نهایی انجام دهید. عکس نمایشی قطعات جایگزین نقشه و دیتاشیت نیست.

پرسش‌های کوتاه

آیا همین مراحل برای همه نسخه‌ها یکسان است؟ خیر؛ نام دقیق برد، بسته‌بندی و دیتاشیت را ملاک بگیرید. آیا بدون ابزار اندازه‌گیری می‌توان نتیجه را تأیید کرد؟ برای بعضی رفتارها مشاهده اولیه ممکن است، اما برای ولتاژ، زمان‌بندی و خطاهای متناوب اندازه‌گیری لازم است. اگر آزمایش کار نکرد از کجا شروع کنم؟ از تغذیه و زمین و مدل برد شروع کنید و سپس پیام آپلود، نسخه کتابخانه و برنامه را بررسی کنید.

جمع‌بندی و ادامه مسیر

در این درس، «زمان‌بندی بدون delay» را به یک پرسش قابل آزمون تبدیل کردیم و معیار مشاهده را مشخص کردیم. نتیجهٔ خود را با یک عکس از چیدمان قطعات، فایل کد یا تنظیمات و جدول اندازه‌گیری نگه دارید. جلسه بعد بر همین نتیجه تکیه می‌کند؛ اگر خروجی هنوز پایدار نیست، قبل از رفتن به بخش بعدی علت را پیدا کنید. پیوندهای دوره: جلسه قبل جلسه بعد.

منبع فنی: راهنمای رسمی Arduino core for ESP32 از Espressif. تفاوت مدل و نسخه بسته را بررسی کنید.

ادامه مطلب
تصویر شاخص متغیرها، نوع داده و ساختار کد

جلسه 8: ADC و خواندن حسگر آنالوگ – ESP32

در جلسهٔ 8 دورهٔ آموزش ESP32 به سراغ «ADC و خواندن حسگر آنالوگ» می‌رویم. هدف این است که مفهوم را از مشاهدهٔ واقعی جدا نکنیم: ورودی ADC، کالیبراسیون، نویز و محدودیت ADC2 هنگام استفاده از Wi-Fi در ESP32 کلاسیک. این مسیر برای کسی طراحی شده که می‌خواهد با برد ESP32 یک پروژه متصل، قابل توضیح و قابل آزمایش بسازد، نه اینکه فقط چند دستور را حفظ کند. هر بار نسخه دقیق قطعه و ابزار خود را ثبت کنید؛ نمونهٔ ESP32 DevKit در مواردی به دیتاشیت خودش نیاز دارد.

هدف یادگیری و پیش‌نیاز

عکس قطعه مرتبط با ADC و خواندن حسگر آنالوگ
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — ESP32-C3 RISC-V NodeMCU board.jpg. این تصویر نقشه اتصال نیست.

پس از این جلسه باید بتوانید ورودی ADC، کالیبراسیون، نویز و محدودیت ADC2 هنگام استفاده از Wi-Fi در ESP32 کلاسیک را با زبان خود توضیح دهید، یک آزمون کوچک طراحی کنید و نتیجه را با انتظار مقایسه کنید. پیش‌نیاز شما شناخت پایه‌های تغذیه، روش خاموش‌کردن امن منبع و توانایی خواندن نقشه پایه‌ها از دیتاشیت است. اگر یکی از این موارد را هنوز انجام نداده‌اید، ابتدا جلسه‌های قبل را مرور کنید. نام برد، نسخه برد و نوع ابزار را کنار یادداشت آزمایش بنویسید؛ این سه داده در عیب‌یابی بعدی بسیار کمک می‌کنند.

وسایل و آماده‌سازی

برد ESP32 سازگار، کابل داده USB، منبع تغذیه مناسب، بردبورد و مولتی‌متر و قطعه مرتبط با «ADC و خواندن حسگر آنالوگ» را آماده کنید. پیش از هر جابه‌جایی سیم، تغذیه را قطع کنید. جهت قرارگیری برد، زمین و پایه‌های GPIO مورد استفاده را بر اساس دیتاشیت همان قطعه بررسی کنید. عکس‌های این مقاله برای شناخت ظاهری‌اند و نقشه اتصال نیستند.

اصل فنی به زبان ساده

ورودی ADC، کالیبراسیون، نویز و محدودیت ADC2 هنگام استفاده از Wi-Fi در ESP32 کلاسیک. در ESP32 نتیجهٔ نرم‌افزار به تنظیم برد، کتابخانه و سخت‌افزار وابسته است. اگر مدل برد یا نسخه بسته Espressif در محیط توسعه با سخت‌افزار فرق داشته باشد، برخی رابط‌ها درست کار نمی‌کنند. اگر پایه‌ای هم‌زمان برای چند وظیفه استفاده شود، باید اولویت آن‌ها را مشخص کرد. محدودهٔ ولتاژ و جریان را از جدول الکتریکی دیتاشیت بخوانید و هیچ خروجی را جای منبع تغذیه بار پرمصرف به کار نبرید. یک فرض را در هر مرحله تغییر دهید تا علت هر نتیجه معلوم بماند.

عکس قطعه مرتبط با ADC و خواندن حسگر آنالوگ
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Weather Gadget 07.jpg. این تصویر نقشه اتصال نیست.

اجرای آزمایش مرحله به مرحله

  1. سؤال آزمون را بنویسید: «چند مقدار از یک پتانسیومتر سازگار بخوانید و تغییر را ثبت کنید».
  2. قطعات و اتصالات را با منبع خاموش و با راهنمای همان برد آماده کنید.
  3. ولتاژ تغذیه و زمین مشترک را پیش از پروگرام اندازه بگیرید.
  4. اسکچ یا تنظیم لازم را تنها برای همین بخش اجرا کنید و ورودی را تغییر دهید.
  5. نتیجه را در جدول «ورودی، انتظار، مشاهده، توضیح» ثبت کنید.

چند مقدار از یک پتانسیومتر سازگار بخوانید و تغییر را ثبت کنید. بار اول از یک وضعیت ساده و بدون قطعات اضافی شروع کنید. بار دوم مقدار ورودی یا شرط آزمایش را تغییر دهید تا تفاوت نتیجه را ببینید. بار سوم همان آزمایش را بعد از قطع و وصل تغذیه تکرار کنید؛ پایداری رفتار از یک مشاهده تصادفی ارزشمندتر است. هنگام تغییر تنظیمات برنامه، نام فایل و تاریخ آزمایش را ثبت کنید تا نسخه‌های مختلف با هم اشتباه نشوند.

چه نتیجه‌ای درست است؟

مقدار خام با ورودی تغییر می‌کند. انتظار خود را پیش از اجرای آزمایش بنویسید و بعد داده واقعی را کنار آن قرار دهید. اگر مشاهده و انتظار تفاوت دارند، ابتدا دستگاه اندازه‌گیری و تغذیه را بررسی کنید، سپس سراغ برنامه بروید. صرف روشن شدن LED یا نمایش یک عدد نشانه صحت کامل سیستم نیست؛ برای هر ورودی دست‌کم دو حالت متفاوت را امتحان کنید و مقدارهای مرزی را نیز در نظر بگیرید.

عکس قطعه مرتبط با ADC و خواندن حسگر آنالوگ
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — DS3231 based RTC module.jpg. این تصویر نقشه اتصال نیست.

خطاهای رایج و روش پیدا کردن علت

دامنه ولتاژ و رفتار ADC مدل‌های مختلف یکسان فرض نشود. برای عیب‌یابی، اول وجود و مقدار تغذیه را در محل برد بسنجید، بعد زمین، وضعیت کابل و انتخاب برد را بررسی کنید. پس از آن اتصالات رابط و نام پایه‌ها را با راهنمای رسمی برد تطبیق دهید. اگر پیام خطای ابزار دارید، متن دقیق پیام و تنظیمات پروژه را نگه دارید. تغییر هم‌زمان چند سیم یا چند سطر برنامه باعث می‌شود نفهمید کدام تغییر مشکل را حل کرده است.

تمرین تکمیلی و معیار ارزیابی

تمرین این جلسه آن است که آزمایش «ADC و خواندن حسگر آنالوگ» را یک بار با شرایط اولیه و یک بار با یک تغییر کنترل‌شده اجرا کنید. در گزارش کوتاه خود هدف، قطعات، نسخه برد، پیش‌بینی، نتیجه و علت تفاوت احتمالی را بنویسید. معیار موفقیت فقط گرفتن خروجی نیست: باید بتوانید توضیح دهید چرا نتیجه به دست آمد، کدام بخش آن را اندازه گرفتید و برای تکرار آزمون چه تنظیماتی لازم است. اگر به نتیجه نرسیدید، گزارش خطا هنوز یک خروجی آموزشی مفید است.

نکته طراحی برای پروژه واقعی

در محصول واقعی، «ADC و خواندن حسگر آنالوگ» باید با دیگر بخش‌ها هماهنگ شود. مصرف حافظه، زمان پاسخ، خطای اندازه‌گیری، نویز و رفتار هنگام روشن شدن دوباره را جدا بررسی کنید. پایه‌هایی که نقش جایگزین دارند را روی نقشه پروژه علامت بزنید تا هنگام افزودن نمایشگر یا ارتباط سریال تداخل ایجاد نشود. قبل از مونتاژ دائمی، یک آزمایش کوچک با همان نوع تغذیه و همان قطعات نهایی انجام دهید. عکس نمایشی قطعات جایگزین نقشه و دیتاشیت نیست.

پرسش‌های کوتاه

آیا همین مراحل برای همه نسخه‌ها یکسان است؟ خیر؛ نام دقیق برد، بسته‌بندی و دیتاشیت را ملاک بگیرید. آیا بدون ابزار اندازه‌گیری می‌توان نتیجه را تأیید کرد؟ برای بعضی رفتارها مشاهده اولیه ممکن است، اما برای ولتاژ، زمان‌بندی و خطاهای متناوب اندازه‌گیری لازم است. اگر آزمایش کار نکرد از کجا شروع کنم؟ از تغذیه و زمین و مدل برد شروع کنید و سپس پیام آپلود، نسخه کتابخانه و برنامه را بررسی کنید.

جمع‌بندی و ادامه مسیر

در این درس، «ADC و خواندن حسگر آنالوگ» را به یک پرسش قابل آزمون تبدیل کردیم و معیار مشاهده را مشخص کردیم. نتیجهٔ خود را با یک عکس از چیدمان قطعات، فایل کد یا تنظیمات و جدول اندازه‌گیری نگه دارید. جلسه بعد بر همین نتیجه تکیه می‌کند؛ اگر خروجی هنوز پایدار نیست، قبل از رفتن به بخش بعدی علت را پیدا کنید. پیوندهای دوره: جلسه قبل جلسه بعد.

منبع فنی: راهنمای رسمی Arduino core for ESP32 از Espressif. تفاوت مدل و نسخه بسته را بررسی کنید.

ادامه مطلب
تصویر شاخص نمایش پیام در Serial Monitor

جلسه 7: Serial Monitor و گزارش خطا – ESP32

در جلسهٔ 7 دورهٔ آموزش ESP32 به سراغ «Serial Monitor و گزارش خطا» می‌رویم. هدف این است که مفهوم را از مشاهدهٔ واقعی جدا نکنیم: تنظیم نرخ ارتباط، چاپ ساختاریافته و ثبت دلیل راه‌اندازی. این مسیر برای کسی طراحی شده که می‌خواهد با برد ESP32 یک پروژه متصل، قابل توضیح و قابل آزمایش بسازد، نه اینکه فقط چند دستور را حفظ کند. هر بار نسخه دقیق قطعه و ابزار خود را ثبت کنید؛ نمونهٔ ESP32 DevKit در مواردی به دیتاشیت خودش نیاز دارد.

هدف یادگیری و پیش‌نیاز

عکس قطعه مرتبط با Serial Monitor و گزارش خطا
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — ESP32 SH1106 Power-Meter 01.jpg. این تصویر نقشه اتصال نیست.

پس از این جلسه باید بتوانید تنظیم نرخ ارتباط، چاپ ساختاریافته و ثبت دلیل راه‌اندازی را با زبان خود توضیح دهید، یک آزمون کوچک طراحی کنید و نتیجه را با انتظار مقایسه کنید. پیش‌نیاز شما شناخت پایه‌های تغذیه، روش خاموش‌کردن امن منبع و توانایی خواندن نقشه پایه‌ها از دیتاشیت است. اگر یکی از این موارد را هنوز انجام نداده‌اید، ابتدا جلسه‌های قبل را مرور کنید. نام برد، نسخه برد و نوع ابزار را کنار یادداشت آزمایش بنویسید؛ این سه داده در عیب‌یابی بعدی بسیار کمک می‌کنند.

وسایل و آماده‌سازی

برد ESP32 سازگار، کابل داده USB، منبع تغذیه مناسب، بردبورد و مولتی‌متر و قطعه مرتبط با «Serial Monitor و گزارش خطا» را آماده کنید. پیش از هر جابه‌جایی سیم، تغذیه را قطع کنید. جهت قرارگیری برد، زمین و پایه‌های GPIO مورد استفاده را بر اساس دیتاشیت همان قطعه بررسی کنید. عکس‌های این مقاله برای شناخت ظاهری‌اند و نقشه اتصال نیستند.

اصل فنی به زبان ساده

تنظیم نرخ ارتباط، چاپ ساختاریافته و ثبت دلیل راه‌اندازی. در ESP32 نتیجهٔ نرم‌افزار به تنظیم برد، کتابخانه و سخت‌افزار وابسته است. اگر مدل برد یا نسخه بسته Espressif در محیط توسعه با سخت‌افزار فرق داشته باشد، برخی رابط‌ها درست کار نمی‌کنند. اگر پایه‌ای هم‌زمان برای چند وظیفه استفاده شود، باید اولویت آن‌ها را مشخص کرد. محدودهٔ ولتاژ و جریان را از جدول الکتریکی دیتاشیت بخوانید و هیچ خروجی را جای منبع تغذیه بار پرمصرف به کار نبرید. یک فرض را در هر مرحله تغییر دهید تا علت هر نتیجه معلوم بماند.

عکس قطعه مرتبط با Serial Monitor و گزارش خطا
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — ESP M2 dev board szdoit IMGP2978 smial wp.jpg. این تصویر نقشه اتصال نیست.

اجرای آزمایش مرحله به مرحله

  1. سؤال آزمون را بنویسید: «وضعیت اتصال و مقدار ورودی را با برچسب زمان چاپ کنید».
  2. قطعات و اتصالات را با منبع خاموش و با راهنمای همان برد آماده کنید.
  3. ولتاژ تغذیه و زمین مشترک را پیش از پروگرام اندازه بگیرید.
  4. اسکچ یا تنظیم لازم را تنها برای همین بخش اجرا کنید و ورودی را تغییر دهید.
  5. نتیجه را در جدول «ورودی، انتظار، مشاهده، توضیح» ثبت کنید.

وضعیت اتصال و مقدار ورودی را با برچسب زمان چاپ کنید. بار اول از یک وضعیت ساده و بدون قطعات اضافی شروع کنید. بار دوم مقدار ورودی یا شرط آزمایش را تغییر دهید تا تفاوت نتیجه را ببینید. بار سوم همان آزمایش را بعد از قطع و وصل تغذیه تکرار کنید؛ پایداری رفتار از یک مشاهده تصادفی ارزشمندتر است. هنگام تغییر تنظیمات برنامه، نام فایل و تاریخ آزمایش را ثبت کنید تا نسخه‌های مختلف با هم اشتباه نشوند.

چه نتیجه‌ای درست است؟

پیام‌ها خوانا و قابل تشخیص‌اند. انتظار خود را پیش از اجرای آزمایش بنویسید و بعد داده واقعی را کنار آن قرار دهید. اگر مشاهده و انتظار تفاوت دارند، ابتدا دستگاه اندازه‌گیری و تغذیه را بررسی کنید، سپس سراغ برنامه بروید. صرف روشن شدن LED یا نمایش یک عدد نشانه صحت کامل سیستم نیست؛ برای هر ورودی دست‌کم دو حالت متفاوت را امتحان کنید و مقدارهای مرزی را نیز در نظر بگیرید.

عکس قطعه مرتبط با Serial Monitor و گزارش خطا
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — MicroSD card connected to Arduino nano with OLED display.jpg. این تصویر نقشه اتصال نیست.

خطاهای رایج و روش پیدا کردن علت

نرخ نامتناسب یا حلقه چاپ پرسرعت بررسی را دشوار می‌کند. برای عیب‌یابی، اول وجود و مقدار تغذیه را در محل برد بسنجید، بعد زمین، وضعیت کابل و انتخاب برد را بررسی کنید. پس از آن اتصالات رابط و نام پایه‌ها را با راهنمای رسمی برد تطبیق دهید. اگر پیام خطای ابزار دارید، متن دقیق پیام و تنظیمات پروژه را نگه دارید. تغییر هم‌زمان چند سیم یا چند سطر برنامه باعث می‌شود نفهمید کدام تغییر مشکل را حل کرده است.

تمرین تکمیلی و معیار ارزیابی

تمرین این جلسه آن است که آزمایش «Serial Monitor و گزارش خطا» را یک بار با شرایط اولیه و یک بار با یک تغییر کنترل‌شده اجرا کنید. در گزارش کوتاه خود هدف، قطعات، نسخه برد، پیش‌بینی، نتیجه و علت تفاوت احتمالی را بنویسید. معیار موفقیت فقط گرفتن خروجی نیست: باید بتوانید توضیح دهید چرا نتیجه به دست آمد، کدام بخش آن را اندازه گرفتید و برای تکرار آزمون چه تنظیماتی لازم است. اگر به نتیجه نرسیدید، گزارش خطا هنوز یک خروجی آموزشی مفید است.

نکته طراحی برای پروژه واقعی

در محصول واقعی، «Serial Monitor و گزارش خطا» باید با دیگر بخش‌ها هماهنگ شود. مصرف حافظه، زمان پاسخ، خطای اندازه‌گیری، نویز و رفتار هنگام روشن شدن دوباره را جدا بررسی کنید. پایه‌هایی که نقش جایگزین دارند را روی نقشه پروژه علامت بزنید تا هنگام افزودن نمایشگر یا ارتباط سریال تداخل ایجاد نشود. قبل از مونتاژ دائمی، یک آزمایش کوچک با همان نوع تغذیه و همان قطعات نهایی انجام دهید. عکس نمایشی قطعات جایگزین نقشه و دیتاشیت نیست.

پرسش‌های کوتاه

آیا همین مراحل برای همه نسخه‌ها یکسان است؟ خیر؛ نام دقیق برد، بسته‌بندی و دیتاشیت را ملاک بگیرید. آیا بدون ابزار اندازه‌گیری می‌توان نتیجه را تأیید کرد؟ برای بعضی رفتارها مشاهده اولیه ممکن است، اما برای ولتاژ، زمان‌بندی و خطاهای متناوب اندازه‌گیری لازم است. اگر آزمایش کار نکرد از کجا شروع کنم؟ از تغذیه و زمین و مدل برد شروع کنید و سپس پیام آپلود، نسخه کتابخانه و برنامه را بررسی کنید.

جمع‌بندی و ادامه مسیر

در این درس، «Serial Monitor و گزارش خطا» را به یک پرسش قابل آزمون تبدیل کردیم و معیار مشاهده را مشخص کردیم. نتیجهٔ خود را با یک عکس از چیدمان قطعات، فایل کد یا تنظیمات و جدول اندازه‌گیری نگه دارید. جلسه بعد بر همین نتیجه تکیه می‌کند؛ اگر خروجی هنوز پایدار نیست، قبل از رفتن به بخش بعدی علت را پیدا کنید. پیوندهای دوره: جلسه قبل جلسه بعد.

منبع فنی: راهنمای رسمی Arduino core for ESP32 از Espressif. تفاوت مدل و نسخه بسته را بررسی کنید.

ادامه مطلب
تصویر شاخص حذف جهش کلید و تشخیص لبه

جلسه 6: حذف جهش کلید و ماشین حالت – ESP32

در جلسهٔ 6 دورهٔ آموزش ESP32 به سراغ «حذف جهش کلید و ماشین حالت» می‌رویم. هدف این است که مفهوم را از مشاهدهٔ واقعی جدا نکنیم: تشخیص لبه، زمان تثبیت و مدل‌سازی حالت‌های روشن و خاموش. این مسیر برای کسی طراحی شده که می‌خواهد با برد ESP32 یک پروژه متصل، قابل توضیح و قابل آزمایش بسازد، نه اینکه فقط چند دستور را حفظ کند. هر بار نسخه دقیق قطعه و ابزار خود را ثبت کنید؛ نمونهٔ ESP32 DevKit در مواردی به دیتاشیت خودش نیاز دارد.

هدف یادگیری و پیش‌نیاز

عکس قطعه مرتبط با حذف جهش کلید و ماشین حالت
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — ESP32 on Lolin32 Lite clone board.jpg. این تصویر نقشه اتصال نیست.

پس از این جلسه باید بتوانید تشخیص لبه، زمان تثبیت و مدل‌سازی حالت‌های روشن و خاموش را با زبان خود توضیح دهید، یک آزمون کوچک طراحی کنید و نتیجه را با انتظار مقایسه کنید. پیش‌نیاز شما شناخت پایه‌های تغذیه، روش خاموش‌کردن امن منبع و توانایی خواندن نقشه پایه‌ها از دیتاشیت است. اگر یکی از این موارد را هنوز انجام نداده‌اید، ابتدا جلسه‌های قبل را مرور کنید. نام برد، نسخه برد و نوع ابزار را کنار یادداشت آزمایش بنویسید؛ این سه داده در عیب‌یابی بعدی بسیار کمک می‌کنند.

وسایل و آماده‌سازی

برد ESP32 سازگار، کابل داده USB، منبع تغذیه مناسب، بردبورد و مولتی‌متر و قطعه مرتبط با «حذف جهش کلید و ماشین حالت» را آماده کنید. پیش از هر جابه‌جایی سیم، تغذیه را قطع کنید. جهت قرارگیری برد، زمین و پایه‌های GPIO مورد استفاده را بر اساس دیتاشیت همان قطعه بررسی کنید. عکس‌های این مقاله برای شناخت ظاهری‌اند و نقشه اتصال نیستند.

اصل فنی به زبان ساده

تشخیص لبه، زمان تثبیت و مدل‌سازی حالت‌های روشن و خاموش. در ESP32 نتیجهٔ نرم‌افزار به تنظیم برد، کتابخانه و سخت‌افزار وابسته است. اگر مدل برد یا نسخه بسته Espressif در محیط توسعه با سخت‌افزار فرق داشته باشد، برخی رابط‌ها درست کار نمی‌کنند. اگر پایه‌ای هم‌زمان برای چند وظیفه استفاده شود، باید اولویت آن‌ها را مشخص کرد. محدودهٔ ولتاژ و جریان را از جدول الکتریکی دیتاشیت بخوانید و هیچ خروجی را جای منبع تغذیه بار پرمصرف به کار نبرید. یک فرض را در هر مرحله تغییر دهید تا علت هر نتیجه معلوم بماند.

عکس قطعه مرتبط با حذف جهش کلید و ماشین حالت
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — ESP M2 dev board szdoit IMGP2944 smial wp.jpg. این تصویر نقشه اتصال نیست.

اجرای آزمایش مرحله به مرحله

  1. سؤال آزمون را بنویسید: «یک فشار کلید را به یک تغییر وضعیت خروجی تبدیل کنید».
  2. قطعات و اتصالات را با منبع خاموش و با راهنمای همان برد آماده کنید.
  3. ولتاژ تغذیه و زمین مشترک را پیش از پروگرام اندازه بگیرید.
  4. اسکچ یا تنظیم لازم را تنها برای همین بخش اجرا کنید و ورودی را تغییر دهید.
  5. نتیجه را در جدول «ورودی، انتظار، مشاهده، توضیح» ثبت کنید.

یک فشار کلید را به یک تغییر وضعیت خروجی تبدیل کنید. بار اول از یک وضعیت ساده و بدون قطعات اضافی شروع کنید. بار دوم مقدار ورودی یا شرط آزمایش را تغییر دهید تا تفاوت نتیجه را ببینید. بار سوم همان آزمایش را بعد از قطع و وصل تغذیه تکرار کنید؛ پایداری رفتار از یک مشاهده تصادفی ارزشمندتر است. هنگام تغییر تنظیمات برنامه، نام فایل و تاریخ آزمایش را ثبت کنید تا نسخه‌های مختلف با هم اشتباه نشوند.

چه نتیجه‌ای درست است؟

هر فشار عمدی یک تغییر می‌سازد. انتظار خود را پیش از اجرای آزمایش بنویسید و بعد داده واقعی را کنار آن قرار دهید. اگر مشاهده و انتظار تفاوت دارند، ابتدا دستگاه اندازه‌گیری و تغذیه را بررسی کنید، سپس سراغ برنامه بروید. صرف روشن شدن LED یا نمایش یک عدد نشانه صحت کامل سیستم نیست؛ برای هر ورودی دست‌کم دو حالت متفاوت را امتحان کنید و مقدارهای مرزی را نیز در نظر بگیرید.

عکس قطعه مرتبط با حذف جهش کلید و ماشین حالت
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — OLED display.jpg. این تصویر نقشه اتصال نیست.

خطاهای رایج و روش پیدا کردن علت

تأخیر طولانی پاسخ شبکه و ورودی را کند می‌کند. برای عیب‌یابی، اول وجود و مقدار تغذیه را در محل برد بسنجید، بعد زمین، وضعیت کابل و انتخاب برد را بررسی کنید. پس از آن اتصالات رابط و نام پایه‌ها را با راهنمای رسمی برد تطبیق دهید. اگر پیام خطای ابزار دارید، متن دقیق پیام و تنظیمات پروژه را نگه دارید. تغییر هم‌زمان چند سیم یا چند سطر برنامه باعث می‌شود نفهمید کدام تغییر مشکل را حل کرده است.

تمرین تکمیلی و معیار ارزیابی

تمرین این جلسه آن است که آزمایش «حذف جهش کلید و ماشین حالت» را یک بار با شرایط اولیه و یک بار با یک تغییر کنترل‌شده اجرا کنید. در گزارش کوتاه خود هدف، قطعات، نسخه برد، پیش‌بینی، نتیجه و علت تفاوت احتمالی را بنویسید. معیار موفقیت فقط گرفتن خروجی نیست: باید بتوانید توضیح دهید چرا نتیجه به دست آمد، کدام بخش آن را اندازه گرفتید و برای تکرار آزمون چه تنظیماتی لازم است. اگر به نتیجه نرسیدید، گزارش خطا هنوز یک خروجی آموزشی مفید است.

نکته طراحی برای پروژه واقعی

در محصول واقعی، «حذف جهش کلید و ماشین حالت» باید با دیگر بخش‌ها هماهنگ شود. مصرف حافظه، زمان پاسخ، خطای اندازه‌گیری، نویز و رفتار هنگام روشن شدن دوباره را جدا بررسی کنید. پایه‌هایی که نقش جایگزین دارند را روی نقشه پروژه علامت بزنید تا هنگام افزودن نمایشگر یا ارتباط سریال تداخل ایجاد نشود. قبل از مونتاژ دائمی، یک آزمایش کوچک با همان نوع تغذیه و همان قطعات نهایی انجام دهید. عکس نمایشی قطعات جایگزین نقشه و دیتاشیت نیست.

پرسش‌های کوتاه

آیا همین مراحل برای همه نسخه‌ها یکسان است؟ خیر؛ نام دقیق برد، بسته‌بندی و دیتاشیت را ملاک بگیرید. آیا بدون ابزار اندازه‌گیری می‌توان نتیجه را تأیید کرد؟ برای بعضی رفتارها مشاهده اولیه ممکن است، اما برای ولتاژ، زمان‌بندی و خطاهای متناوب اندازه‌گیری لازم است. اگر آزمایش کار نکرد از کجا شروع کنم؟ از تغذیه و زمین و مدل برد شروع کنید و سپس پیام آپلود، نسخه کتابخانه و برنامه را بررسی کنید.

جمع‌بندی و ادامه مسیر

در این درس، «حذف جهش کلید و ماشین حالت» را به یک پرسش قابل آزمون تبدیل کردیم و معیار مشاهده را مشخص کردیم. نتیجهٔ خود را با یک عکس از چیدمان قطعات، فایل کد یا تنظیمات و جدول اندازه‌گیری نگه دارید. جلسه بعد بر همین نتیجه تکیه می‌کند؛ اگر خروجی هنوز پایدار نیست، قبل از رفتن به بخش بعدی علت را پیدا کنید. پیوندهای دوره: جلسه قبل جلسه بعد.

منبع فنی: راهنمای رسمی Arduino core for ESP32 از Espressif. تفاوت مدل و نسخه بسته را بررسی کنید.

ادامه مطلب