সুচিপত্র:

মাল্টিমিটার/Arduino/pfodApp ব্যবহার করে উচ্চ নির্ভুলতা দূরবর্তী ডেটা লগিং: 10 টি ধাপ (ছবি সহ)
মাল্টিমিটার/Arduino/pfodApp ব্যবহার করে উচ্চ নির্ভুলতা দূরবর্তী ডেটা লগিং: 10 টি ধাপ (ছবি সহ)

ভিডিও: মাল্টিমিটার/Arduino/pfodApp ব্যবহার করে উচ্চ নির্ভুলতা দূরবর্তী ডেটা লগিং: 10 টি ধাপ (ছবি সহ)

ভিডিও: মাল্টিমিটার/Arduino/pfodApp ব্যবহার করে উচ্চ নির্ভুলতা দূরবর্তী ডেটা লগিং: 10 টি ধাপ (ছবি সহ)
ভিডিও: Как спрятать данные в ячейках Excel? 2024, নভেম্বর
Anonim
মাল্টিমিটার/Arduino/pfodApp ব্যবহার করে উচ্চ নির্ভুলতা দূরবর্তী ডেটা লগিং
মাল্টিমিটার/Arduino/pfodApp ব্যবহার করে উচ্চ নির্ভুলতা দূরবর্তী ডেটা লগিং
মাল্টিমিটার/Arduino/pfodApp ব্যবহার করে উচ্চ নির্ভুলতা দূরবর্তী ডেটা লগিং
মাল্টিমিটার/Arduino/pfodApp ব্যবহার করে উচ্চ নির্ভুলতা দূরবর্তী ডেটা লগিং
মাল্টিমিটার/Arduino/pfodApp ব্যবহার করে উচ্চ নির্ভুলতা দূরবর্তী ডেটা লগিং
মাল্টিমিটার/Arduino/pfodApp ব্যবহার করে উচ্চ নির্ভুলতা দূরবর্তী ডেটা লগিং

২000 শে এপ্রিল ২০১ Rev সংশোধিত সার্কিট এবং বোর্ড 4000ZC ইউএসবি মিটারের সাথে ব্যবহারের জন্য।

অ্যান্ড্রয়েড কোডিংয়ের প্রয়োজন নেই

এই নির্দেশযোগ্য আপনাকে দেখায় কিভাবে আপনার Arduino থেকে উচ্চ নির্ভুলতা পরিমাপের বিস্তৃত পরিসরে অ্যাক্সেস করে এবং লগিং এবং চক্রান্তের জন্য সেগুলি দূর থেকে পাঠায়। হাই স্পিড ডেটা লগিং (2000 নমুনা/সেকেন্ড) এর জন্য এই যন্ত্রটি দেখুন, আরডুইনো/জিএল AR150/Android/pfodApp ব্যবহার করে দূরবর্তী হাই স্পিড ডেটা লগিং

Arduino এর মধ্যে নির্মিত AtoD কনভার্টারের দুর্বল নির্ভুলতা রয়েছে, সাধারণত +/- 10% এবং খুব সীমিত পরিসর, সাধারণত 0 থেকে 5V ডিসি ভোল্ট। একটি সাধারণ সার্কিট এবং লাইব্রেরি ব্যবহার করে, আপনি আপনার আরডুইনোকে একটি অপটিক্যালি বিচ্ছিন্ন RS232 সংযোগ সহ একটি মাল্টিমিটার থেকে উচ্চ নির্ভুলতা স্বয়ংক্রিয় পরিমাপের সাথে খাওয়াতে পারেন। আপনার স্কেচে উপলব্ধ পরিমাপগুলি আপনাকে মানগুলির উপর ভিত্তি করে আউটপুট নিয়ন্ত্রণ করতে দেয়। এই টিউটোরিয়ালটি ওয়াইফাই, ব্লুটুথ, ব্লুটুথ লো এনার্জি বা এসএমএস -এর মাধ্যমে দূরবর্তীভাবে পরিমাপ পাঠানোকে অন্তর্ভুক্ত করে, pfodApp ব্যবহার করে প্রদর্শন, লগিং এবং চক্রান্তের জন্য একটি অ্যান্ড্রয়েড মোবাইলে।

