رفتن به محتوا

ارتباط آردوینو با اکسل: ارسال داده و رسم نمودار در لحظه

ابزار و گجت
۰ نظر
۲۷ نفر
کد ۴۷۳۸

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

تو این پروژه می‌خوایم یاد بگیریم که چطوری می‌شه اطلاعات رو به صورت مستقیم و در لحظه از برد آردوینو به نرم‌افزار مایکروسافت اکسل فرستاد. اینطوری می‌تونی خیلی راحت یه دیتالاگر (Data Logger) حرفه‌ای بسازی و بدون نیاز به برنامه‌نویسی‌های پیچیده کامپیوتری، داده‌هات رو بصری کنی.

تو این آموزش اختصاصی از آیسی‌مدار، با استفاده از یه افزونه کاربردی به اسم PLX-DAQ، این ارتباط رو خیلی ساده برقرار می‌کنیم. پس قطعات رو آماده کن و نرم‌افزارها رو بالا بیار تا بریم سراغ ساخت این سیستم جذاب!

قطعات موردنیاز

  • برد آردوینو (مدل UNO یا هر مدل دلخواه دیگه)
  • نرم‌افزار آردوینو (Arduino IDE)
  • مایکروسافت اکسل (تست‌شده روی نسخه 2010 به بالا)
  • سیستم‌عامل ویندوز
  • افزونه PLX-DAQ برای اکسل
مرحله ۱

پیش‌نیازها و نصب نرم‌افزار

برای شروع این پروژه به چند تا پیش‌نیاز ساده احتیاج داریم. اول از همه یه سیستم ویندوزی لازم داری که نرم‌افزار آردوینو و مایکروسافت اکسل روش نصب باشه. برد آردوینو هم که پای ثابته و فرقی نمی‌کنه از UNO استفاده کنی یا مدل‌های دیگه. اما مهم‌ترین ابزار ما اینجا، افزونه‌ای به اسم PLX-DAQ هست که باید برای ارتباط با اکسل دانلودش کنی.

نصب این افزونه خیلی راحت و بی‌دردسره. بعد از نصب، یه پوشه به اسم PLX-DAQ روی دسکتاپت ساخته می‌شه که داخلش یه میان‌بر برای باز کردن فایل اکسل مخصوص این افزونه قرار داره. هر وقت بخوای داده‌ها رو از آردوینو بخونی و وارد اکسل کنی، باید از همین فایل میان‌بر استفاده کنی.

مرحله ۲

برنامه‌نویسی برد آردوینو

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

تو این کدها از دستوراتی استفاده شده که مخصوص ارتباط با افزونه اکسل هستن. اول باید ارتباط سریال رو با یه باودریت مشخص (مثل 9600) شروع کنی. دستور Serial.println("CLEARDATA") هم برای اینه که اطلاعات مربوط به تست‌های قبلی از روی شیت پاک بشن.

با استفاده از دستور Serial.println("LABEL,Acolumn,Bcolumn,...") می‌تونی برای ستون‌های اکسل اسم انتخاب کنی تا نرم‌افزار بدونه داده‌های بعدی مربوط به کدوم ستونه (مثلا به جای Acolumn می‌تونی بنویسی Time). دستور RESETTIMER هم تایمر رو صفر می‌کنه.

تو حلقه لوپ باید مقادیر رو چاپ کنی. مثلا دستور Serial.print("DATA,TIME,TIMER,") زمان رو تو ستون اول می‌نویسه. بعدش باید مقادیر متغیرهات رو پرینت بگیری.

یادت باشه دستور آخر حتما باید println باشه تا اکسل بفهمه برای داده‌های بعدی باید بره سطر پایین! یه تأخیر کوچیک هم با delay بذار تا سیستم هنگ نکنه.

معلومه که این کد به تنهایی اطلاعات سنسور رو نمی‌خونه! این فقط یه اسکلت‌بندی برای درک نحوه ارساله. باید فرمول‌ها و کدهای مربوط به خوندن سنسورت رو به این قالب اضافه کنی و متغیرها رو جایگزین کنی تا مقادیر واقعی به اکسل فرستاده بشن.

کافیه دستوراتی مثل Serial.read یا analogRead رو به کدت اضافه کنی، اسم متغیرها رو بذاری Adata و Bdata و به همین راحتی یه دیتالاگر بسازی.

مرحله ۳

ارسال اطلاعات به اکسل و رسم نمودار

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

یه نکته خیلی خیلی مهم: به هیچ وجه سریال مانیتور (Serial Monitor) نرم‌افزار آردوینو رو باز نکن! اگه این کار رو بکنی، پورت اشغال می‌شه و ارتباطت با اکسل قطع می‌شه. حالا همون فایل میان‌بر PLX-DAQ Spreadsheet رو باز کن. اگه اکسل پیغام فعال‌سازی ActiveX داد، تأییدش کن تا پنجره تنظیمات پلاگین باز بشه.

تو پنجره باز شده، پورت USB که آردوینو بهش وصله رو انتخاب کن. اگه پورت رو نمی‌شناسی، یکی‌یکی تستشون کن. تو قسمت Baud هم همون عددی رو وارد کن که تو دستور Serial.begin کدهات نوشته بودی (مثلا 9600). حالا می‌تونی یه نمودار خالی تو اکسل بسازی.

ستون‌هایی که می‌خوای روی محورهای X و Y باشن رو انتخاب کن (این کار تو نسخه‌های مختلف اکسل یه مقدار متفاوته ولی اصلا سخت نیست). بعدش روی دکمه Collect Data تو پنل افزونه کلیک کن تا جمع‌آوری داده‌ها شروع بشه. می‌بینی که اکسل همزمان با دریافت اطلاعات از آردوینو، نمودارشون رو برات به صورت زنده رسم می‌کنه!

اگه بخوای نمودارت دقیق‌تر باشه، می‌تونی ویژگی‌های ظاهریش رو تغییر بدی. مثلا می‌تونی با قطع کردن موقت دریافت داده، روی محورهای X یا Y راست‌کلیک کنی و بازه نمایش اعداد رو روی حالت دستی و محدودتر تنظیم کنی تا زوم بهتری داشته باشی.

تازه می‌تونی روی خطوط نمودار هم راست‌کلیک کنی و رنگ یا ضخامت خطوط رو به سلیقه خودت دربیاری. این پایه‌ای‌ترین حالت برای رسم نمودار و ذخیره اطلاعات سنسورها بود که خیلی جاها به کارت میاد.

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

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

تو میتونی اولین سازنده باشی!

اگه پروژه رو ساختی به اشتراک بزار و اعتبار هدیه بگیر

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

آموزش‌های مشابه

گفتگو‌های کاربران

هنوز نظری ثبت نشده؛ تو شروع کن!