آردوینومقدماتی۷ دقیقه مطالعهArduino IDE 2.x / Uno R3

راهنمای کلی عیب‌یابی آردوینو

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

آنچه در این درس می‌آموزید

  • پیام‌های کنسول IDE 2 را نظام‌مند و از پایین به بالا بخوانید
  • مشکل را به نرم‌افزار یا سخت‌افزار تفکیک کنید با آپلود اسکچ سالم
  • پس از هر تغییر سیم‌کشی، آیین پنج‌گامی بازبینی را اجرا کنید
نویسنده: تیم داکنامه · بازبینی: ۲۰۲۶-۱۰-۳۱
فهرست مطالب

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

خواندن پیام کنسول در IDE 2

هر خطایی که IDE نشان می‌دهد در کنسول پایین پنجره ظاهر می‌شود؛ متن خطا معمولاً نارنجی یا قرمز است. دو قاعدهٔ خواندن:

  1. از پایین به بالا بخوانید. پایین‌ترین خط کنسول، نتیجهٔ نهایی (مثلاً exit status 1) است و هرچه بالاتر بروید جزئیات بیشتری می‌بینید؛ نخستین جایی که پیام خطای واقعی با نام فایل و شمارهٔ خط آمده، ریشهٔ مشکل است و خطاهای بعدی اغلب فقط پیامد همان‌اند.
  2. فقط اولین خطا را اصلاح کنید و دوباره کامپایل کنید. یک اشتباه کوچک می‌تواند ده خطای زنجیره‌ای بسازد؛ اصلاح تک‌به‌تک از گم‌شدن جلوگیری می‌کند.

جدا کردن نرم‌افزار از سخت‌افزار

پیش از هر چیز باید بدانید مشکل در کد است یا در مدار. آزمون طلایی: یک اسکچ سالم و شناخته‌شده آپلود کنید — همان Blink درس‌های قبل که مطمئنید درست کار می‌کند:

  • Blink درست اجرا شد؟ برد، کابل و پورت سالم‌اند؛ پس مشکل در کد یا سیم‌کشیِ خودِ شماست.
  • Blink هم کار نکرد؟ مشکل پایه‌ای است: تغذیه، کابل، درایور یا پورت؛ سراغ درس‌های آپلود و سخت‌افزار بروید.

قاعدهٔ کنار آن: هر بار فقط یک چیز را عوض کنید. اگر هم‌زمان کد و سیم‌کشی و پورت را تغییر دهید و درست شود، نمی‌دانید کدام علت واقعی بود و دفعهٔ بعد همان دوباره گریبان‌تان را می‌گیرد.

نقشهٔ دسته‌بندی خطاها

جدول زیر نشانه‌های پرتکرار را به درس مرجع هر کدام وصل می‌کند:

نشانهٔ اصلی دسته درس مرجع
هنگام Verify خطای قرمز می‌دهد؛ اصلاً کامپایل نمی‌شود نرم‌افزار — کامپایل compile-errors
کامپایل سبز است اما هنگام Upload خطا می‌دهد ارتباط — آپلود upload-errors
برد در Tools > Port دیده نمی‌شود یا پورت خاکستری است ارتباط — آپلود upload-errors
LED روشن نمی‌شود، برد خودش ریست می‌شود، رگولاتور داغ است سخت‌افزار — تغذیه hardware-power-issues
سریال مانیتور خالی است، حروف نامفهوم می‌دهد یا ورودی نمی‌گیرد ارتباط — سریال serial-monitor-issues

جدول رفع سریع ده خطای رایج