এই নির্দেশযোগ্য একটি Arduino Mega2560 5V বোর্ড ব্যবহার করে যা আপনি বিভিন্ন ধরনের যোগাযোগ ieldsাল, ইথারনেট, ওয়াইফাই, ব্লুটুথ ভি 2 (ক্লাসিক), ব্লুটুথ এলই বা এসএমএসের সাথে যুক্ত করতে পারেন। এখানে উপস্থাপিত ইন্টারফেস হার্ডওয়্যার এবং লাইব্রেরি 3.3V Arduino সামঞ্জস্যপূর্ণ বোর্ডগুলির সাথে ব্যবহার করা যেতে পারে। Mega2560 এর পাশাপাশি আপনি ইউএনও উইথ এবং এটারনেট শিল্ড, একটি ESP8266 বেস বোর্ড (একা একা), সমন্বিত ব্লুটুথ লো এনার্জি সহ একটি বোর্ড, যেমন Arduino 101, অথবা যোগাযোগের সাথে সংযুক্ত বোর্ডগুলি ব্যবহার করতে পারেন। এসপিআই ব্যবহার করে সাব-সিস্টেম যেমন রেডবিয়ার বিএলই ieldাল এবং অ্যাডাফ্রুটের ব্লুফ্রুট এসপিআই বোর্ড। pfodDesignerV2 এই সমস্ত বোর্ড সমন্বয় সমর্থন করে এবং তাদের জন্য কোড তৈরি করবে। সীমাবদ্ধ শর্ত হল এই মাল্টিমিটার RS232 ieldালের সাথে সংযোগ করার জন্য আপনার একটি বিনামূল্যে হার্ডওয়্যার সিরিয়াল থাকা দরকার।

এখানে উপস্থাপিত সার্কিট এবং কোডটি বেশ কয়েকটি মাল্টিমিটারের সাথে কাজ করে। একটি সহজলভ্য, সস্তা, এক একটি Tekpower TP4000ZC, এছাড়াও Digitek TD-4000ZC নামে পরিচিত। এই সার্কিট এবং লাইব্রেরির সাথে যে মাল্টিমিটার কাজ করে তার মধ্যে রয়েছে Digitek DT-4000ZC, Digitech QM1538, Digitech QM1537, Digitek DT-9062, Digitek INO2513, Digitech QM1462, PeakTech 3330, Tenma 72-7745, Uni-Trend UT30A, Uni-Trend UT30 ট্রেন্ড UT60E, Voltcraft VC 820, Voltcraft VC 840

ধাপ 1:

এই টিউটোরিয়ালটির দুটি অংশ রয়েছে:

প্রথম অংশ মাল্টিমিটারে হার্ডওয়্যার ইন্টারফেস এবং একটি Arduino মেগা ব্যবহার করে কোড লাইব্রেরি জুড়ে। যদি আপনি শুধুমাত্র আপনার Arduino- এ পরিমাপ পেতে চান তবে এটাই আপনার প্রয়োজন।

দ্বিতীয় অংশটি ডিসপ্লে, লগিং এবং প্লট করার জন্য দূরবর্তী অ্যান্ড্রয়েড মোবাইলে পরিমাপ পাঠানোকে অন্তর্ভুক্ত করে। এই উদাহরণে আমরা একটি ব্লুটুথ ieldাল ব্যবহার করব এবং pfodDesignerV2 ব্যবহার করে মৌলিক স্কেচ তৈরি করব, কিন্তু আপনি pfodDesignerV2 ব্যবহার করে ওয়াইফাই, ইথারনেট, ব্লুটুথ লো এনার্জি এবং এসএমএস সংযোগের জন্য কোড তৈরি করতে পারেন। মাল্টিমিটার লাইব্রেরি তারপর কোড সম্পূর্ণ করার জন্য মৌলিক স্কেচ যোগ করা হয়। পঠন প্রদর্শন, লগ এবং প্লট করার জন্য কোন অ্যান্ড্রয়েড কোডিংয়ের প্রয়োজন নেই। আপনার Arduino কোড থেকে সবকিছু নিয়ন্ত্রিত হয়।

এই প্রকল্পটি অনলাইনে www.pfod.com.au এও পাওয়া যায়

মাল্টিমিটারের দূরবর্তী হেড-আপ ডিসপ্লের জন্য, এই নির্দেশাবলী দেখুন, আলাইনের দ্বারা আমার মাল্টিমিটারের জন্য Arduino ডেটা চশমা।

ধাপ 2: মাল্টিমিটার

মাল্টিমিটার
মাল্টিমিটার

এই টিউটোরিয়ালে ব্যবহৃত মাল্টিমিটারগুলি হল সস্তা (~ US40) টেক পাওয়ার TP4000ZC (ডিজিটেক DT-4000ZC নামেও পরিচিত) এবং পুরোনো Digitech QM1538, যা এটি আর বিক্রি হয় না। এই উভয় মিটার দৃশ্যত একই এবং পরিমাপের একই RS232 এনকোডিং ব্যবহার করে।

এখানে Tekpower TP4000ZC এর জন্য চশমা: -DC ভোল্টেজ: 400mV/4/40/400V ± 0.5%+5, 600V ± 0.8%এসি ভোল্টেজ: 4/40/400V ± 0.8%+5, 400mV/600V ± 1.2%+ 5DC বর্তমান: 400/4000μA ± 2.0%+5, 40/400mA ± 1.5%+5, 4/10A ± 2%+5AC বর্তমান: 400/4000μA ± 2.5%+3, 40/400mA ± 2%+5, 4 /10A ± 2.5%+5 প্রতিরোধ: 400Ω/4/40/400kΩ/4MΩ ± 1%+5, 40MΩ ± 2%+5 ধারণক্ষমতা: 40nF ± 3.5%+10, 400nF/4/40μF ± 3%+5, 100μF 3.5% +5 ফ্রিকোয়েন্সি: 10Hz -10MHz ± 0.1% +5 ডিউটি সাইকেল: 0.1%-99.9%± 2.5% +5 তাপমাত্রা: 0oC - +40oC ± 3oC, -50oC - +200oC ± 0.75%± 3oC, +200oC - +750oC 1.5% ± 3oC, রেজোলিউশন 0.1oC অন্তর্ভুক্ত থার্মোকল প্রোবের মাধ্যমে।

