تصویر شاخص ورودی دیجیتال و کلید فشاری

جلسه 5: کار با ترمینال لینوکس و مسیرها Raspberry Pi

در جلسهٔ 5 دورهٔ آموزش رزبری پای به سراغ «کار با ترمینال لینوکس و مسیرها» می‌رویم. هدف این است که مفهوم را از مشاهدهٔ واقعی جدا نکنیم: pwd، ls، cd، mkdir و مفهوم مسیر مطلق و نسبی. این مسیر برای کسی طراحی شده که می‌خواهد با رزبری‌پای یک پروژه قابل توضیح و قابل آزمایش بسازد، نه اینکه فقط چند فرمان را حفظ کند. هر بار مدل دقیق برد و ابزار خود را ثبت کنید؛ نمونهٔ Raspberry Pi 5 و مدل‌های دیگر ممکن است تفاوت سخت‌افزاری داشته باشند.

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

عکس قطعه مرتبط با کار با ترمینال لینوکس و مسیرها
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi 5 SBC Backside.jpg. این تصویر نقشه اتصال نیست.

پس از این جلسه باید بتوانید pwd، ls، cd، mkdir و مفهوم مسیر مطلق و نسبی را با زبان خود توضیح دهید، یک آزمون کوچک طراحی کنید و نتیجه را با انتظار مقایسه کنید. پیش‌نیاز شما شناخت روش خاموش‌کردن امن سیستم، تشخیص سطح ۳٫۳ ولت GPIO و خواندن نقشه پایه‌های مدل خود است. اگر یکی از این موارد را هنوز انجام نداده‌اید، ابتدا جلسه‌های پیش‌نیاز را مرور کنید. نام مدل، نسخه سیستم‌عامل و نوع ابزار را کنار یادداشت آزمایش بنویسید؛ این سه داده در عیب‌یابی بعدی بسیار کمک می‌کنند.

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

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

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

pwd، ls، cd، mkdir و مفهوم مسیر مطلق و نسبی. رزبری‌پای یک رایانهٔ دارای سیستم‌عامل است؛ نتیجهٔ برنامه به تنظیم سیستم، مجوزها و سخت‌افزار وابسته است. اگر نسخه سیستم‌عامل و کتابخانه با مدل برد هماهنگ نباشد، رابط‌های سخت‌افزاری ممکن است درست کار نکنند. اگر یک رابط یا پایه برای چند کار انتخاب شود، باید تداخل‌ها را پیش از اتصال مشخص کرد. محدودهٔ ولتاژ و جریان را از جدول الکتریکی راهنمای سازنده بخوانید و هیچ GPIO را جای منبع تغذیه بار پرمصرف به کار نبرید. یک فرض را در هر مرحله تغییر دهید تا علت هر نتیجه معلوم بماند.

عکس قطعه مرتبط با کار با ترمینال لینوکس و مسیرها
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — First LED circuit (48433844026).jpg. این تصویر نقشه اتصال نیست.

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

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

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

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

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

عکس قطعه مرتبط با کار با ترمینال لینوکس و مسیرها
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi with Camera Module.jpg. این تصویر نقشه اتصال نیست.

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

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

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

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

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

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

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

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

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

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

منبع فنی: راهنمای رسمی Raspberry Pi. دستورهای سیستم‌عامل را با نسخه نصب‌شده تطبیق دهید.

ثبت دقیق آزمایش کار با ترمینال لینوکس و مسیرها

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

آزمون مرزی و بازبینی

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

ارتباط این جلسه با کل دوره

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

چک‌لیست پایان جلسه

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

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

جلسه 4: اولین بوت و تنظیمات پایه سیستم Raspberry Pi

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

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

عکس قطعه مرتبط با اولین بوت و تنظیمات پایه سیستم
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi 5 SBC.jpg. این تصویر نقشه اتصال نیست.

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

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

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

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

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

عکس قطعه مرتبط با اولین بوت و تنظیمات پایه سیستم
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — GPIO board with Raspberry Pi.jpg. این تصویر نقشه اتصال نیست.

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

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

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

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

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

عکس قطعه مرتبط با اولین بوت و تنظیمات پایه سیستم
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi Sense HAT – 50997474555.jpg. این تصویر نقشه اتصال نیست.

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

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

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

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

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

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

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

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

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

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

منبع فنی: راهنمای رسمی Raspberry Pi. دستورهای سیستم‌عامل را با نسخه نصب‌شده تطبیق دهید.

ثبت دقیق آزمایش اولین بوت و تنظیمات پایه سیستم

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

آزمون مرزی و بازبینی

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

ارتباط این جلسه با کل دوره

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