نشانه علت محتمل راه‌حل یک‌خطی
برد در فهرست پورت‌ها نیست کابل فقط شارژی است یا درایور نصب نیست کابل USB داده‌دار بزنید یا درایور CH340 را نصب کنید
expected ';' before '}' token جاافتادن سمی‌کالن در خط قبل سمی‌کالن انتهای خط قبلی را اضافه کنید
'ledPin' was not declared in this scope غلط تایپی یا ناهم‌خوانی بزرگ/کوچکی حروف نام را دقیقاً مثل محل تعریف بنویسید
not in sync: resp=0x00 هنگام آپلود برد یا پورت اشتباه انتخاب شده از Tools برد و پورت درست را انتخاب کنید
Access is denied هنگام آپلود برنامهٔ دیگری پورت را گرفته سریال مانیتور و برنامه‌های سریال را ببندید
invalid device signature برد دیگری غیر از Uno انتخاب شده از Tools > Board برد واقعی را انتخاب کنید
LED روشن نمی‌شود پین اشتباه، قطبیت یا مقاومت سیم‌ها را با نقشه مقایسه و قطبیت LED را برعکس کنید
سریال مانیتور چیزی نشان نمی‌دهد نبود Serial.begin یا باود ناهم‌خوان باود را 9600 بگذارید و Serial.begin(9600) در setup بگذارید
حروف نامفهوم در مانیتور باود ریت مانیتور با کد فرق دارد سرعت منوی پایین مانیتور را با کد یکی کنید
برد هنگام روشن‌شدن موتور ریست می‌شود افت ولتاژ تغذیه منبع جدا برای موتور، زمین مشترک و دیود هرزگرد

آیین پنج‌گامی پس از هر تغییر سیم‌کشی

هر وقت مدار را دستکاری کردید، این پنج گام را به همین ترتیب اجرا کنید:

  1. تغییر را مکتوب کنید. دقیقاً بنویسید چه چیزی را جابه‌جا کردید؛ حافظه قاتل عیب‌یابی است.
  2. سیم‌کشی را سیم‌به‌سیم با نقشه مقایسه کنید. نه از حفظ، نه با نگاه کلی؛ هر سیم را یکی‌یکی دنبال کنید.
  3. تغذیه را یک بار قطع و وصل کنید. کابل USB را بکشید، چند ثانیه صبر کنید و دوباره وصل کنید.
  4. اسکچ سالم شناخته‌شده را آپلود کنید تا سمت نرم‌افزار از سمت سخت‌افزار جدا شود.
  5. فقط یک اصلاح اعمال کنید و دوباره آزمایش کنید و نتیجه را کنار یادداشت گام ۱ بنویسید.

تمرین‌ها

تمرین

تمرین ۱ — انتخاب ترتیب درست عیب‌یابی

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

  • الف) برد را عوض کنید
  • ب) اسکچ Blink سالم را آپلود کنید
  • ج) سیم‌کشی جدید را سیم‌به‌سیم با نقشه مقایسه کنید
  • د) هم‌زمان کد را بازنویسی و مدار را از نو ببندید
  • ه) تغذیه را قطع و وصل کنید و پس از آن فقط یکی از تغییرات را برگردانید
نمایش راه‌حل

ترتیب درست: ه → ب → ج (و اگر لازم شد فقط یک اصلاح، سپس تکرار). گام نخست همیشه جدا کردن دو متغیر است: شما هم‌زمان سخت‌افزار (LED خارجی) و نرم‌افزار (کد) را عوض کرده‌اید؛ پس اول تغذیه را قطع و وصل کنید و یک تغییر را برگردانید تا فقط یک متغیر بماند. سپس با آپلود Blink سالم تفکیک می‌کنید: اگر Blink کار کرد، برد و کابل سالم‌اند و مشکل در کد یا سیم‌کشی جدید است؛ حالا گام ج، سیم‌به‌سیم مقایسه با نقشه، مقصر را پیدا می‌کند. گزینهٔ الف آخرین راه است، نه اول؛ و د) دقیقاً برعکس قاعدهٔ «هر بار یک تغییر» است.

:::

خلاصه

  • کنسول IDE 2 را از پایین به بالا بخوانید و هر بار فقط نخستین خطا را اصلاح کنید.
  • آپلود یک اسکچ سالم شناخته‌شده مثل Blink، مشکل نرم‌افزار را از سخت‌افزار جدا می‌کند.
  • هر بار فقط یک چیز را تغییر دهید؛ وگرنه نمی‌دانید کدام تغییر مؤثر بود.
  • جدول دسته‌بندی این درس، مسیر رفتن به درس تخصصی درست را نشان می‌دهد.
  • پس از هر تغییر سیم‌کشی، آیین پنج‌گامی را اجرا کنید و تغییرها را مکتوب نگه دارید.

با این نقشهٔ راه، در درس بعدی نخستین دسته را عمیق می‌شکافیم: خطاهای کامپایل و زبانِ دقیقِ پیام‌هایی که کامپایلر به شما می‌گوید.

منابع و ارجاع‌ها

درس‌های مرتبط