সুচিপত্র:

লগ হাই স্পিড ইসিজি বা অন্যান্য ডেটা, একমাস ধরে ধারাবাহিকভাবে: 6 টি ধাপ
লগ হাই স্পিড ইসিজি বা অন্যান্য ডেটা, একমাস ধরে ধারাবাহিকভাবে: 6 টি ধাপ

ভিডিও: লগ হাই স্পিড ইসিজি বা অন্যান্য ডেটা, একমাস ধরে ধারাবাহিকভাবে: 6 টি ধাপ

ভিডিও: লগ হাই স্পিড ইসিজি বা অন্যান্য ডেটা, একমাস ধরে ধারাবাহিকভাবে: 6 টি ধাপ
ভিডিও: গাড়ি চালানোর সময় কোন গিয়ারে কত স্পিড পর্যন্ত চালাবেন।How many speeds will you run in a gear, 2024, জুলাই
Anonim
হাই স্পিড ইসিজি বা অন্যান্য ডেটা লগ ইন করুন, এক মাসেরও বেশি সময় ধরে
হাই স্পিড ইসিজি বা অন্যান্য ডেটা লগ ইন করুন, এক মাসেরও বেশি সময় ধরে

এই প্রকল্পটি একটি বিশ্ববিদ্যালয়ের মেডিকেল রিসার্চ টিমকে সমর্থন করার জন্য তৈরি করা হয়েছিল, যাদের একটি পরিধানযোগ্য প্রয়োজন যা অ্যারিথমিয়াস সনাক্ত করার জন্য প্রতি 1000 টি নমুনা/সেকেন্ডে (2K নমুনা/সেকেন্ড মোট) 2 এক্স ইসিজি সিগন্যাল লগ ইন করতে পারে। এখানে উপস্থাপিত প্রকল্পের মধ্যে রয়েছে রিমোট কন্ট্রোল এবং লগিং পর্যবেক্ষণ। রিমোট কন্ট্রোল একটি সিরিয়াল টার্মিনালে উপস্থাপিত মেনুগুলির মাধ্যমে হয়, হয় কম্পিউটার বা মোবাইল ফোনে। এই প্রকল্পটি ইসিজি পরিমাপ বা প্যাকেজিং বা চূড়ান্ত পরিধানযোগ্য ব্যাটারির জন্য প্রয়োজনীয় নয়।

এই উচ্চ গতির/দীর্ঘ সময়কালের সংস্করণটি টেনসি 3.2, অ্যাডাফ্রুট মাইক্রো-এসডি ব্রেকআউট মডিউল, ডেটা লগ ইন করার জন্য একটি 16G SDHC ক্লাস 10 SD কার্ড এবং নিয়ন্ত্রণ এবং পর্যবেক্ষণের জন্য একটি ব্লুটুথ যোগাযোগ মডিউল ব্যবহার করে। এই প্রকল্পের একটি কম উন্নত এবং ধীর UNO/Mega2560 সংস্করণও উপলব্ধ। যদিও এই প্রকল্পটি লগিং নিয়ন্ত্রণ এবং পর্যবেক্ষণের জন্য একটি ব্লুটুথ যোগাযোগ মডিউল ব্যবহার করে, আপনি ওয়াইফাই বা BLE মডিউলও ব্যবহার করতে পারেন।