মাল্টিমিটারের RS232 সংযোগ শুধুমাত্র একটি উপায় এবং আপনি মাল্টিমিটারের সেটিংস দূর থেকে পরিবর্তন করতে পারবেন না, তাই আপনাকে ম্যানুয়ালি পরিমাপের ধরন নির্বাচন করতে হবে। তবে মিটারটি স্বয়ংক্রিয়ভাবে পরিসীমা এবং ভোল্টেজ এবং বর্তমান সেটিংস এসি এবং ডিসি উভয়ই পরিচালনা করে।

ধাপ 3: RS232 ইন্টারফেস হার্ডওয়্যার

RS232 ইন্টারফেস হার্ডওয়্যার
RS232 ইন্টারফেস হার্ডওয়্যার
RS232 ইন্টারফেস হার্ডওয়্যার
RS232 ইন্টারফেস হার্ডওয়্যার
RS232 ইন্টারফেস হার্ডওয়্যার
RS232 ইন্টারফেস হার্ডওয়্যার

দুটি ইন্টারফেস আছে। নতুন Digitek DT-4000ZC এবং Tekpower TP40000ZC মিটার একটি USB তারের সাথে আসে। যদিও পুরোনো Digitek QM1538 কে একটি RS232 9pin D সংযোগকারী কেবল প্রদান করা হয়েছিল। উপরের সার্কিট (পিডিএফ সংস্করণ) দেখায় যে কিভাবে একটি Arduino RX সিরিয়াল পিন চালানোর জন্য মাল্টি-মিটারের অপটো কাপলারের সাথে সংযোগ স্থাপন করতে হয়। দ্রষ্টব্য: এই সার্কিটটি ডিজিটেক DT-4000ZC এবং Tekpower TP40000ZC মিটারের জন্য আরেকটি সুরক্ষা প্রতিরোধক, R2 যোগ করার জন্য আপডেট করা হয়েছে। এই প্রতিরোধকটি উপরে দেখানো 9pin D সংযোগকারী বোর্ডে অন্তর্ভুক্ত ছিল না।

Digitek DT-4000ZC এবং Tekpower TP40000ZC

Digitek DT-4000ZC এবং Tekpower TP40000ZC এর জন্য, আপনার পুরুষ থেকে পুরুষের জন্য 3.5 মিমি অডিও কেবল প্রয়োজন, স্টিরিও বা মনো করবে এবং 3.5 মিমি সকেট।

Digitek QM1538

পুরানো ডিজিটেক QM1538 এর জন্য, আপনার একটি 9pin D সকেট প্রয়োজন। শুধু 4 পিনের সারি কেটে ফেলুন যাতে আপনি সংযোগকারীকে বোর্ডে বিক্রি করতে পারেন, কারণ সার্কিট শুধুমাত্র 5 পিনের দ্বিতীয় সারিতে পিন ব্যবহার করে। মাউন্ট করা পা যেখানে কানেক্টরকে সমতল হতে দেয় এবং কানেক্টরটি 2 অংশ ইপক্সি আঠালো ("আরাল্ডাইট") ব্যবহার করে প্রোটোটাইপ ieldাল থেকে সুরক্ষিত ছিল সেই সংযোগকারী পিনের বিন্যাস উপরে দেখানো হয়েছে এই সাইট থেকে। সরবরাহকৃত RS232 তারের (পিন 2 এবং 3 এর মধ্যে সংযুক্ত) সংযোগকারীর ভিতরে মাউন্ট করা 10K রোধকারী এই প্রকল্পের জন্য প্রয়োজন হয় না।

একটি Arduino RX পিনের সাথে সংকেত সংযুক্ত করা হচ্ছে

এই সার্কিট 5V এবং 3.3V উভয় Arduino বোর্ডের জন্য কাজ করবে। এখানে আমরা একটি Mega2560 (5V) Arduino ব্যবহার করছি এবং উপরে দেখানো হিসাবে একটি প্রোটোটাইপ ieldাল সার্কিট মাউন্ট।

একটি উড়ন্ত সীসা ieldাল উপর TP1 একটি Serial1 RX, পিন D19, Mega2560 এ সংযোগ করতে ব্যবহৃত হয়।