چک‌لیست پایان جلسه

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

ادامه مطلب
تصویر شاخص تغذیه و ایمنی اتصال‌های آردوینو

جلسه 3: نصب Raspberry Pi OS با Imager

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

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

عکس قطعه مرتبط با نصب Raspberry Pi OS با Imager
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi 5 Backside.jpg. این تصویر نقشه اتصال نیست.

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

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

رزبری‌پای مدل سازگار، منبع تغذیه و رسانه بوت مناسب، کابل‌های مورد نیاز و مولتی‌متر و قطعه مرتبط با «نصب Raspberry Pi OS با Imager» را آماده کنید. پیش از جابه‌جایی سیم GPIO، سیستم را خاموش و تغذیه را قطع کنید. شماره پایه فیزیکی و BCM و سطح ۳٫۳ ولت را با راهنمای رسمی همان مدل بررسی کنید. عکس‌های این مقاله برای شناخت ظاهری‌اند و نقشه اتصال نیستند.

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

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

عکس قطعه مرتبط با نصب Raspberry Pi OS با Imager
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi board.jpg. این تصویر نقشه اتصال نیست.

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

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

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

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

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

عکس قطعه مرتبط با نصب Raspberry Pi OS با Imager
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi Sense HAT – 51065957303.jpg. این تصویر نقشه اتصال نیست.

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

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

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

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

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

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

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

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

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

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

منبع فنی: راهنمای رسمی Raspberry Pi. دستورهای سیستم‌عامل را با نسخه نصب‌شده تطبیق دهید.

ثبت دقیق آزمایش نصب Raspberry Pi OS با Imager

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

آزمون مرزی و بازبینی

بعد از آزمون اصلی، حالت بدون داده و حالت خطا را نیز بررسی کنید. در آزمون GPIO از حدود الکتریکی راهنمای سازنده فراتر نروید. سیستم را یک بار بدون ورودی اختیاری و یک بار با ورودی معتبر راه‌اندازی کنید. در هر دو حالت، خروجی باید تعریف‌شده باشد. اگر مقدار ناپایدار می‌بینید، پیش از افزودن تأخیر نرم‌افزاری، گزارش سیستم، کیفیت اتصال و تغذیه را بسنجید. برای «نصب Raspberry Pi OS با Imager» این روش باعث می‌شود یک نتیجه اتفاقی را با عملکرد قابل اعتماد اشتباه نگیرید.

ارتباط این جلسه با کل دوره

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

چک‌لیست پایان جلسه

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

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

جلسه 2: وسایل، منبع تغذیه و انتخاب رسانه بوت Raspberry Pi

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

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

عکس قطعه مرتبط با وسایل، منبع تغذیه و انتخاب رسانه بوت
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi 5.jpg. این تصویر نقشه اتصال نیست.

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

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

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

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

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

عکس قطعه مرتبط با وسایل، منبع تغذیه و انتخاب رسانه بوت
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi 5 — 2025 — 0009-16.jpg. این تصویر نقشه اتصال نیست.

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

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

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

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

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

عکس قطعه مرتبط با وسایل، منبع تغذیه و انتخاب رسانه بوت
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — 1617 – Raspberry Pi Sense HAT.jpg. این تصویر نقشه اتصال نیست.

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

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

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

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

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

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

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

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

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

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

منبع فنی: راهنمای رسمی Raspberry Pi. دستورهای سیستم‌عامل را با نسخه نصب‌شده تطبیق دهید.

ثبت دقیق آزمایش وسایل، منبع تغذیه و انتخاب رسانه بوت

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

آزمون مرزی و بازبینی

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

ارتباط این جلسه با کل دوره

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

چک‌لیست پایان جلسه

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

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

جلسه 1: رزبری‌پای چیست و کدام مدل برای آموزش مناسب است Raspberry Pi

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

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

عکس قطعه مرتبط با رزبری‌پای چیست و کدام مدل برای آموزش مناسب است
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi 5 Board.jpg. این تصویر نقشه اتصال نیست.

پس از این جلسه باید بتوانید تفاوت رایانه تک‌برد با میکروکنترلر، اجزای Raspberry Pi 5 و نقش سیستم‌عامل را با زبان خود توضیح دهید، یک آزمون کوچک طراحی کنید و نتیجه را با انتظار مقایسه کنید. پیش‌نیاز شما شناخت روش خاموش‌کردن امن سیستم، تشخیص سطح ۳٫۳ ولت GPIO و خواندن نقشه پایه‌های مدل خود است. اگر یکی از این موارد را هنوز انجام نداده‌اید، ابتدا جلسه‌های پیش‌نیاز را مرور کنید. نام مدل، نسخه سیستم‌عامل و نوع ابزار را کنار یادداشت آزمایش بنویسید؛ این سه داده در عیب‌یابی بعدی بسیار کمک می‌کنند.

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

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

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

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