Teensy 3.2 এর উপর ভিত্তি করে এই সংস্করণটি UNO/Mega2560 সংস্করণের তুলনায় অনেক বেশি নমুনা হার দিতে সক্ষম। এই কোডটি ব্যবহার করে Teensy 3.2 নমুনা এবং লগ ইন করতে পারে> 30Khz এ 4 টি নমুনার গড় হার্ডওয়্যারের সাথে দুটি এডিসি নমুনা এবং সহজেই উপরের 1000 টি নমুনা/সেকেন্ডের প্রয়োজনীয়তা পূরণ করে। কোডটি 128K এর 100.bin ফাইল সংরক্ষণ সমর্থন করে। 30Khz যা 29hrs 30min জুড়ে। 1000 নমুনা/সেকেন্ডে এটি 37 দিন জুড়ে। কোডটি সহজেই 100 টিরও বেশি ফাইল হ্যান্ডেল করার জন্য বাড়ানো যেতে পারে, তাই রানের সময়কাল বাড়ানো। রান শেষে আপনার থাকবে> 10Gig ডাটা,.bin, ফাইল এবং মেটা ডেটার একটি.met ফাইল রান এবং ফলাফল বর্ণনা করে। সরবরাহকৃত SDtoCSV.jar (সোর্স কোড SDtoCSV_src.zip) আরও প্রক্রিয়াকরণের জন্য.bin ফাইলগুলিকে.csv ফাইলগুলিতে আপনার কম্পিউটারে রূপান্তর করতে ব্যবহার করা যেতে পারে। ফলে ডেটা হল> 60 গিগ। UNO/Mega2560 সংস্করণে.bin থেকে.csv রূপান্তর Arduino স্কেচ অন্তর্ভুক্ত, কিন্তু Teensy সংস্করণ দ্বারা লগ ইন ডেটা ভলিউম দেওয়া, যে রূপান্তর করার একটি কার্যকর উপায় নয়।

সরবরাহ

PJRC দ্বারা Teensy 3.2

অ্যাডাফ্রুট মাইক্রোএসডি কার্ড ব্রেকআউট বোর্ড+ বা অনুরূপ।

16G SDHC ক্লাস 10 ভালো মানের মাইক্রোএসডি কার্ড যেমন সানডিস্ক।

5V ইউএসবি সরবরাহ

সিরিজের একটি 470R প্রতিরোধক সহ একটি নেতৃত্বে।

2 x 100R প্রতিরোধক (Tx/Rx তারের ত্রুটির কারণে ক্ষতি থেকে সুরক্ষা প্রদান করে)

ব্লুটুথ মেট সিলভার বা Arduino UNO/Mega Starter- এ বর্ণিত মডিউলগুলির মধ্যে একটি, যা Android/pfodApp দ্বারা নিয়ন্ত্রিত

ধাপ 1: নির্মাণ

নির্মাণ
নির্মাণ

Http://arduino.cc/en/Main/Software থেকে Arduino IDE V1.8.9+ ডাউনলোড এবং ইনস্টল করুন। সেই ওয়েব পেজে বিভিন্ন অপারেটিং সিস্টেমের লিঙ্ক এবং GettingStarted এর লিঙ্ক রয়েছে (https://arduino.cc/en/Guide/HomePage)।

Teensyduino ডাউনলোড করুন এবং ইনস্টল করুন (Arduino IDE এর জন্য Teensy সাপোর্ট)। প্রথম ব্যবহারের নির্দেশাবলী সাবধানে লক্ষ্য করুন।

বোর্ড হিসাবে Teensy 3.2 নির্বাচন করুন এবং পরীক্ষা করুন যে BLINK উদাহরণ প্রোগ্রাম লোড এবং রান করে।

নিম্নলিখিত লাইব্রেরিগুলি ডাউনলোড এবং ইনস্টল করুন:

লাইব্রেরির জিপ ফাইলগুলি ডাউনলোড করুন এবং তারপরে জিপ ফাইলগুলি থেকে লাইব্রেরিগুলি ইনস্টল করতে Arduino IDE → Sketch → Include Library → Add. ZIP লাইব্রেরি মেনু ব্যবহার করুন।

Teensy32AnalogLogger.zip ফাইলটি আপনার Arduino স্কেচ ডিরেক্টরিতে আনজিপ করুন এবং Teensy32AnalogLogger.ino (সংস্করণ 0.01) দিয়ে Teensy 3.2 বোর্ড প্রোগ্রাম করুন

উপরে দেখানো হিসাবে Teensy 3.2, ব্লুটুথ মডিউল এবং এসডি কার্ড মডিউল ওয়্যার আপ (পিডিএফ সংস্করণ)

ধাপ 2: প্রোগ্রাম চালানো - পরীক্ষা