সফ্টওয়্যার সিরিয়াল সম্পর্কে দ্রষ্টব্য: প্রাথমিকভাবে এই ieldালটি 10, 11 পিনে সফটওয়্যার সিরিয়াল ব্যবহার করে একটি ইউএনওর সাথে যুক্ত করা হয়েছিল। তবে 9600baud এ সিরিয়ালে ব্লুটুথ শিল্ডের সাথে যুক্ত হলে, কিছু রিসিভ বাইট হারিয়ে গিয়েছিল। RS232 কে একটি হার্ডওয়্যার সিরিয়াল সংযোগে সরানো এই সমস্যার সমাধান করেছে। তাই নির্ভরযোগ্য রিমোট ডিসপ্লে এবং লগিংয়ের জন্য, যদি আপনি সিরিয়ালের মাধ্যমে সংযোগকারী একটি যোগাযোগের ieldাল ব্যবহার করেন, তাহলে আপনাকে মেগা 2560 এর মতো দুই বা ততোধিক হার্ডওয়্যার সিরিয়াল সহ একটি বোর্ড প্রয়োজন। অন্যান্য বিকল্প হল একটি UNO এবং Ehternet ieldাল, একটি ESP8266 বেস বোর্ড (একা একা), সমন্বিত ব্লুটুথ লো এনার্জি সহ একটি বোর্ড যেমন Anduino 101 অথবা বোর্ড যা SPI ব্যবহার করে যোগাযোগ উপ-সিস্টেমের সাথে সংযোগ করে যেমন RedBear BLE ieldাল এবং Adafrut এর Bluefruit SPI বোর্ড pfodDesignerV2 এই সব বোর্ডকে সমর্থন করে এবং তাদের জন্য কোড তৈরি করবে।

ধাপ 4: PfodVC820MultimeterParser Library

Tekpower TP4000ZC এবং অন্যান্য অনেক মুলিমিটার ASCII পাঠ্য হিসাবে RS232 এর মাধ্যমে পরিমাপ পাঠায় না, বরং এটি বিট সেট সহ 14 বাইট পাঠায় যা LCD ডিসপ্লের কোন অংশগুলি আলোকিত হয় তার উপর নির্ভর করে। 14 বাইটের এনকোডিং এই পিডিএফ -এ ব্যাখ্যা করা হয়েছে। PfodVC820MeterParser.zip লাইব্রেরি এই বাইটগুলিকে টেক্সট স্ট্রিং এবং ফ্লোটে ডিকোড করে। (VC820 এই এনকোডিং ব্যবহার করে এমন মিটারের মধ্যে একটিকে নির্দেশ করে।) এছাড়াও উইন্ডোজ, ম্যাক এবং লিনাক্স কম্পিউটার সফটওয়্যারের জন্য QtDMM দেখুন যা বিস্তৃত মাল্টিমিটার পরিচালনা করে।

PfodVC820MeterParser লাইব্রেরি ব্যবহার করার একটি সর্বনিম্ন উদাহরণ, MeterParserExample.ino আছে। একটি 2400baud সিরিয়াল সংযোগের সাথে মিটারটি সংযুক্ত করুন এবং তারপরে বাইটগুলি প্রক্রিয়া করার জন্য প্রতিটি লুপে হ্যারিডিং () কল করুন। hasReading () সত্য ফিরে আসবে যখন একটি নতুন সম্পূর্ণ পড়া বিশ্লেষণ করা হবে। তারপর আপনি getAsFloat () কে কল করতে পারেন ভ্যাল্ট হিসাবে মান (স্কেল করা) পেতে অথবা getAtStr () মুদ্রণ এবং লগিংয়ের জন্য স্কেলিং সহ পড়ার জন্য। পরিমাপের ধরন, getTypeAsStr () এবং getTypeAsUnicode () এবং অন্যান্য ইউটিলিটি পদ্ধতি অ্যাক্সেস করার জন্য অন্যান্য পদ্ধতি রয়েছে।

#অন্তর্ভুক্ত করুন "pfodVC820MeterParser.h" pfodVC820MeterParser মিটার; // অকার্যকর সেটআপ () {Serial.begin (74880); সিরিয়াল 1. শুরু (2400); মিটার সংযোগ (এবং সিরিয়াল 1); } ভাসা পড়া; void loop () {if (meter.haveReading ()) {reading = meter.getAsFloat (); // Arduino গণনার জন্য এটি ব্যবহার করুন Serial.print ("ইউনিটের সাথে পড়া:"); Serial.print (meter.getDigits ()); Serial.print (meter.getScalingAsStr ()); Serial.print (meter.getTypeAsStr ()); Serial.print (F ("= ভাসমান মুদ্রিত হিসাবে (6 সংখ্যা):")); Serial.println (পড়া, 6); Serial.println ("সময় (সেকেন্ড) এবং লগিংয়ের জন্য স্ট্রিং হিসাবে পড়া"); Serial.print (((float) millis ())/1000.0); সিরিয়াল.প্রিন্ট (", সেকেন্ড,"); Serial.print (meter.getAsStr ()); সিরিয়াল.প্রিন্ট (','); Serial.println (meter.getTypeAsStr ()); }}