عکس قطعه مرتبط با رزبری‌پای چیست و کدام مدل برای آموزش مناسب است
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi 5 (vertical).jpg. این تصویر نقشه اتصال نیست.

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

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

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

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

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

عکس قطعه مرتبط با رزبری‌پای چیست و کدام مدل برای آموزش مناسب است
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi Sense HAT.jpg. این تصویر نقشه اتصال نیست.

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

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

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

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

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

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

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

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

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

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

منبع فنی: راهنمای رسمی Raspberry Pi. دستورهای سیستم‌عامل را با نسخه نصب‌شده تطبیق دهید.

ثبت دقیق آزمایش رزبری‌پای چیست و کدام مدل برای آموزش مناسب است

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

آزمون مرزی و بازبینی

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

ارتباط این جلسه با کل دوره

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

چک‌لیست پایان جلسه

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

ادامه مطلب
تصویر شاخص ذخیره تنظیمات در EEPROM

جلسه 21: ذخیره تنظیمات در EEPROM Arduino

در جلسهٔ 21 دورهٔ آموزش آردوینو به سراغ «ذخیره تنظیمات در EEPROM» می‌رویم. هدف این است که مفهوم را از مشاهدهٔ واقعی جدا نکنیم: ماندگاری داده، محدودیت دفعات نوشتن و بازیابی مقدار آغازین. این مسیر برای کسی طراحی شده که می‌خواهد با برد آردوینو یک پروژه قابل توضیح و قابل آزمایش بسازد، نه اینکه فقط نام رجیسترها را حفظ کند. هر بار نسخه دقیق قطعه و ابزار خود را ثبت کنید؛ نمونهٔ Arduino Uno R3 در مواردی به دیتاشیت خودش نیاز دارد.

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

عکس قطعه مرتبط با ذخیره تنظیمات در EEPROM
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Arduino display breadboard.jpg. این تصویر نقشه اتصال نیست.

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

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

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

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

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

عکس قطعه مرتبط با ذخیره تنظیمات در EEPROM
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Arduino UNO board.JPG. این تصویر نقشه اتصال نیست.

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

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

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

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

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

عکس قطعه مرتبط با ذخیره تنظیمات در EEPROM
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — ArduinoBreadboard.jpeg. این تصویر نقشه اتصال نیست.

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

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

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

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

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

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

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

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

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

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

منبع فنی: نمونه‌های رسمی Arduino. مشخصات نسخهٔ برد را با راهنمای همان مدل تطبیق دهید.

ثبت دقیق آزمایش ذخیره تنظیمات در EEPROM

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

آزمون مرزی و بازبینی

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

ارتباط این جلسه با کل دوره

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

چک‌لیست پایان جلسه

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

ادامه مطلب
تصویر شاخص ثبت داده روی کارت microSD

جلسه 20: ثبت داده روی کارت microSD Arduino

در جلسهٔ 20 دورهٔ آموزش آردوینو به سراغ «ثبت داده روی کارت microSD» می‌رویم. هدف این است که مفهوم را از مشاهدهٔ واقعی جدا نکنیم: سامانه فایل، باز و بستن فایل، ثبت زمان و مدیریت خطا. این مسیر برای کسی طراحی شده که می‌خواهد با برد آردوینو یک پروژه قابل توضیح و قابل آزمایش بسازد، نه اینکه فقط نام رجیسترها را حفظ کند. هر بار نسخه دقیق قطعه و ابزار خود را ثبت کنید؛ نمونهٔ Arduino Uno R3 در مواردی به دیتاشیت خودش نیاز دارد.

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

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

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

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

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

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

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

عکس قطعه مرتبط با ثبت داده روی کارت microSD
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Arduino-Uno Board.jpg. این تصویر نقشه اتصال نیست.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

منبع فنی: نمونه‌های رسمی Arduino. مشخصات نسخهٔ برد را با راهنمای همان مدل تطبیق دهید.

ثبت دقیق آزمایش ثبت داده روی کارت microSD

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

آزمون مرزی و بازبینی

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

ارتباط این جلسه با کل دوره

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

چک‌لیست پایان جلسه

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

ادامه مطلب
تصویر شاخص ارتباط I2C و یافتن نشانی ماژول

جلسه 18: ارتباط I2C و یافتن نشانی ماژول Arduino