প্রথমে https://www.sdcard.org/downloads/formatter/ ব্যবহার করে আপনার এসডি কার্ড ফরম্যাট করুন

লগিং শুরু করার জন্য এসডি কার্ড অবশ্যই খালি থাকতে হবে।

প্রাথমিক পরীক্ষার জন্য আপনাকে যোগাযোগের মডিউলটি সংযুক্ত করার দরকার নেই, কেবল টিনসি 3.2 + এসডি মডিউল (একটি খালি কার্ড ইনস্টল সহ) ইউএসবি সিরিয়াল ক্যাবলের মাধ্যমে আরডুইনো আইডিইতে সংযুক্ত করুন। Teensy32AnalogLogger.ino স্কেচটি নিয়ন্ত্রণ এবং পর্যবেক্ষণের জন্য ইউএসবি সংযোগ ব্যবহার করে। নিয়ন্ত্রণ এবং পর্যবেক্ষণের জন্য একটি যোগাযোগ ডিভাইস ব্যবহার করার জন্য নীচে লগিং রিয়েল ডেটা ধাপ দেখুন।

Teensy32AnalogLogger.ino স্কেচের উপরের অংশটি সম্পাদনা করুন যাতে COM_SERIAL থেকে সিরিয়াল সেট করা যায়, Teensy USB সংযোগে আউটপুট দিতে।

#COM_SERIAL সিরিয়াল সংজ্ঞায়িত করুন

তারপর Teensy 3.2 এ স্কেচ আপলোড করুন

115200 বাউডে Arduino IDE সিরিয়াল মনিটর খুলুন (উভয় NL এবং CR সেট সহ)। কয়েক সেকেন্ড পরে Teensy 3.2 কমান্ডের একটি মেনু প্রদর্শন করবে

Ver: 0.01 নিম্নলিখিত কমান্ডগুলির মধ্যে একটি লিখুন:? - বর্তমান অবস্থা এবং মেটাডটাই - ফাইলগুলি আরম্ভ করুন - তালিকা ফাইল>

দ্য ? cmd বর্তমান সেটিংসের বিবরণ প্রদর্শন করে। (এই সেটিংস পরিবর্তন করার জন্য Teensy32AnalogLogger.ino এর শীর্ষ দেখুন) Cmds অবশ্যই একটি NL বা CR বা উভয় দিয়েই শেষ করতে হবে।

720: 00: 00.000 এর 0: 00: 00.000

নমুনা পিন: 16 17 বাইট অর্ডার: লিটল-এন্ডিয়ান এডিসি বিট: 10 এডিসি নমুনা গড়ের উপরে: 4 নমুনা হার: 1000.00 নমুনা ব্যবধান: 1000 ইউএস প্রতি ব্লক নমুনা: 127 ব্লক পূরণ করার সময়: 127000uS একটি ফাইল পূরণ করার সময়: 9:01: 52.000 সব ফাইল পূরণের সময়: 894: 04: 48.000 সর্বোচ্চ এসডি লেটেন্সি (ফাইল ক্লোজ/ওপেন অন্তর্ভুক্ত): 0uS ম্যাক্স ফাইল ক্লোজ/ওপেন লেটেন্সি: 0uS বাফার ব্লকের সংখ্যা: 28 সব ব্লক বাফার পূরণ করার সময়: 3556000uS বাফার সংখ্যা সর্বোচ্চ স্টোরে নমুনা সংরক্ষণ করা হয়েছে

এই ক্ষেত্রে বর্তমান লগিং রানটাইম একটি অনুরোধকৃত 720hrs (30days), D16/A2 এবং D17/A3 এর নমুনা সর্বাধিক রানটাইম 894 ঘন্টা (37.25 দিন) পর্যন্ত হতে পারে। সমস্ত উপলব্ধ বাফার পূরণ করা এবং নমুনা হারিয়ে যাওয়া শুরু হওয়ার আগে মূল লুপ () 3.5 সেকেন্ড (সমস্ত ব্লক বাফার পূরণ করার সময়) পর্যন্ত দখল করা যেতে পারে। রান বাড়াতে বাফার সংরক্ষিত ইত্যাদি আপডেট করা হয়।

