সুচিপত্র:
- ধাপ 1: দ্রুত শুরু চক্রান্ত
- ধাপ 2: প্লটিং স্কেচ
- ধাপ 3: আরো বিস্তারিত
- ধাপ 4: সিরিয়াল মনিটরের সাথে পরীক্ষা করা
- ধাপ 5: একটি অ্যান্ড্রয়েড মোবাইলের সাথে সংযোগ স্থাপন
- ধাপ 6: আপনার কম্পিউটারে ডেটা স্থানান্তর
ভিডিও: Android / Arduino / PfodApp ব্যবহার করে সহজ রিমোট ডেটা প্লট করা: 6 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:00
শুধুমাত্র Arduino এর মিলিস () ব্যবহার করে তারিখ/সময়ের বিপরীতে ডেটা প্লট করার জন্য
এই নির্দেশযোগ্য আপনাকে দেখায় কিভাবে আপনার অ্যান্ড্রয়েড মোবাইলে আরডুইনো সেন্সর ডেটা প্লট করবেন এবং পরে আপনার কম্পিউটারে ডাউনলোড করার জন্য এটি ক্যাপচার করবেন। এই নির্দেশাবলী www.pfod.com.au এও পাওয়া যায় কোন Android প্রোগ্রামিং এর প্রয়োজন নেই এবং খুব কম Arduino প্রোগ্রামিং প্রয়োজন। এটি pfodApp ব্যবহার করে সরল মোবাইল ডেটা লগিং এর একটি এক্সটেনশন
ধাপ 1: দ্রুত শুরু চক্রান্ত
a) একটি Arduino বোর্ড এবং একটি ব্লুটুথ মডিউল পান (যেমন Uno এবং Bluetooth Shield বা FioV3+Bluetooth) খ) Arduino IDE ইনস্টল করুন c) একটি USB তারের সাথে Arduino বোর্ডটি সংযুক্ত করুন (কোন ব্লুটুথ মডিউল সংযুক্ত নয়)। d) এই স্কেচটি Arduino IDE তে কপি করুন এবং কম্পাইল করুন এবং Arduino বোর্ডে লোড করুন) e) ব্লুটুথ শিল্ড মডিউলটি ইউনোতে সংযুক্ত করুন (ব্লুটুথ শিল্ড 9600baud এর জন্য প্রি-কনফিগার করা আছে কিন্তু 3V/5V সুইচ 5V সেট করুন টু বোর্ড/এফটি 232 টু বোর্ড পজিশনে স্যুইচ করুন। g) pfodAppForAndroidGettingStarted.pdf এ বর্ণিত আপনার মোবাইল এবং ব্লুটুথ মডিউলের মধ্যে একটি সংযোগ স্থাপন করুন h) pfodApp শুরু করুন এবং ব্লুটুথ মডিউলের মাধ্যমে আপনার আরডুইনো বোর্ডের সাথে সংযোগ স্থাপন করুন। আমি শেষ করেছি. আপনার মোবাইল এখন সঞ্চয় করবে এবং Arduino AtoD রূপান্তরকারীকে ইনপুট A0 এর জন্য গণনা করবে
ধাপ 2: প্লটিং স্কেচ
PfodApp ব্যবহার করে প্লট করার জন্য দুটি জিনিস প্রয়োজন:- a) ডেটার একটি স্ট্রিম (CSV ফর্ম্যাটে) এবং b) pfodDevice (Arduino) থেকে একটি প্লট কমান্ড, SimpleDataPlotting.ino, শুধুমাত্র দুটি কাজ করে। প্রথমে এটি সেকেন্ডে একবার A0 এনালগ ইনপুট পড়ে এবং বর্তমান সেকেন্ড পাঠায় এবং CSV ফরম্যাটে গণনা করে, দ্বিতীয় যখন pfodApp সংযোগ করে এবং প্রধান মেনু অনুরোধ করে, স্কেচ প্লট কমান্ড দিয়ে সাড়া দেয় পরিমাপ চক্রান্ত শুরু করার জন্য। A0 এনালগ ইনপুট পড়ার জন্য সেকেন্ডে একবার এক্সিকিউট করা কোড এবং বর্তমান সেকেন্ড লিখুন, ব্লুটুথ সংযোগের জন্য গণনা করা হয়। // A0 একবার সেকেন্ডে পড়ুন int val = analogRead (0); // A0 // আউটপুট বর্তমান সময় এবং csv বিন্যাসে পড়া parser.print (thisMillis/1000); // প্রথম ক্ষেত্র সেকেন্ড পার্সার.প্রিন্ট (",") এ সময়; // কমা ক্ষেত্রগুলি পৃথক করে parser.println (val); // নতুন লাইন ডেটা রেকর্ড বন্ধ করে দেয়
PfodDevice এর (Arduino Uno's) প্রধান মেনুর জন্য pfodApp অনুরোধে সাড়া দেওয়া কোডটি এখানে।
বাইট cmd = parser.parse (); if (cmd! = 0) {// একটি সম্পূর্ণ বার্তা বিশ্লেষণ করেছে ("{= এনালগ A0 প্লট | সময় (সেকেন্ড) | গণনা}")); // এটি প্রধান মেনু} অন্যথায় যদি ('!' == cmd) {// CloseConnection কমান্ড closeConnection (parser.getPfodAppStream ()); } অন্য {// অজানা কমান্ড parser.print (F ("{}")); // সর্বদা একটি pfod বার্তা পাঠান অন্যথায় pfodApp সংযোগ বিচ্ছিন্ন হয়ে যাবে। }}
যখন আপনার মোবাইলের pfodApp সংযুক্ত হয় তখন এটি স্বয়ংক্রিয়ভাবে প্রধান মেনু জিজ্ঞাসা করে ({।} বার্তা পাঠিয়ে), স্কেচের পার্সার (স্কেচের নীচে কোডটি দেখুন) {।} পার্স করে এবং '।' কমান্ড স্কেচ তারপর একটি প্লট কমান্ড ফেরত পাঠায় {= Analog A0 Plot | Time (sec) | A0 Counts} সেই কমান্ড pfodApp কে "Analog A0 Plot" নামক একটি স্ক্রিন খোলার নির্দেশ দেয় এবং গণনার বিরুদ্ধে সময় চক্রান্ত করে। PfodApp তারপর আসা কাঁচা তথ্য স্ক্যান করে এবং দুটি ক্ষেত্রের সাথে লাইনগুলি সন্ধান করে এবং প্রথম ক্ষেত্রটিকে x মান হিসাবে এবং দ্বিতীয়টি y মান হিসাবে নেয় এবং প্লটটিতে সেই বিন্দুটি যোগ করে। যখনই একটি চক্রান্ত স্ক্রিন (বা একটি কাঁচা তথ্য পর্দা) খোলা হয়, pfodApp আপনার মোবাইলে একটি স্থানীয় ফাইলে সমস্ত কাঁচা ডেটা সংরক্ষণ শুরু করে। আপনি pfodApp থেকে বের না হওয়া পর্যন্ত pfodApp ডেটা সংরক্ষণ করতে থাকে। আপনি এই প্রক্রিয়াটি আপনার কম্পিউটারে আরও প্রক্রিয়াকরণের জন্য ডাউনলোড করতে পারেন (পরবর্তী ধাপগুলির মধ্যে একটি দেখুন)। প্লট কমান্ডের অন্যান্য অপশন রয়েছে যা আপনাকে কিছু ক্ষেত্র উপেক্ষা করতে, প্লটের স্কেল সেট করতে, এক চার্টে একাধিক প্লট প্লট করতে ইত্যাদি বিস্তারিত এবং উদাহরণের জন্য pfodSpecification দেখুন। PfodApp অনেক কিছু করতে পারে তারপর শুধু চক্রান্ত, এই উদাহরণ দেখুন। উপরের প্লটটি দুটি চার্টের একটি উদাহরণ যার একটিতে দুটি প্লট রয়েছে। এই প্লটটি ArduMower এর থেকে এটা নিজে রোবটিক মাওয়ার করুন! যা একই pfodApp ব্যবহার করে একটি রোবোটিক মাওয়ার নিয়ন্ত্রণ করে। সমস্ত pfodDevices নিয়ন্ত্রণ করতে একই pfodApp ব্যবহার করা হয়। এটি pfodDevices যা সম্পূর্ণরূপে নির্ধারণ করে যে ব্যবহারকারীদের কাছে কোন পর্দা প্রদর্শিত হবে।
ধাপ 3: আরো বিস্তারিত
অ্যান্ড্রয়েড মার্কেট থেকে পাওয়া pfodApp এর সর্বশেষ সংস্করণটি একটি pfodDevice (যেমন Arduino) এর পাঠানো কাঁচা ডেটাকে প্লট করে পরবর্তীতে ব্যবহারের জন্য একটি ফাইলে সংরক্ষণ করতে সক্ষম করে। আপনার অ্যান্ড্রয়েড মোবাইল থেকে আপনার কম্পিউটারে ফাইলটি ডাউনলোড করার জন্য pfodAppForAndroidGettingStarted.pdf দেখুন। প্লট করার জন্য দুটি জিনিস প্রয়োজন:- ক) ডেটার একটি স্ট্রিম (CSV ফর্ম্যাটে) এবং খ) pfodDevice থেকে একটি প্লট কমান্ড আপনার pfodDevice (Arduino) pfod বার্তার বাইরে যেকোনো ধরনের ডেটা পাঠাতে পারে। pfod বার্তা যা {} দ্বারা আবদ্ধ থাকে যা তাদের অন্যান্য তথ্য থেকে আলাদা করে। আপনি যদি ডেটা প্লট করতে চান তাহলে আপনাকে CSV ফরম্যাটে ডেটা পাঠাতে হবে। এটি কমা দ্বারা বিভক্ত ডেটা মান, এবং একটি নতুন লাইন (সিআর বা এলএফ বা সিআর এলএফ) দ্বারা বন্ধ করা হয় উদাহরণস্বরূপ 105, 680 যখন pfodDevice ব্যবহারকারীর কাছে একটি প্লট প্রদর্শন করতে চায়, তখন pfodDevice একটি প্লট কমান্ড পাঠায়। আপনার Arduino স্কেচ pfodApp প্লটগুলির সম্পূর্ণ নিয়ন্ত্রণে রয়েছে। প্লট কমান্ড প্লট স্ক্রিনকে একটি শিরোনাম দেয় এবং নির্দিষ্ট করে যে কাঁচা ডেটার কোন স্ট্রিমটি প্লট করতে হবে এবং সেই স্ট্রিম থেকে কোন ফিল্ড। কাঁচা তথ্যের বিভিন্ন প্রবাহে কমা দ্বারা পৃথক ক্ষেত্রগুলির বিভিন্ন সংখ্যা রয়েছে। বারের সংখ্যা | প্লট কমান্ডে অবশ্যই ডাটা স্ট্রীমের ক্ষেত্রের সংখ্যার সাথে মিল রাখতে হবে যা আপনি প্লট করতে চান। এই প্লটের জন্য বিভিন্ন সংখ্যক ক্ষেত্রের ডেটা লাইন উপেক্ষা করা হয়। প্লট করার জন্য ক্ষেত্রগুলি নির্বাচন করতে এবং স্কেল এবং ইউনিট সেট করার জন্য এবং একটি চার্টে একাধিক প্লট রাখার জন্য প্লটিং কমান্ডের জন্য বেশ কয়েকটি বিকল্প রয়েছে। সবচেয়ে সহজ হল x মানগুলিকে প্রথম ক্ষেত্র হিসাবে এবং y মানগুলি নিম্নলিখিত ক্ষেত্র হিসাবে পাঠানো, তারপর প্লটিং কমান্ডের নাম x-axis এবং y-axis যেমন {= এনালগ A0 প্লট | সময় (সেকেন্ড) | A0 গণনা} প্লটের শিরোনাম | x মান ক্ষেত্র | y মান ক্ষেত্র আপনি আপনার মোবাইলে পাঠানো কাঁচা ডেটাও দেখতে পারেন। আপনার মোবাইলের মেনু ব্যবহার করে pfodApp থেকে “কাঁচা ডেটা” স্ক্রিনটি অ্যাক্সেস করা যেতে পারে অথবা pfodDevice দ্বারা একটি স্ট্রিমিং রডাডাটা মেসেজ পাঠিয়ে খোলা যায়, {= স্ক্রিনের শিরোনাম এখানে} অর্থাৎ প্লট করার কমান্ডের একটি কাটা সংস্করণ। যেভাবেই pfodApp কাঁচা ডাটা স্ক্রিন খোলা হয় এবং pfodDevice থেকে পাঠানো ডেটা প্রদর্শন করবে। যখন পর্দা খোলা হয়, pfodApp একটি ফাইলে ডেটা সংরক্ষণ করতে শুরু করবে। প্রতিবার স্ক্রিন (বা প্লট স্ক্রিন) খোলার সময় ফাইলের নাম প্রদর্শিত হয়। আপনার মোবাইলের ডেটা যা আপনি চাননি তা পূরণ করতে বাধা দিতে, pfodApp মোবাইলের এসডি কার্ডে ডেটা লেখা শুরু করে না যতক্ষণ না প্রতিটি নতুন সংযোগের পর প্রথমবার কাঁচা ডেটা স্ক্রিন বা প্লটিং স্ক্রিন খোলা হয়। নতুন সংযোগের পর প্রথমবার কাঁচা ডেটা স্ক্রিন খোলা হয়, পূর্বে প্রাপ্ত ডেটার 4K বাইট পর্যন্ত (যেহেতু সংযোগটি তৈরি করা হয়েছিল) যখন এটি খোলা হয় তখন ফাইল করার জন্য লেখা হয়। এই ডেটা প্লটের জন্যও পাওয়া যায়। বেশিরভাগ ক্ষেত্রে এর অর্থ সংযোগটি তৈরি হওয়ার পরে পাঠানো সমস্ত কাঁচা ডেটা সংরক্ষণ করা হবে। যখন সংযোগ বন্ধ হয়ে যায়, তখন ডেটার শেষ লেখা হয় এবং ফাইলটি বন্ধ হয়ে যায়। যদি ফাইলটি ইতিমধ্যে বিদ্যমান থাকে, পূর্ববর্তী সংযোগ থেকে, এটি পরবর্তী প্রতিটি সংযোগ দ্বারা যুক্ত করা হয়। আপনি আপনার কম্পিউটার থেকে ফাইলটি ডাউনলোড এবং মুছে ফেলতে পারেন। আপনার কম্পিউটার থেকে ফাইল কিভাবে অ্যাক্সেস করতে হয় তার জন্য pfodAppForAndroidGettingStarted.pdf দেখুন।
ধাপ 4: সিরিয়াল মনিটরের সাথে পরীক্ষা করা
ব্লুটুথের মাধ্যমে সংযোগ করার আগে, আপনি Arduino IDE SerialMonitor ব্যবহার করে স্কেচ পরীক্ষা করতে পারেন। প্রথমে ব্লুটুথ বোর্ডটি সরান, কারণ এটি ইউএসবি প্রোগ্রামিং এবং সিরিয়াল মনিটর সংযোগের মতো একই TX/RX সংযোগ ব্যবহার করে, এবং Arduino IDE তে স্কেচ (SimpleDataPlotting.ino) কপি এবং পেস্ট করুন এবং Arduino বোর্ড প্রোগ্রাম করুন। তারপর Arduino IDE সিরিয়াল মনিটর খুলুন আপনি ইউনো বোর্ড দ্বারা পাঠানো ডেটা দেখতে পারেন। তারপর {।} টাইপ করুন এবং getMainMenu কমান্ডটি পাঠাতে "পাঠান" ক্লিক করুন, {।} এটি সংযোগ করার সময় pfodApp প্রথমে পাঠাবে। স্কেচ প্লটিং কমান্ড দিয়ে সাড়া দেয়। {= Analog A0 Plot | Time (sec) | A0 Counts} যা pfodApp কে একটি প্লটিং স্ক্রিন খুলতে এবং ডেটা চক্রান্ত শুরু করতে বলবে। এটি একটি ফাইলে ডেটা সংরক্ষণও শুরু করে। Pfod (অপারেশন ডিসকভারির জন্য প্রোটোকল) সমর্থন করে এমন সমস্ত বার্তা এবং স্ক্রিনের বিশদ বিবরণের জন্য pfodSpecification দেখুন।
ধাপ 5: একটি অ্যান্ড্রয়েড মোবাইলের সাথে সংযোগ স্থাপন
সব ঠিক আছে তাই আপনি এখন Arduino IDE এবং SerialMonitor বন্ধ করতে পারেন এবং ব্লুটুথ ieldাল সংযুক্ত করতে পারেন, যেমনটি আগে দেখানো হয়েছে। আপনার অ্যান্ড্রয়েড মোবাইলের সাথে সংযোগ স্থাপনের জন্য, প্রথমে অ্যান্ড্রয়েড মার্কেট থেকে pfodApp ইনস্টল করুন তারপর আপনার মোবাইলের সাথে আপনার ব্লুটুথ শিল্ড জোড়া এবং একটি ব্লুটুথ pfodApp সংযোগ স্থাপন করতে pfodAppForAndroidGettingStarted.pdf নির্দেশিকা অনুসরণ করুন। আমি আমার সংযোগকে "সাধারণ ডেটা লগিং" বলেছিলাম। তারপরে সাধারণ ডেটা লগারের সাথে সংযোগ করার জন্য "সাধারণ ডেটা লগিং" সংযোগটি নির্বাচন করুন। যত তাড়াতাড়ি pfodApp সংযোগ করে এটি {।} বার্তা পাঠায় যেখানে স্কেচটি সাড়া দেয় {= Analog A0 Plot | Time (sec) | A0 Counts} বার্তা যা pfodApp কে ডাটা প্লট করে এবং ডেটা সেভ করা শুরু করে। এই চক্রান্তে আমি A0 কে Gnd এবং 5.5V এবং 3.3V এর সাথে সংযুক্ত করেছি এবং এটি কেবল ভেসে উঠতে ভেসে উঠছে।
ধাপ 6: আপনার কম্পিউটারে ডেটা স্থানান্তর
PfodAppForAndroidGettingStarted.pdf কিভাবে আপনার মোবাইলকে আপনার কম্পিউটারের সাথে ইউএসবি এর মাধ্যমে সংযুক্ত করতে হয় এবং কিভাবে ইউএসবি ম্যাস স্টোরেজ চালু করতে হয় যাতে আপনি এটি আপনার কম্পিউটার থেকে ব্রাউজ করতে পারেন। আপনি pfodAppRawData ফোল্ডারে সমস্ত কাঁচা ডেটা ফাইল পাবেন। উপরে দেখানো হয়েছে, সিম্পল ডেটা লগার ডাটা সংরক্ষণ করেছে যে প্লট এবং আপনার ডেটা সংরক্ষণ করে, আপনি আপনার নিজের ডেটা ফেরত পাঠাতে স্কেচ পরিবর্তন করতে পারেন। আপনার ব্লুটুথ মডিউলের সাথে সংযুক্ত একই সিরিয়াল কানেকশনে সিএসভি ফর্ম্যাটে আপনার ডেটা লিখুন। আপনার যদি দুইটির বেশি ডেটা ক্ষেত্র থাকে তবে আপনাকে প্লটিং কমান্ড পরিবর্তন করতে হবে। বিস্তারিত এবং উদাহরণের জন্য pfodSpecification দেখুন।
প্রস্তাবিত:
MSP432 লঞ্চপ্যাড এবং পাইথন ব্যবহার করে একটি তাপমাত্রা সেন্সর (TMP006) এর লাইভ ডেটা প্লট করা: 9 টি ধাপ
MSP432 লঞ্চপ্যাড এবং পাইথন ব্যবহার করে একটি তাপমাত্রা সেন্সর (TMP006) এর লাইভ ডেটা প্লট করা: TMP006 হল একটি তাপমাত্রা সেন্সর যা বস্তুর সাথে যোগাযোগের প্রয়োজন ছাড়াই একটি বস্তুর তাপমাত্রা পরিমাপ করে। এই টিউটোরিয়ালে আমরা পাইথন ব্যবহার করে বুস্টারপ্যাক (TI BOOSTXL-EDUMKII) থেকে লাইভ তাপমাত্রার তথ্য চক্রান্ত করব
PfodApp, Android এবং Arduino ব্যবহার করে সহজ মোবাইল ডেটা লগিং: 5 টি ধাপ
PfodApp, Android এবং Arduino ব্যবহার করে সহজ মোবাইল ডেটা লগিং: Mblie ডেটা লগিং pfodApp, আপনার Andriod মোবাইল এবং Arduino ব্যবহার করে সহজ করেছে। কোন Android প্রোগ্রামিং প্রয়োজন। আপনার অ্যান্ড্রয়েডে ডেটা প্লট করার জন্য পরবর্তীতে দেখুন অ্যান্ড্রয়েড / আরডুইনো / পিফোড অ্যাপ ব্যবহার করে ইন্সটাকটেবল সিম্পল রিমোট ডেটা প্লটিং প্লট করার জন্য
রাস্পবেরি পাই এবং আরডুইনো ইউএনও ব্যবহার করে DHT11 ডেটা প্লট করুন: 7 টি ধাপ
রাস্পবেরি পাই এবং আরডুইনো ইউএনও ব্যবহার করে DHT11 ডেটা প্লট করুন: এই নির্দেশযোগ্য ব্যাখ্যা করে কিভাবে আমি Arduino Uno এবং Raspberry Pi ব্যবহার করে তাপমাত্রা সেন্সর DHT11 ডেটা চক্রান্ত করি। এই তাপমাত্রায় সেন্সরটি Arduino Uno এর সাথে সংযুক্ত এবং Arduino Uno রাস্পবেরি পাই এর সাথে সিরিয়ালভাবে সংযুক্ত। রাস্পবেরি পাই সাইডে, ম্যাটপ্লটলি
লগ ডেটা এবং NodeMCU, মাইএসকিউএল, পিএইচপি এবং Chartjs.org ব্যবহার করে একটি গ্রাফ অনলাইন প্লট করুন: 4 টি ধাপ
লগ ডেটা এবং NodeMCU, MySQL, PHP এবং Chartjs.org ব্যবহার করে একটি গ্রাফ অনলাইনে প্লট করুন: এই নির্দেশাবলী বর্ণনা করে যে কিভাবে আমরা একাধিক সেন্সর থেকে তথ্য সংগ্রহ করার জন্য নোড MCU বোর্ড ব্যবহার করতে পারি, এই ডেটা একটি হোস্ট করা PHP ফাইলে পাঠাতে পারি যা তারপর তথ্য যোগ করে একটি মাইএসকিউএল ডাটাবেস। তথ্যটি তখন গ্রাফ হিসাবে অনলাইনে দেখা যেতে পারে, chart.js.A ba ব্যবহার করে
DIY MusiLED, সঙ্গীত সিঙ্ক্রোনাইজড LEDs এক-ক্লিক উইন্ডোজ এবং লিনাক্স অ্যাপ্লিকেশন (32-বিট এবং 64-বিট)। পুনরায় তৈরি করা সহজ, ব্যবহার করা সহজ, পোর্টে সহজ।: 3 টি ধাপ
DIY MusiLED, সঙ্গীত সিঙ্ক্রোনাইজড LEDs এক-ক্লিক উইন্ডোজ এবং লিনাক্স অ্যাপ্লিকেশন (32-বিট এবং 64-বিট)। পুনরায় তৈরি করা সহজ, ব্যবহার করা সহজ, পোর্টে সহজ। এই প্রকল্পটি আপনাকে আপনার আরডুইনো বোর্ডে 18 টি LED (6 লাল + 6 নীল + 6 হলুদ) সংযুক্ত করতে এবং আপনার কম্পিউটারের সাউন্ড কার্ডের রিয়েল-টাইম সংকেত বিশ্লেষণ করতে এবং তাদের রিলেতে সহায়তা করবে। বীট প্রভাব (ফাঁদ, উচ্চ টুপি, কিক) অনুযায়ী তাদের আলো জ্বালানোর জন্য LEDs