ডিগ সি তে মিটার সেট করা এবং থার্মোকল প্রোব ব্যবহার করে, উদাহরণ স্কেচ এই আউটপুটটি Arduino IDE সিরিয়াল মনিটরে দেয়

ইউনিট দিয়ে পড়া: 25.7C = ফ্লোট প্রিন্টেড (6 ডিজিট): 25.700000 টাইম (সেকেন্ড) এবং 2.40, সেকেন্ড, 25.7, সি লগিংয়ের জন্য স্ট্রিং হিসাবে পড়া

ধাপ 5: পার্ট 2 - রিমোট ডিসপ্লে, লগিং এবং প্লটিং

টিউটোরিয়ালের এই অংশটি কীভাবে আপনার অ্যান্ড্রয়েড মোবাইলে মিটার রিডিং দূর থেকে প্রদর্শন, লগ ইন এবং প্লট করা যায় তা অন্তর্ভুক্ত করে। pfodApp আপনার অ্যান্ড্রয়েড মোবাইলে ডিসপ্লে, লগিং এবং প্লট করার জন্য ব্যবহৃত হয়। কোন অ্যান্ড্রয়েড প্রোগ্রামিং এর প্রয়োজন নেই। সমস্ত প্রদর্শন, লগিং এবং চক্রান্ত সম্পূর্ণরূপে আপনার Arduino স্কেচ দ্বারা নিয়ন্ত্রিত হয়। বিনামূল্যে pfodDesignerV2 অ্যাপটি আপনাকে আপনার অ্যান্ড্রয়েড মেনু এবং চার্ট ডিজাইন করতে দেয় এবং তারপর আপনার জন্য একটি Arduino স্কেচ তৈরি করে।

pfodApp বেশ কয়েকটি সংযোগের ধরন, ইথারনেট, ওয়াইফাই, ব্লুটুথ ভি 2 (ক্লাসিক), ব্লুটুথ এলই বা এসএমএস সমর্থন করে। এই টিউটোরিয়ালটি ডেটা লগিং এবং প্লট করার জন্য Arduino 101 (Bluetooth Low Energy) ব্যবহার করে। অন্যান্য ব্লুটুথ লো এনার্জি বোর্ডও সমর্থিত। এই টিউটোরিয়ালটি pfodApp- এর সাথে সংযোগ করতে SMS ব্যবহার করে। আপনি সেই এসএমএস উদাহরণে ডেটা লগিং এবং চার্টিং যোগ করতে pfodDesignerV2 ব্যবহার করতে পারেন। pfodDesignerV2- এও একটি বিকল্প রয়েছে যা Arduino কোড তৈরি করে একটি ব্লুটুথ V2 (ক্লাসিক) ieldাল থেকে pfodApp- এ সংযোগ করার জন্য।

এই উদাহরণের জন্য আমরা একটি Iteadstudio ব্লুটুথ শিল্ড V2.2 ব্যবহার করব যা একটি 9600baud সিরিয়াল সংযোগের মাধ্যমে Arduino Mega2560 এর সাথে সংযোগ স্থাপন করে। বিনামূল্যে pfodDesignerV2 অ্যাপটি ব্যবহার করে আমরা একটি সাধারণ মেনু সেট করেছি যেখানে মিটার রিডিং দেখানোর জন্য একটি লেবেল এবং চার্ট খোলার জন্য একটি বোতাম রয়েছে। এই পৃষ্ঠায় pfodDesignerV2 টিউটোরিয়াল আছে। একবার আমাদের একটি মৌলিক স্কেচ হয়ে গেলে, আমরা মিটার পার্সার যুক্ত করতে এবং লগিং এবং চার্টিংয়ের জন্য মিটার রিডিং এবং ডেটা পাঠানোর জন্য এটি সংশোধন করব।

মেনু ডিজাইন করা

এই বিভাগে আমরা একটি Android/pfodApp মেনু ডিজাইন করব যা মিটার রিডিং এবং রিডিংগুলির একটি চার্ট খোলার জন্য একটি বোতাম প্রদর্শন করবে। রিডিংগুলি অ্যান্ড্রয়েড মোবাইলে একটি ফাইলে সংরক্ষণ করা হয়

ধাপ 6: একটি লেবেল যোগ করা

একটি লেবেল যোগ করা
একটি লেবেল যোগ করা
একটি লেবেল যোগ করা
একটি লেবেল যোগ করা
একটি লেবেল যোগ করা
একটি লেবেল যোগ করা

বিনামূল্যে pfodDesignerV2 ইনস্টল করুন এবং একটি নতুন মেনু শুরু করুন।

ডিফল্ট টার্গেট হল 9600baud এ সিরিয়াল যা Iteadstudio Bluetooth Shield V2.2 এর জন্য প্রয়োজন। আপনি যদি ব্লুটুথ লো এনার্জি ডিভাইস বা ওয়াইফাই বা এসএমএস ব্যবহার করে সংযোগ স্থাপন করেন তাহলে নির্বাচন পরিবর্তন করতে টার্গেটে ক্লিক করুন।