একটি খালি এসডি কার্ড,োকান, 'i' cmd ব্যবহার করে ডাটা সংরক্ষণের জন্য ব্যবহৃত 99 টি ফাইল আরম্ভ করুন। এগুলি এখানে প্রি-ইনিশিয়ালাইজ করার সময় একটি ফাইল থেকে অন্য ফাইল স্যুইচ করার সময় বিলম্ব কম করে এবং দ্রুত স্যাম্পলিংয়ের অনুমতি দেয়।

99 ফাইল আরম্ভ করা হচ্ছে

নতুন ফাইল তৈরি করা: log00.bin অতিবাহিত সময়: 368mS নতুন ফাইল তৈরি করা: log01.bin অতিবাহিত সময়: 520mS। । । নতুন ফাইল তৈরি করা হচ্ছে: log98.bin অতিবাহিত সময়: 15660mS নতুন ফাইল তৈরি করা হচ্ছে: log99.bin অতিবাহিত সময়: 15812mS

আপনি তারপর লগিং রান শুরু করতে r cmd ব্যবহার করতে পারেন। রানটি অনুরোধকৃত সময়ের জন্য বা যতক্ষণ না এটি বন্ধ করার জন্য s cmd ব্যবহার করা হয় ততক্ষণ চলবে। আপনি কি ব্যবহার করতে পারেন? cmd আপডেট করার সময় এবং গণনা পেতে লগ করার সময়। এখানে s cmd ব্যবহার করে তাড়াতাড়ি থামানো হয়েছে।

লগিং ডেটা ….

Ver: 0.01 নিম্নলিখিত কমান্ডগুলির মধ্যে একটি লিখুন:? - বর্তমান অবস্থা এবং মেটাডেটা s - ডাটা লগিং বন্ধ করুন

লগিং ডেটা… দিয়ে চেক করবেন? কমান্ড

অতিবাহিত রান টাইম: 0: 00: 10.000 এর 720: 00: 00.000 ইলসেড রান টাইম: 0: 00: 20.000 এর 720: 00: 00.000। । ।

লগিং বন্ধ করা এবং অব্যবহৃত ফাইলগুলি সরানো।

। । । অব্যবহৃত ফাইল সরানো হচ্ছে: log98.bin অব্যবহৃত ফাইল সরানো হচ্ছে: log99.bin

720: 00: 00.000 এর 0: 01: 04.976

নমুনা পিন: 16 17 বাইট অর্ডার: লিটল-এন্ডিয়ান এডিসি বিট: 10 এডিসি নমুনা গড়ের উপরে: 4 নমুনা হার: 1000.00 নমুনা ব্যবধান: 1000 ইউএস প্রতি ব্লক নমুনা: 127 ব্লক পূরণ করার সময়: 127000uS একটি ফাইল পূরণ করার সময়: 9:01: 52.000 সব ফাইল পূরণের সময়: 894: 04: 48.000 সর্বোচ্চ এসডি লেটেন্সি (ফাইল ক্লোজ/ওপেন সহ): 204uS ম্যাক্স ফাইল ক্লোজ/ওপেন লেটেন্সি: 0uS বাফার ব্লকের সংখ্যা: 28 সব ব্লক বাফার পূরণ করার সময়: 3556000uS সর্বোচ্চ বাফার সংখ্যা স্টোরে নমুনা সংরক্ষণ করা হয়েছে

ls:

2000-01-01 01:00:00 261632 log00.bin 2000-01-01 01:00:00 240 log.met

ডেটা লগিং সম্পূর্ণ!

Ver: 0.01 নিম্নলিখিত কমান্ডগুলির মধ্যে একটি লিখুন:? - বর্তমান অবস্থা এবং মেটাডেটা ** r - রেকর্ড এডিসি ডেটা ** উপলভ্য নয়। ডেটা ইতিমধ্যে বিদ্যমান ** i - ফাইলগুলি আরম্ভ করুন ** উপলভ্য নয়। ডেটা ইতিমধ্যে বিদ্যমান l - তালিকা ফাইল

ডেটা কি আগে থেকেই লগ করা হয়েছে, দেখে নিন?

LED ডিসপ্লে

D3 এর সাথে সংযুক্ত LED (D2 GND সংযোগ প্রদান করে) কোন নমুনা মিস হয়ে গেলে সলিড চালু হবে এবং ত্রুটি হলে ফ্ল্যাশ হবে। স্কেচ ত্রুটির পরেও চালিয়ে যাওয়ার চেষ্টা করে কিন্তু সফলভাবে তা নাও করতে পারে।

ধাপ 3: বাস্তব তথ্য লগিং

দীর্ঘ সময় ধরে বাস্তব তথ্য লগ করার সময়, D0/D1 পিনের সাথে একটি যোগাযোগ মডিউল সংযুক্ত করা এবং দূর থেকে লগিং নিয়ন্ত্রণ এবং পর্যবেক্ষণ করা আরও সুবিধাজনক। এখানে একটি ব্লুটুথ মেট সিলভার মডিউল তার ডিফল্ট সেটিংস, 115200 বড, কোন হার্ডওয়্যার হ্যান্ডশেকিং (আরটিসি, সিটিএস), পিন কোড 1234 ব্যবহার করা হয়েছিল।

দ্রষ্টব্য: যখন মেট সিলভার মডিউলে বিদ্যুৎ প্রয়োগ করা হয় তখন এটি 60 সেকেন্ডের জন্য একটি কনফিগারেশন মোডে যায়, দ্রুত লাল নেতৃত্বে জ্বলজ্বলে। এই সময়ের মধ্যে আপনি সিরিয়াল কানেকশনের মাধ্যমে মডিউলে কনফিগার করার জন্য $$$ পাঠাতে পারেন কিন্তু আপনি মডিউলটি সংযুক্ত করতে পারবেন না। লাল নেতৃত্ব ধীরে ধীরে জ্বলজ্বল করলে, ব্লুটুথ মডিউল সংযোগ গ্রহণ করবে।

Teensy32AnalogLogger.ino এ COM_SERIAL সংজ্ঞা পরিবর্তন করুন হার্ডওয়্যার সিরিয়াল (D0/D1) সংযোগে, সিরিয়াল 1

#COM_SERIAL সিরিয়াল 1 নির্ধারণ করুন

কম্পিউটারের সাথে জোড়া লাগানোর পর, কম্পিউটারে একটি নতুন COM পোর্ট তৈরি করা হয় এবং কুলটার্ম সংযোগ এবং নিয়ন্ত্রণ এবং লগিং নিরীক্ষণের জন্য ব্যবহার করা যেতে পারে। অন্যান্য ক্রমিকভাবে সংযুক্ত যোগাযোগের মডিউলগুলিও ব্যবহার করা যেতে পারে, যেমন ওয়াইফাই বা বিএলই, বিস্তারিত জানার জন্য অ্যান্ড্রয়েড/পিএফএডএপ দ্বারা নিয়ন্ত্রিত আরডুইনো ইউএনও/মেগা স্টার্টার দেখুন।

আপনি ব্লুটুথ টার্মিনাল অ্যাপ যেমন ব্লুটুথ টার্মিনাল অ্যাপ ব্যবহার করে, অথবা ওয়াইফাই এবং টিসিপি টার্মিনাল অ্যাপ যেমন টিসিপি টেলনেট টার্মিনাল প্রো, অথবা ইউআরটি টু বিএল এমডুল এবং একটি বিএলই টার্মিনাল অ্যাপ ব্যবহার করে আপনার অ্যান্ড্রয়েড মোবাইল থেকে লগিং নিয়ন্ত্রণ এবং নিরীক্ষণ করতে পারেন। nRF UART V2

ধাপ 4: ADC ইনপুট চয়েসের উপর বিধিনিষেধ

ADC ইনপুট চয়েসের উপর বিধিনিষেধ
ADC ইনপুট চয়েসের উপর বিধিনিষেধ

Teensy 3.2 এর মাইক্রো-প্রসেসরে দুটি পৃথক ADC হার্ডওয়্যার মডিউল, ADC_0 এবং ADC_1 রয়েছে যাতে এটি একই সময়ে দুটি ইনপুট নমুনা দিতে পারে। এটিতে হার্ডওয়্যার গড়ের একটি অন্তর্নির্মিত রয়েছে যা ফলাফল পরিবর্তন করার আগে একাধিক এডিসি নমুনা নেয় এবং তাদের গড় করে।

ADC_0, ADC_1 এর সাথে কোন ইনপুট সংযুক্ত করা যেতে পারে তার উপর সীমাবদ্ধতা রয়েছে। Teensy3_1_AnalogCard-p.webp

সংক্ষেপে: -একটি শেষ হওয়া রিডের জন্য অর্থাৎ GND ADC_0- এর জন্য উল্লিখিত +ভোল্টগুলি A0 থেকে A9, A10, A11, A12, A14 ADC_1 পড়তে পারে A2, A3, A10, A13, A15 থেকে A20 পড়তে পারে যদি আপনি একটি পিন নির্বাচন করেন যা ADC পড়তে পারে না এটি 0 ফিরে আসবে (সর্বদা)

এই প্রকল্পটি A2, A3 ব্যবহার করে যা প্রতিটি ADC_0 বা ADC_1 দ্বারা অ্যাক্সেস করা যায়।

ধাপ 5:.bin ফাইলগুলিকে.csv ফাইলে রূপান্তর করা

Teensy32AnalogLogger.ino নমুনাগুলিকে logxx.bin ফাইলে বাইনারি হিসেবে সংরক্ষণ করে যেমন log00.bin to log99.bin। Teensy32AnalogLogger.ino রান সম্পর্কে মেটা ডেটার একটি log.met ফাইল সংরক্ষণ করে।

আপনি আরও প্রক্রিয়াকরণের জন্য.bin ফাইলগুলিকে.csv এ রূপান্তর করতে SDtoCSV.jar (সোর্স কোড SDtoCSV_src.zip) ব্যবহার করতে পারেন। SD কার্ড থেকে আপনার কম্পিউটারের হার্ডডিস্কে কমপক্ষে 70Gig ফ্রি স্পেস দিয়ে ফাইল কপি করুন এবং SDtoCSV.jar একই ডিরেক্টরিতে কপি করুন। সেই ডিরেক্টরিতে একটি কমান্ড উইন্ডো খুলুন এবং চালান

java -jar SDtoCSV.jar লগ

যদি আপনার কম্পিউটারে জাভা ইনস্টল না থাকে তাহলে www.java.com থেকে ইনস্টল করুন

SDtoCSV log.met ফাইলটি প্রক্রিয়া করবে এবং তারপরে ডিরেক্টরিতে উপলব্ধ logxx.bin ফাইলগুলির প্রত্যেকটি এবং প্রতিটি.bin এর জন্য একটি.csv ফাইল আউটপুট করবে।. Csv ফাইলের নমুনা ক্রম সংখ্যা রয়েছে এবং তারপরে দুটি রিডিং রয়েছে।

একটি 2 adc পড়ার জন্য 30303 বার/সেকেন্ডের নমুনা কনসোল আউটপুট এখানে দেখানো হয়েছে, output.txt। এটি মিস করা নমুনা কিভাবে রিপোর্ট করা হয় তা ব্যাখ্যা করে। (চূড়ান্ত স্কেচে বাফারের সংখ্যা দ্বিগুণ করে এই মিস করা নমুনাগুলি সংশোধন করা হয়েছে)

এসডি_ CSV রূপান্তর লগিং। অগ্রগতি এবং ত্রুটির বার্তাগুলির জন্য SDtoCSV.log চেক করুন। প্রসেসিং log00 প্রসেসড 256000 ব্লক প্রসেসিং লগ 01 প্রসেসড 256000 ব্লক। । । প্রসেসিং লগ 25 প্রসেসড 256000 ব্লক প্রসেসিং লগ 26 প্রসেসড 256000 ব্লক প্রসেসিং লগ 27 প্রসেসড 256000 ব্লক মিস করা নমুনা: 2715 প্রসেসিং লগ 28 প্রসেসিং 256000 ব্লক। । । প্রসেসিং লগ 29 প্রসেসড 256000 ব্লক। । । প্রসেসিং লগ 47 প্রসেসড 256000 ব্লক প্রসেসিং লগ 48 প্রসেসড 35935 ব্লক --- প্রসেসিং শেষ

একটি পূর্ণাঙ্গ লগ ফাইল, SDtoCSV.log, SDtoCSV এর প্রতিটি রান দ্বারা যুক্ত করা হয়। এটি মেটা ডেটা আউটপুট এবং কোন ত্রুটি বার্তা অন্তর্ভুক্ত করে। এখানে গণনা: 254 হল সেই ব্লকে সংরক্ষিত ডেটার গণনা অর্থাৎ 127 টি নমুনা x 2 adc রিডিং প্রতি ব্লকে। মিস করা নমুনা হল মিস করা পড়ার জোড়ার সংখ্যা অর্থাৎ.csv আউটপুটে লাইন।

=== SD_Logging CSV রূপান্তর করার জন্য লগ ফাইল শনি 13 জুলাই 13:19:51 AEST 2019 কনসোলে অগ্রগতি বার্তা দেখতে java -jar SDtoCSV.jar বেস ফাইলের নাম 'লগ' মেটাডেটা সংস্করণ: 0 (লিটল এন্ডিয়ান) নমুনা অন্তর্বর্তী ইউএস: 33 adcBits: 10 adcAvgs: 4 pinCount: 2 Pins: 16, 17 samplePerBlock: 127 noBufferBlocks: 28 period mS: 51649820 অনুরোধ করা রানটাইম mS: 106216704 maxBuffers ব্যবহার করা হয়েছে: 32 সতর্কতা: উপলব্ধ বাফার সংখ্যা (28) ছাড়িয়ে গেছে। কিছু নমুনা অনুপস্থিত হতে পারে। maxLatency uS: 221476 সতর্কতা: বাফার ব্লক (117348uS) দ্বারা প্রদত্ত সময় অতিক্রম করে। কিছু নমুনা অনুপস্থিত থাকবে। maxFileOpenTime uS: 20998 missTimers: 0 missSamplesTotal: 2715 totalBlocksWritten: 12323935 totalSamplesWritten: 1565139665 Processing log00.bin প্রসেসড 256000 ব্লক প্রসেসিং log01.bin প্রসেসড 256000 ব্লক । । প্রসেসিং log26.bin প্রসেসড 256000 ব্লক প্রসেসিং log27.bin !!! ব্লক: 57696 গণনা: 254 মিস নমুনা: 2339 !!! ব্লক: 57697 গণনা: 254 মিস নমুনা: 376 প্রক্রিয়াকৃত 256000 ব্লক --- মোট মিস করা নমুনা: 2715

প্রসেসিং log28.bin প্রসেসড 256000 ব্লক

। । । প্রসেসিং লগ 47.বিন প্রসেসড 256000 ব্লক প্রসেসিং লগ

Log00.csv আউটপুট ফাইলের একটি নমুনা

SampleCounter (প্রতি 33uS), পিন 16, পিন 170, 248, 205 1, 273, 195 2, 228, 337 3, 360, 302 4, 355, 369 5, 220, 281। । ।

নমুনা কাউন্টার ফাইল থেকে ফাইল পর্যন্ত বৃদ্ধি পায় যাতে এটি একটি টাইম স্ট্যাম্প হিসাবে ব্যবহার করা যায়। যদি অনুপস্থিত নমুনা থাকে তাহলে পরবর্তী লাইন আউটপুট করার আগে নমুনা কাউন্টারটি মিস করা গণনা দ্বারা বৃদ্ধি করা হয় যাতে রেকর্ড করা নমুনার জন্য কাউন্টার/টাইম স্ট্যাম্প সঠিক থাকে।

ধাপ 6: কোড এবং এক্সটেনশনের বিষয়ে মন্তব্য

Teensy32AnalogLogger হল বিল Greiman এর AnalogBinLogger এর একটি ভারী পরিবর্তিত সংস্করণ তার SdFat Arduino লাইব্রেরিতে। এখানে লাইব্রেরিটি টিনসি 3.2 তে চালানোর জন্য পুনর্লিখন করা হয়েছে।

Teensy32AnalogLogger নমুনা ব্যবধান সেট করতে টাইমার 0 ব্যবহার করে। টাইমার 0 এর জন্য ইন্টারাপ্ট হ্যান্ডলার দুটি এডিসি রূপান্তর শুরু করে। দ্বিতীয় এডিসি মডিউলের জন্য একটি ইন্টারাপ্ট হ্যান্ডলারকে ক্রমাগত বলা হয় যতক্ষণ না তারা উভয় শেষ হয়, সাধারণত প্রথম এডিসি মডিউল শুরু হয় ADC_0 দ্বিতীয়টির আগে শেষ হবে তাই ইন্টারাপ্ট হ্যান্ডলারকে শুধুমাত্র একবার বলা হয়। ADC_1 ইন্টারাপ্ট হ্যান্ডলার নমুনাগুলি একটি ডেটা বাফারে সংরক্ষণ করে।

প্রধান লুপে (), storeSampleBuffer () SD কার্ডে কোন পূর্ণ বাফার সংরক্ষণ করে এবং বাফারগুলিকে খালি বাফার সারিতে পুনর্ব্যবহার করে। Teensy 3.2 তে প্রচুর পরিমাণে RAM পাওয়া যায় মানে প্রচুর সংখ্যক বাফার বরাদ্দ করা যায় এবং তাই storeSampleBuffer () কে প্রায়ই কল করার প্রয়োজন হয় না। এটি প্রধান লুপ () প্রক্রিয়া কমান্ড এবং আউটপুট পাঠানোর মতো অন্যান্য কাজ করার জন্য সময় ছেড়ে দেয়।

এক্সটেনশন

যদিও এই প্রকল্পটি একটি উচ্চ গতির ডেটা লগার হিসাবে কাজ করছে, সম্পূর্ণ পরিধানযোগ্য এর জন্য এটি এখনও প্যাকেজ করা প্রয়োজন এবং একটি ব্যাটারি সিস্টেম এবং ইসিজি সেন্সর সরবরাহ করা প্রয়োজন। পাশাপাশি কিছু এক্সটেনশন রয়েছে যা বিবেচনা করা উচিত।

  1. তরল ফর্মের স্ন্যাপশট দেখানোর জন্য pfodApp- এর প্লটিং ফাংশন ব্যবহার করে pfodApp এর মাধ্যমে নমুনাযুক্ত তরঙ্গ ফর্মের রিয়েল টাইম কন্ট্রোল এবং মনিটরিং যোগ করুন
  2. দীর্ঘ নমুনা চালানোর জন্য 99 এর আগের ফাইল সংখ্যাগুলি প্রসারিত করুন
  3. 2 টির বেশি ইনপুট নমুনা। যেহেতু Teensy 3.2 এর দ্বৈত ADC মডিউল রয়েছে, তাই আপনি নমুনা হার সর্বাধিক করার জন্য জোড়ায় অতিরিক্ত ইনপুট যোগ করতে কোডটি সংশোধন করতে পারেন।
  4. ব্যাটারি চার্জ ট্র্যাক করতে ব্যাটারি পর্যবেক্ষণ যোগ করুন। Teensy 3.2 ব্লুটুথ এবং এসডি মডিউল সহ 24 ঘন্টা ধরে প্রায় 1100mAhrs ব্যবহার করে, কিন্তু সেন্সর মডিউল বাদ দিয়ে
  5. লগিং ব্যাহত না করে ব্যাটারি পরিবর্তনের জন্য একটি দ্বৈত ব্যাটারি সরবরাহ সার্কিট যুক্ত করুন।

প্রস্তাবিত: