تا اینجا با نرم افزار آردوینو آشنا شدیم. همچنین با ارتباط سریال این آردوینو که برای دبیاگ کردن و ارسال دستور هم استفاده میشود، کار کردیم. در این پست قصد داریم تا با یک امکان دیگر ارتباط سریال آردوینو یعنی Serial Plotter آشنا شویم.
Serial Plotter :
خب Serial Plotter چیست؟ همانند سریال مونتور، Serial Plotter هم برای دیدن و تحلیل داده هاییست که، از طرف بورد هایی که توسط آردوینو ساپورت میشوند، از طریق اتصال USB برای کامپیوتر ما ارسال شده است. فرق بین این دو در این است که، سریال مونیتور داده ها بصورت نوشته به ما نشان میدهد. و تمام داده ها را نشان می دهد. ولی Serial Plotter داده ها را بصورت نمودار به ما نشان میدهد. همچنین سریال مونیتور برای ارسال دستور از کامپیوتر به بورد آردوینو استفاده میشود، همچنین Serial Plotter. زمانی که دادههای ما بصورت عددی میباشد و احتتیاج به تحلیل بین آنها داریم، ساده تر آن است که از نمودار ها استفاده کنیم. در اینجاست که Serial Plotter به کار ما میآید. Serial Plotter این اعداد را بصورت گراف و نمودار بر محور زمان به ما نشان میدهد.
برای استفاده از Serial Plotter در نرم افزار آردوینو از منوی Tools گزینهی Serial Plotter را انتخاب کنید. این نمودار دارای آپشن های زیادی نیست و کار با آن آسان است. ولی قابلیتهای مخفی زیادی دارد که می توان در خود نرم افزار آردوینو به آنها دسترسی پیدا کرد.
قابلیت های Serial Plotter :
- نمایش چندین گراف و نمودار بصورت همزمان برای مقایسهی چندین خروجی
- تنظیم مقیاس محور عمودی نمودار
- پانصد نقطه در محور افقی
استفاده از Serial Plotter:
برای اینکه داده های ارسال شدهی ما بصورت نمودار نشان داده شود. فقط کافیست که از دستور Serial.println استفاده کنیم. تا در خط یک عدد را نشان بدهد. Serial Plotter این عددهای ارسال شده را در محور عمودی استفاده میکند. و محور افقی هم بر اساس تعداد اعداد ارسالی می باشد. که می تواند 500 داده را به صورت گراف نشان دهد. وقتی 500 داده پر شد دادهی جدید اضافه شده و قدیمی ترین داده حذف میشود.
مقیاس محور عمودی به صورت اتوماتیک تنظیم میشود. به طوری که بیشترین مقدار و کمترین آنرا پوشش دهد.
نمایش چند نمودار در Serial Plotter:
برای نمایش چند نمودار کافیست اعداد را با کاما یا وایت اسپیس و یا کارکتر تب جدا کنیم. مانند مثال زیر:
void setup() { Serial.begin(115200); } void loop() { int i = random(400, 500); Serial.print(i); Serial.print(','); i = i-150; Serial.print(i); Serial.print(','); i = i-150; Serial.print(i); Serial.print(','); Serial.println(); delay(200); }
خود Serial Plotter به هر نمودار ما یک رنگ اختصاص می دهد.
اختصاص برچسب به هر نمودار در Serial Plotter:
برای این کار دو روش داریم. روش اول این است که اسامی ای میخواهیم به عنوان لیبل نشان داده شود در قسمت Setup پرینت کنیم.
void setup() { // put your setup code here, to run once: Serial.begin(115200); delay(500); Serial.println("freq1,freq2,freq3"); }
توجه داشته باشید این روش در esp8266 جواب نمی دهد. چون ماژول چند خط نا مفهوم به سریال ارسال می کند.
روش دوم این است که قبل ارسال هر داده اسم آنرا با اضافه کردن دو نقطه ارسال کنیم.
void loop() { // put your main code here, to run repeatedly: int i = random(400, 500); Serial.print("freq1:"); Serial.print(i); Serial.print(','); i = i-150; Serial.print("freq2:"); Serial.print(i); Serial.print(','); i = i-150; Serial.print("freq3:"); Serial.print(i); Serial.print(','); Serial.println(); delay(200); }
ایجاد یک محدوده در نمودار:
برای ایجاد کمینه و بیشینهی ثابت می تونیم دو عدد ثابت را در پورت سریال نمایش دهیم. تا در نمودار به طور ثابت مشخص کنندهی کمترین و بیشترین مقدار باشند.
void setup() { // put your setup code here, to run once: Serial.begin(115200); delay(500); } void loop() { // put your main code here, to run repeatedly: int i = random(0, 100); Serial.print("Axis:"); Serial.print(50); Serial.print(','); Serial.print("freq2:"); Serial.print(i); Serial.print(','); Serial.print("Min:"); Serial.print(-50); Serial.print(','); Serial.print("Max:"); Serial.print(150); Serial.print(','); Serial.println(); delay(200); }
دیدگاه ها :