মিটার রিডিং প্রদর্শনের জন্য একটি লেবেল যুক্ত করতে, মেনু আইটেম যোগ করুন ক্লিক করুন এবং লেবেল নির্বাচন করতে নিচে স্ক্রোল করুন।

একটি উপযুক্ত ফন্ট সাইজ এবং রং নির্বাচন করুন। লেবেল হিসাবে পাঠ্যটি ছেড়ে দিন কারণ আমরা মিটার পরিমাপের সাথে এটি প্রতিস্থাপন করার জন্য জেনারেট কোড পরিবর্তন করব। এখানে আমরা ফন্ট সাইজ +7, ফন্টের রঙ লাল এবং ব্যাকগ্রাউন্ড সিলভার সেট করেছি।

সম্পাদনা মেনু_1 স্ক্রিনে ফিরে যান এবং একটি রিফ্রেশ ব্যবধান 1 সেকেন্ড সেট করুন। লেবেলে সাম্প্রতিক পড়া দেখানোর জন্য pfodApp মেনুটির প্রতি সেকেন্ডে পুনরায় অনুরোধ করবে।

ধাপ 7: একটি চার্ট বোতাম যোগ করা

একটি চার্ট বোতাম যোগ করা
একটি চার্ট বোতাম যোগ করা
একটি চার্ট বোতাম যোগ করা
একটি চার্ট বোতাম যোগ করা
একটি চার্ট বোতাম যোগ করা
একটি চার্ট বোতাম যোগ করা
একটি চার্ট বোতাম যোগ করা
একটি চার্ট বোতাম যোগ করা

একটি চার্ট বোতাম যোগ করতে আবার মেনু আইটেম যোগ করুন ক্লিক করুন।

উপযুক্ত কিছুতে চার্ট বোতামের পাঠ্য সম্পাদনা করুন, যেমন শুধু "চার্ট" এবং একটি ফন্টের আকার এবং রং নির্বাচন করুন।

তারপর প্লট সম্পাদনা পর্দা খুলতে "চার্ট" বোতামে ক্লিক করুন। শুধুমাত্র একটি প্লট থাকবে তাই এডিট প্লট 2 এবং এডিট প্লট 3 বোতামে ক্লিক করুন এবং নিচে স্ক্রোল করুন এবং তাদের প্রত্যেকের জন্য প্লট লুকান ক্লিক করুন।

উপযুক্ত কিছুতে চার্ট লেবেল সম্পাদনা করুন, যেমন "মাল্টিমিটার"। মাল্টিমিটার সেটিং এর উপর নির্ভর করে বিভিন্ন y- অক্ষ লেবেল পাঠানোর জন্য আমরা অন্য কোন প্লট সেটিংস পরিবর্তন করার প্রয়োজন নেই।

অবশেষে সম্পাদনা মেনু_1 এবং সম্পাদনা প্রম্পটে ফিরে যান, এটি মেনুর নীচে পাঠ্য এবং সামগ্রিক মেনু পটভূমির রঙ সেট করে। এখানে আমরা ফন্ট সাইজ +3 এবং ব্যাকগ্রাউন্ড কালার সিলভার সহ "রিমোট মাল্টিমিটার" প্রম্পট সেট করেছি।

আপনি এখন এডিটিং মেনুতে ফিরে যেতে পারেন এবং মেনু ডিজাইন প্রিভিউ করতে প্রিভিউ মেনুতে ক্লিক করুন।

আপনি যদি ডিজাইনটি পছন্দ না করেন তবে কোডটি তৈরি করার আগে আপনি এটি পরিবর্তন করতে পারেন। আপনি যদি বোতাম থেকে লেবেলটি বের করতে চান তবে আপনি এখানে বর্ণিত কিছু ফাঁকা লেবেল যুক্ত করতে পারেন। অ্যান্ড্রয়েডে Arduino ডেটা কিভাবে প্রদর্শন/প্লট করা যায় তার উপর একটি চার্ট এবং লগিং ডেটা যোগ করা হল pfodDesignerV2/pfodApp ডেটালগিং এবং চার্টিং এর আরেকটি টিউটোরিয়াল।

ধাপ 8: Arduino স্কেচ তৈরি করা

আরডুইনো স্কেচ তৈরি করা হচ্ছে
আরডুইনো স্কেচ তৈরি করা হচ্ছে
আরডুইনো স্কেচ তৈরি করা হচ্ছে
আরডুইনো স্কেচ তৈরি করা হচ্ছে

Arduino কোড তৈরি করতে যা এই মেনুটি pfodApp- এ দেখাবে, এডিটিং মেনু_1 স্ক্রিনে ফিরে যান এবং নিচে স্ক্রোল করুন এবং জেনারেট কোড বাটনে ক্লিক করুন।

