رسم ساده از راه دور داده با استفاده از Android / Arduino / pfodApp
این دستورالعمل به شما نشان میدهد که چگونه دادههای حسگر آردوینو را بر روی تلفن همراه اندرویدی خود ترسیم کنید و آنها را برای دانلود بعدی در رایانه خود ضبط کنید. این دستورالعمل ها در www.pfod.com.au نیز موجود است
نیازی به برنامه نویسی اندروید نیست و به برنامه نویسی آردوینو بسیار کم نیاز است.
این یک برنامه افزودنی از ثبت داده های تلفن همراه ساده با استفاده از pfodApp است
مرحله 1: شروع سریع نقشه برداری
الف) یک برد آردوینو و یک ماژول بلوتوث (مانند Uno و بلوتوث شیلد یا FioV3+Bluetooth ) تهیه کنید
ب) آردوینو IDE را نصب کنید
ج) برد آردوینو (بدون ماژول بلوتوث متصل) را با کابل USB وصل کنید .
د) این طرح را در IDE آردوینو کپی کنید و آن را کامپایل و در برد آردوینو بارگذاری کنید)
ه) ماژول بلوتوث شیلد را به Uno وصل کنید ( شلپ بلوتوث برای 9600baud از قبل پیکربندی شده است اما سوئیچ 3 ولت/ 5 ولت را روی 5 ولت قرار دهید و تنظیم کنید . سوئیچ To Board/To FT232 به موقعیت To Board
f) موبایل اندروید خود را با pfodApp بارگذاری کنید . g) همانطور که در pfodAppForAndroidGettingStarted.pdf
توضیح داده شده است، یک اتصال بین تلفن همراه خود و ماژول بلوتوث تنظیم کنید. h) pfodApp را راه اندازی کنید و از طریق ماژول بلوتوث به برد آردوینو متصل شوید. من تمام کردم. تلفن همراه شما اکنون تعداد مبدل Arduino AtoD را برای ورودی A0 ذخیره و ترسیم می کند
مرحله 2: طرح طرح
رسم با استفاده از pfodApp به دو چیز نیاز دارد: الف
) یک جریان داده (در قالب CSV) و
ب) یک دستور نمودار از pfodDevice (Arduino)
طرح، SimpleDataPlotting.ino ، فقط دو کار را انجام می دهد.
ابتدا ورودی آنالوگ A0 را یک بار در ثانیه میخواند و ثانیههای جاری و شمارشها را با فرمت CSV ارسال میکند،
ثانیاً وقتی pfodApp متصل میشود و منوی اصلی را درخواست میکند، طرح با دستور رسم پاسخ میدهد تا اندازهگیریها را شروع کند.
در اینجا کدی وجود دارد که یک بار در ثانیه برای خواندن ورودی آنالوگ A0 و نوشتن ثانیه های فعلی اجرا می شود و تا اتصال بلوتوث به حساب می آید.
// خواندن A0 یک بار در ثانیه
int val = analogRead(0); // A0
// خروجی زمان فعلی و خواندن با فرمت csv
Serial.print(thisMillis/1000); // اولین فیلد زمان بر حسب ثانیه است
Serial.print(“,”); // کاما فیلدها را جدا می کند
Serial.println(val); // خط جدید رکورد داده را خاتمه می دهد
در اینجا کدی است که به درخواست pfodApp برای منوی اصلی pfodDevice (Arduino Uno) پاسخ می دهد.
بایت در = 0;
if (Serial.available()) {
in = Serial.read();
بایت cmd = parse(in);
if (cmd != 0) { // یک پیام کامل را تجزیه کرده باشد { به }
if (cmd == (بایت)'.') { // pfodApp منوی اصلی را درخواست کرده است
// صفحه رسم باز را ارسال کند
Serial.println( F("{=Plot A0 Analog|Time(sec)|A0 Counts}")); // این منوی اصلی است
} else {
// این هرگز نباید اتفاق بیفتد
Serial.println(“Unknown cmd”);
Serial.println("{}"); // همیشه با چیزی در این مورد یک پیام خالی پاسخ دهید
}
cmd = 0; // اکنون این cmd را پردازش کرده اند
// پس آن را پاک کنید و منتظر بعدی باشید
}
}
هنگامی که pfodApp تلفن همراه شما متصل می شود، به طور خودکار منوی اصلی را می خواهد (با ارسال پیام {.} )، تجزیه کننده موجود در طرح (به کد پایین طرح مراجعه کنید) {.} را تجزیه می کند و ' را برمی گرداند . ' فرمان سپس طرح یک دستور نمودار
{=Analog A0 Plot|Time(sec)|A0 Counts} را ارسال می کند.
این دستور به pfodApp دستور می دهد تا صفحه ای به نام "Analog A0 Plot" را باز کند و زمان را بر اساس شمارش ها ترسیم کند. سپس pfodApp داده های خام ورودی را اسکن می کند و به دنبال خطوط دارای دو فیلد می گردد و فیلد اول را به عنوان مقدار x و دومی را به عنوان مقدار y می گیرد و آن نقطه را به نمودار اضافه می کند.