در جلسهٔ 18 دورهٔ آموزش آردوینو به سراغ «ارتباط I2C و یافتن نشانی ماژول» می‌رویم. هدف این است که مفهوم را از مشاهدهٔ واقعی جدا نکنیم: Wire، دو خط SDA و SCL، آدرس دستگاه و مقاومت پول‌آپ. این مسیر برای کسی طراحی شده که می‌خواهد با برد آردوینو یک پروژه قابل توضیح و قابل آزمایش بسازد، نه اینکه فقط نام رجیسترها را حفظ کند. هر بار نسخه دقیق قطعه و ابزار خود را ثبت کنید؛ نمونهٔ Arduino Uno R3 در مواردی به دیتاشیت خودش نیاز دارد.

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

عکس قطعه مرتبط با ارتباط I2C و یافتن نشانی ماژول
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Arduino Uno R3 development board 01.jpg. این تصویر نقشه اتصال نیست.

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

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

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

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

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

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

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

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

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

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

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

عکس قطعه مرتبط با ارتباط I2C و یافتن نشانی ماژول
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Arduino due led.jpg. این تصویر نقشه اتصال نیست.

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

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

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

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

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

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

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

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

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

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

منبع فنی: نمونه‌های رسمی Arduino. مشخصات نسخهٔ برد را با راهنمای همان مدل تطبیق دهید.

ثبت دقیق آزمایش ارتباط I2C و یافتن نشانی ماژول

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

آزمون مرزی و بازبینی

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

ارتباط این جلسه با کل دوره

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

چک‌لیست پایان جلسه

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

ادامه مطلب
تصویر شاخص ارتباط SPI و تبادل با ماژول

جلسه 19: ارتباط SPI و تبادل با ماژول Arduino

در جلسهٔ 19 دورهٔ آموزش آردوینو به سراغ «ارتباط SPI و تبادل با ماژول» می‌رویم. هدف این است که مفهوم را از مشاهدهٔ واقعی جدا نکنیم: خطوط SPI، انتخاب وسیله، حالت انتقال و اشتراک گذرگاه. این مسیر برای کسی طراحی شده که می‌خواهد با برد آردوینو یک پروژه قابل توضیح و قابل آزمایش بسازد، نه اینکه فقط نام رجیسترها را حفظ کند. هر بار نسخه دقیق قطعه و ابزار خود را ثبت کنید؛ نمونهٔ Arduino Uno R3 در مواردی به دیتاشیت خودش نیاز دارد.

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

عکس قطعه مرتبط با ارتباط SPI و تبادل با ماژول
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Arduino Digital Potentiometer.jpg. این تصویر نقشه اتصال نیست.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

منبع فنی: نمونه‌های رسمی Arduino. مشخصات نسخهٔ برد را با راهنمای همان مدل تطبیق دهید.

ثبت دقیق آزمایش ارتباط SPI و تبادل با ماژول

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

آزمون مرزی و بازبینی

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

ارتباط این جلسه با کل دوره

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

چک‌لیست پایان جلسه

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

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

جلسه 17: وقفه خارجی و شمارش رویداد Arduino

در جلسهٔ 17 دورهٔ آموزش آردوینو به سراغ «وقفه خارجی و شمارش رویداد» می‌رویم. هدف این است که مفهوم را از مشاهدهٔ واقعی جدا نکنیم: attachInterrupt، تابع کوتاه وقفه و داده مشترک با برنامه اصلی. این مسیر برای کسی طراحی شده که می‌خواهد با برد آردوینو یک پروژه قابل توضیح و قابل آزمایش بسازد، نه اینکه فقط نام رجیسترها را حفظ کند. هر بار نسخه دقیق قطعه و ابزار خود را ثبت کنید؛ نمونهٔ Arduino Uno R3 در مواردی به دیتاشیت خودش نیاز دارد.

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

عکس قطعه مرتبط با وقفه خارجی و شمارش رویداد
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Arduino circuit.jpg. این تصویر نقشه اتصال نیست.

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

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

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

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

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

عکس قطعه مرتبط با وقفه خارجی و شمارش رویداد
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Arduino UNO RTC.jpg. این تصویر نقشه اتصال نیست.

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

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

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

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

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

عکس قطعه مرتبط با وقفه خارجی و شمارش رویداد
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — 20140922 122126 resized.jpg. این تصویر نقشه اتصال نیست.

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

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

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

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

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

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

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

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

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

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

منبع فنی: نمونه‌های رسمی Arduino. مشخصات نسخهٔ برد را با راهنمای همان مدل تطبیق دهید.

ثبت دقیق آزمایش وقفه خارجی و شمارش رویداد

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

آزمون مرزی و بازبینی

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

ارتباط این جلسه با کل دوره

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

چک‌لیست پایان جلسه

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

ادامه مطلب