আপনার মোবাইলে /pfodAppRawData/pfodDesignerV2.txt ফাইলে Arduino স্কেচ আউটপুট করতে "ফাইল লিখতে কোড লিখুন" বোতামে ক্লিক করুন। তারপর pfodDesignerV2 থেকে প্রস্থান করুন। আপনার পিসিতে pfodDesignerV2.txt ফাইলটি একটি USB সংযোগ বা ফাইল ট্রান্সফার অ্যাপ ব্যবহার করে স্থানান্তর করুন, যেমন ওয়াইফাই ফাইল ট্রান্সফার প্রো। উত্পন্ন স্কেচের একটি অনুলিপি এখানে, pfodDesignerV2_meter.txt

আপনার Arduino IDE তে স্কেচটি লোড করুন এবং আপনার Uno (বা মেগা) বোর্ড প্রোগ্রাম করুন। তারপর Iteadstudio Bluetooth Shield V2.2 যোগ করুন। আপনার অ্যান্ড্রয়েড মোবাইলে pfodApp ইনস্টল করুন এবং একটি নতুন ব্লুটুথ সংযোগ তৈরি করুন, উদাহরণস্বরূপ, মাল্টিমিটার। কিভাবে নতুন সংযোগ তৈরি করবেন তার জন্য pfodAppForAndroidGettingStarted.pdf দেখুন। তারপর যখন আপনি মাল্টিমিটার সংযোগ খুলতে pfodApp ব্যবহার করবেন তখন আপনি আপনার ডিজাইন করা মেনু দেখতে পাবেন।

চার্ট খুললে আকর্ষণীয় কিছু প্রদর্শিত হয় না কারণ আমরা মাল্টিমিটার হার্ডওয়্যার/সফটওয়্যারে যোগ করিনি।

ধাপ 9: মাল্টিমিটার যোগ করা

মাল্টিমিটার যোগ করা হচ্ছে
মাল্টিমিটার যোগ করা হচ্ছে
মাল্টিমিটার যোগ করা হচ্ছে
মাল্টিমিটার যোগ করা হচ্ছে
মাল্টিমিটার যোগ করা হচ্ছে
মাল্টিমিটার যোগ করা হচ্ছে

মাল্টিমিটার পার্সার যোগ করতে এবং আপনার অ্যান্ড্রয়েড মোবাইলে এর ডেটা পাঠানোর জন্য আমরা জেনারেটেড স্কেচ পরিবর্তন করব। সম্পূর্ণ সংশোধিত স্কেচ এখানে, pfod_meter.ino

এই পরিবর্তনগুলি মাল্টিমিটার পার্সার এবং একটি 5sec টাইমার যোগ করে। যদি সেই সময়ের মধ্যে কোন নতুন বৈধ পড়া না থাকে তবে স্কেচ ডেটা পাঠানো বন্ধ করে দেয় এবং Android/pfodApp ডিসপ্লেটি " - - -" এ আপডেট করে। মিটারের ম্যানুয়াল সিলেকশন পরিবর্তিত হওয়ায় চার্ট লেবেল আপডেট করা হয়, কিন্তু নতুন লেবেলগুলি দেখতে আপনাকে চার্ট থেকে বেরিয়ে যেতে হবে এবং এটি পুনরায় নির্বাচন করতে হবে। অন্যদিকে, মিটার রিডিং প্রতি সেকেন্ডে স্বয়ংক্রিয়ভাবে আপডেট হয়। অবশেষে pfodApp ডিফল্টভাবে ইউনিকোড পরিচালনা করে তাই মিটার পড়ার পদ্ধতিটি getTypeAsUnicode () ব্যবহার করে ইউনিকোডকে ohms, Ω, এবং degsC, return মিটার ডিসপ্লের জন্য ফেরত দিতে ব্যবহৃত হয়।

চার্ট বোতামটি রিডিংগুলির একটি আপডেট করা চার্ট প্রদর্শন করে:-

CSV ফর্ম্যাটে চার্টের ডেটা, /pfodAppRawData/Mulitmeter.txt এর অধীনে আপনার অ্যান্ড্রয়েড মোবাইলে একটি ফাইলে সেভ করা হয় পরে আপনার কম্পিউটারে ট্রান্সফার করার জন্য এবং আরও হিসাব ও চার্টিংয়ের জন্য একটি স্প্রেডশীটে আমদানি করুন।

ধাপ 10: বিস্তারিত স্কেচ পরিবর্তন

  1. PfodVC820MeterParser.zip লাইব্রেরি ডাউনলোড করুন এবং তারপরে Arduino IDE খুলুন এবং আপনার IDE এ এই লাইব্রেরিটি যুক্ত করতে Sketch → Include Library → Add.zip এ ক্লিক করুন।
  2. স্কেচে pfodVC820MeterParser লাইব্রেরি যোগ করুন। Sketch → Include Library → pfodVC820MeterParser এ ক্লিক করুন। এটি স্কেচের শীর্ষে অন্তর্ভুক্ত বিবৃতি যুক্ত করবে।
  3. সম্পাদনা করুন pfodParser_codeGenerated parser ("V1"); pfodParser_code থেকে জেনারেটেড পার্সার (""); এটি pfodApp এ মেনু ক্যাশিং অক্ষম করে তাই আপনার মেনু পরিবর্তনগুলি প্রদর্শিত হবে। মেনু ক্যাশিং পুনরায় সক্ষম করার জন্য আপনার সমস্ত পরিবর্তন শেষ হয়ে গেলে আপনি "V3" এ ফিরে যেতে পারেন।
  4. সফ্টওয়্যার সিরিয়াল এবং মাল্টিমিটারের জন্য বস্তু তৈরি করতে এই লাইনগুলি যোগ করুন। pfodVC820 মিটার পার্সার মিটার;
  5. সেটআপের শেষে () যোগ করুন Serial1.begin (2400); মিটার সংযোগ (এবং সিরিয়াল 1);
  6. উপরে লুপ () স্বাক্ষরবিহীন দীর্ঘ validReadingTimer = 0 যোগ করুন; const স্বাক্ষরবিহীন দীর্ঘ VALID_READINGS_TIMEOUT = 5000; // 5secs bool haveValidReadings = true; // সত্য সেট যখন বৈধ রিডিং int পরিমাপ টাইপ = মিটার। NO_READING; এবং লুপের শীর্ষে () if (meter.haveReading ()) {if (meter.isValid ()) {validReadingTimer = millis () haveValidReadings = সত্য; } int newType = meter.getType (); যদি (পরিমাপ টাইপ! = নতুন টাইপ) {// আউটপুট নতুন ডেটালগিং শিরোনাম parser.print (F ("sec,")); parser.println (meter.getTypeAsStr ()); } পরিমাপ টাইপ = নতুন টাইপ; } if ((millis () - validReadingTimer)> VALID_READINGS_TIMEOUT) {haveValidReadings = false; // গত ৫ সেকেন্ডে নতুন কোন বৈধ পড়া নেই}
  7. আরও নিচে লুপে parser.print প্রতিস্থাপন করুন (F ("{= Multimeter | time (secs) | Plot_1 ~~~ ||}")); parser.print সহ (F ("{= মাল্টিমিটার | সময় (সেকেন্ড) | মিটার রিডিং ~~~")); parser.print (meter.getTypeAsStr ()); parser.print (F ("||}"));
  8. লুপের নীচে () sendData () প্রতিস্থাপন করুন; সঙ্গে if (haveValidReadings) {sendData (); }
  9. SendData () প্রতিস্থাপন parser.print (','); parser.print (((float) (plot_1_var-plot_1_varMin)) * plot_1_scaling + plot_1_varDisplayMin); parser.print (',') সহ; parser.print (meter.getAsStr);
  10. SendMainMenu () প্রতিস্থাপন করুন parser.print (F ("el Label")); parser.print ('~') সহ; যদি (haveValidReadings) {parser.print (meter.getDigits ()); parser.print (meter.getScalingAsStr ()); parser.print (meter.getTypeAsUnicode ()); } অন্য {parser.print (F (" - - -")); }
  11. SendMainMenuUpdate () এ যোগ করুন parser.print (F ("|! A")); parser.print ('~'); যদি (haveValidReadings) {parser.print (meter.getDigits ()); parser.print (meter.getScalingAsStr ()); parser.print (meter.getTypeAsUnicode ()); } অন্য {parser.print (F (" - - -")); } মেনু ক্যাশিং ব্যবহার করার সময় পড়া আপডেট করতে।

উপসংহার

এই টিউটোরিয়ালটি দেখানো হয়েছে কিভাবে RS232 এর মাধ্যমে একটি Arduino Mega2560 এর সাথে একটি সস্তা মাল্টিমিটার সংযোগ করতে হয়। অন্যান্য অনেক বোর্ডও সমর্থিত। PfodVC820MeterParserlibrary মাল্টিমিটার ডেটাকে আরডুইনো গণনার জন্য ফ্লোটগুলিতে প্রদর্শন করে এবং প্রদর্শন এবং লগিংয়ের জন্য স্ট্রিং করে। pfodDesignerV2 মাল্টিমিটার রিডিং প্রদর্শন করতে এবং pfodApp ব্যবহার করে একটি অ্যান্ড্রয়েড মোবাইলে মানগুলির একটি প্লট দেখানোর জন্য একটি মৌলিক স্কেচ তৈরি করতে ব্যবহৃত হয়েছিল। কোন অ্যান্ড্রয়েড প্রোগ্রামিং এর প্রয়োজন নেই।এই মৌলিক স্কেচটিতে মাল্টিমিটার হ্যান্ডলিং যোগ করা হয়েছিল এবং চূড়ান্ত স্কেচ আপনার অ্যান্ড্রয়েড মোবাইলে বর্তমান মাল্টিমিটার রিডিং প্রদর্শন করে এবং রিডিংগুলি প্লট করে এবং পরে তাদের ব্যবহারের জন্য আপনার মোবাইলে একটি ফাইলে লগ ইন করে।

প্রস্তাবিত: