সুচিপত্র:

Arduino Part 2- তে খুব কম পাওয়ার BLE - তাপমাত্রা/আর্দ্রতা মনিটর - Rev 3: 7 ধাপ
Arduino Part 2- তে খুব কম পাওয়ার BLE - তাপমাত্রা/আর্দ্রতা মনিটর - Rev 3: 7 ধাপ

ভিডিও: Arduino Part 2- তে খুব কম পাওয়ার BLE - তাপমাত্রা/আর্দ্রতা মনিটর - Rev 3: 7 ধাপ

ভিডিও: Arduino Part 2- তে খুব কম পাওয়ার BLE - তাপমাত্রা/আর্দ্রতা মনিটর - Rev 3: 7 ধাপ
ভিডিও: ELF/EMBARC Bronchiectasis conference 2023 with subtitles 2024, নভেম্বর
Anonim
Arduino Part 2- তে খুব কম পাওয়ার BLE - তাপমাত্রা/আর্দ্রতা মনিটর - Rev 3
Arduino Part 2- তে খুব কম পাওয়ার BLE - তাপমাত্রা/আর্দ্রতা মনিটর - Rev 3
Arduino Part 2- তে খুব কম পাওয়ার BLE - তাপমাত্রা/আর্দ্রতা মনিটর - Rev 3
Arduino Part 2- তে খুব কম পাওয়ার BLE - তাপমাত্রা/আর্দ্রতা মনিটর - Rev 3
Arduino Part 2- তে খুব কম পাওয়ার BLE - তাপমাত্রা/আর্দ্রতা মনিটর - Rev 3
Arduino Part 2- তে খুব কম পাওয়ার BLE - তাপমাত্রা/আর্দ্রতা মনিটর - Rev 3

আপডেট: 23 শে নভেম্বর 2020 - 15 জানুয়ারী 2019 থেকে 2 x AAA ব্যাটারির প্রথম প্রতিস্থাপন অর্থাৎ 2xAAA Alkaline আপডেটের জন্য 22 মাস আপডেট: 7 এপ্রিল 2019 - lp_BLE_TempHumidity এর Rev 3, তারিখ/সময় প্লট যোগ করে, pfodApp V3.0.362+ব্যবহার করে, এবং পাঠানোর সময় অটো থ্রোটলিং তথ্য

আপডেট: 24 মার্চ 2019 - lp_BLE_TempHumidity এর Rev 2, আরো প্লট অপশন এবং i2c_ClearBus যোগ করে

এই নির্দেশযোগ্য, একটি খুব কম শক্তি তাপমাত্রা আর্দ্রতা মনিটর, 3 এর অংশ 2।

পার্ট 1 - Arduino এর সাহায্যে খুব কম পাওয়ার BLE ডিভাইস তৈরি করা সহজ, Arduino কে কোড nRF52 লো পাওয়ার ডিভাইস, প্রোগ্রামিং মডিউল এবং সাপ্লাই কারেন্ট পরিমাপ করা। এটি বিশেষ লো পাওয়ার টাইমার এবং তুলনাকারী এবং ডিবাউন্সড ইনপুট এবং nRF52 ডিভাইসের সাথে সংযোগ এবং নিয়ন্ত্রণের জন্য pfodApp ব্যবহার করে।

পার্ট 2 - একটি খুব কম শক্তি তাপমাত্রা আর্দ্রতা মনিটর, এটি একটি, একটি Redbear Nano V2 মডিউল এবং একটি Si7021 তাপমাত্রা / আর্দ্রতা সেন্সর ব্যবহার করে একটি কম পাওয়ার ব্যাটারি / সৌর মনিটর তৈরি করে। এটি Si7021 লাইব্রেরিকে কম শক্তি হিসাবে পরিবর্তন করা, BLE ডিভাইসটিকে তার বর্তমান 25pA খরচ কমাতে এবং আপনার মোবাইলের জন্য একটি কাস্টম তাপমাত্রা/আর্দ্রতা প্রদর্শন ডিজাইন করে।

পার্ট 3 - একটি রেডবিয়ার ন্যানো ভি 2 প্রতিস্থাপন ন্যানো ভি 2 এর পরিবর্তে অন্যান্য এনআরএফ 52 ভিত্তিক মডিউল ব্যবহার করে। এটি সরবরাহ উপাদান নির্বাচন, নির্মাণ, nRF52 চিপ প্রোগ্রামিং সুরক্ষা অপসারণ, NFC পিনগুলিকে স্বাভাবিক GPIO হিসাবে ব্যবহার করে এবং Arduino এ একটি নতুন nRF52 বোর্ড সংজ্ঞায়িত করে।

এই নির্দেশযোগ্য একটি খুব কম শক্তি BLE তাপমাত্রা এবং আর্দ্রতা মনিটর নির্মাণের মাধ্যমে পার্ট 1 বিল্ডিং খুব কম পাওয়ার BLE ডিভাইসের একটি ব্যবহারিক প্রয়োগ। মনিটর কয়েন সেল বা 2 x AAA ব্যাটারিতে বছরের পর বছর চলবে, এমনকি সৌর সহায়তায় আরও দীর্ঘ। এই টিউটোরিয়াল কম বিদ্যুৎ খরচ এবং কিভাবে ব্যাটারি বা ব্যাটারি + সোলার বা শুধুমাত্র সৌর থেকে আপনার ডিভাইসকে পাওয়ার জন্য BLE পরামিতিগুলিকে টিউন করে।

বর্তমান তাপমাত্রা এবং আর্দ্রতা প্রদর্শনের পাশাপাশি, মনিটর 10 মিনিট রিডিংয়ের শেষ 36 ঘন্টা এবং প্রতি ঘণ্টায় 10 দিনের রিডিং সঞ্চয় করে। এগুলি আপনার অ্যান্ড্রয়েড মোবাইলে এবং একটি লগ ফাইলে সংরক্ষিত মানগুলিতে তালিকাভুক্ত করা যেতে পারে। কোনও অ্যান্ড্রয়েড প্রোগ্রামিংয়ের প্রয়োজন নেই, pfodApp সেগুলি পরিচালনা করে। অ্যান্ড্রয়েড ডিসপ্লে এবং চার্টিং সম্পূর্ণরূপে আপনার Arduino স্কেচ দ্বারা নিয়ন্ত্রিত হয় যাতে আপনি প্রয়োজন অনুযায়ী এটি কাস্টমাইজ করতে পারেন।

একটি Redbear Nano V2 বোর্ড nRF52832 BLE কম্পোনেন্টের জন্য এবং একটি স্পার্কফুন Si7021 ব্রেকআউট বোর্ড তাপমাত্রা / আর্দ্রতা সেন্সরের জন্য ব্যবহৃত হয়। Si7021 এর সাথে একটি পরিবর্তিত লো পাওয়ার লাইব্রেরি ব্যবহার করা হয়। একটি ছোট PCB ন্যানোভি 2 এবং সরবরাহ উপাদানগুলি ধরে রাখার জন্য ডিজাইন করা হয়েছিল। যাইহোক যেহেতু কোন সারফেস মাউন্ট করা উপাদান ব্যবহার করা হয়নি, তাই আপনি খুব সহজেই ভেরো বোর্ডে এটি তৈরি করতে পারেন। তিনটি পাওয়ার সাপ্লাই সংস্করণ আচ্ছাদিত। i) ব্যাটারি প্লাস সোলার অ্যাসিস্ট, ii) শুধুমাত্র ব্যাটারি, iii) শুধু সোলার। সোলার ওনলি অপশনে কোন ব্যাটারি স্টোরেজ নেই এবং এটি তখনই চলবে যখন কিছু আলো থাকবে। একটি উজ্জ্বল রুম আলো বা ডেস্ক বাতি যথেষ্ট।

রূপরেখা

এই প্রকল্পের 4 টি আপেক্ষিক স্বাধীন অংশ রয়েছে:-

  1. উপাদান নির্বাচন এবং নির্মাণ
  2. কোড - লো পাওয়ার সেন্সর লাইব্রেরি, ইউজার ইন্টারফেস এবং আরডুইনো স্কেচ
  3. সরবরাহ বর্তমান এবং ব্যাটারি জীবন পরিমাপ
  4. সরবরাহের বিকল্প - সৌর সহায়তা, শুধুমাত্র ব্যাটারি, শুধুমাত্র সৌর

ধাপ 1: উপাদান নির্বাচন

উপাদান নির্বাচন

পার্ট 1 এ উল্লেখ করা হয়েছে-সত্যিই কম পাওয়ার সলিউশন পাওয়ার কৌশলটি হল বেশিরভাগ সময় কিছু না করা, ইনপুটগুলিতে বাইরের পুল-আপ/পুল-ডাউন রেসিস্টারের মাধ্যমে কারেন্ট কমানো এবং কোন অতিরিক্ত উপাদান নেই। এই প্রকল্পটি কম শক্তি সমাধান পেতে প্রতিটি কৌশল ব্যবহার করবে।

NRF52832 উপাদান

NRF52832 চিপ 1.7V এবং 3.6V (পরম সর্বোচ্চ ভোল্টেজ 3.9V) এর মধ্যে পাওয়ার সাপ্লাই দিয়ে চলতে পারে। এর মানে হল আপনি একটি মুদ্রা সেল বা 2 x AAA ব্যাটারি থেকে সরাসরি চিপকে শক্তি দিতে পারেন। তবে চিপকে ভোল্ট থেকে রক্ষা করার জন্য ভোল্টেজ রেগুলেটর যুক্ত করা বুদ্ধিমানের কাজ। এই অতিরিক্ত উপাদানটি বিদ্যুৎ খরচ সহ আসে, কিন্তু ন্যানোভি 2 বোর্ডের ক্ষেত্রে অন-বোর্ড রেগুলেটর, টিএলভি 704, 5.5uA কম কম ব্যবহার করে, সাধারণত মাত্র 3.4uA। এই অতিরিক্ত বিদ্যুৎ ব্যবহারের জন্য আপনি 24V পর্যন্ত সরবরাহের জন্য সুরক্ষা পান।

Si7021 উপাদান

Si7021 সেন্সর নিজেই পরিমাপ না করার সময় সাধারণত <1uA আঁকে, যেমন স্ট্যান্ডবাইতে এবং I2C এর মাধ্যমে ডেটা প্রেরণের সময় 4mA পর্যন্ত। যেহেতু আমরা ক্রমাগত পরিমাপ গ্রহণ করি না, 4mA গড় সরবরাহ বর্তমানের একটি উল্লেখযোগ্য অংশ নয়। খুব বেশি 30 সেকেন্ড পড়া একটি গড় সরবরাহ বর্তমানের 1uA এর চেয়ে কম যোগ করে, নিচে সরবরাহের বর্তমান পরিমাপ দেখুন।

দুটি সহজেই পাওয়া যায় Si7021 ব্রেকআউট বোর্ড। একটি অ্যাডাফ্রুট থেকে এবং একটি স্পার্কফুন থেকে। দুটি বোর্ডের দিকে এক ঝলক আপনাকে বলবে যে অ্যাডাফ্রুট বোর্ডে স্পার্কফুন বোর্ডের চেয়ে অনেক বেশি উপাদান রয়েছে, তাই আপনি স্পার্কফুন বোর্ড বেছে নেওয়ার দিকে ঝুঁকবেন। প্রতিটি বোর্ডের পরিকল্পনার দিকে তাকালে দেখা যায় যে স্পার্কফুন বোর্ডটি কেবলমাত্র বেয়ার সেন্সর এবং দুটি 4k7 পুলআপ রিসোটর, যখন অ্যাডাফ্রুট বোর্ডের একটি অন-বোর্ড, এমআইসি 5225, রেগুলেটর রয়েছে যা সাধারণত সর্বদা 29uA আঁকে। এটি উল্লেখযোগ্য যখন সার্কিটের বিশ্রামের জন্য সমস্ত বর্তমান <30uA হয়। যেহেতু আমাদের কাছে ইতিমধ্যে nRF52832 চিপের জন্য একটি নিয়ন্ত্রক আছে, এই অতিরিক্ত উপাদানটির প্রয়োজন নেই এবং Si7021 সেই 3.3V সরবরাহ থেকে চালিত হতে পারে। সুতরাং এই প্রকল্পটি স্পার্কফুন থেকে Si7021 ব্রেকআউট বোর্ড ব্যবহার করবে।

ইনপুটগুলিতে বাহ্যিক পুল-আপ/পুল-ডাউন প্রতিরোধকের মাধ্যমে বর্তমানকে ছোট করুন

4K7 I2C পুলআপ প্রতিরোধক বিশেষভাবে উচ্চ মান নয় এবং কম টানলে 0.7mA আঁকবে। এটি একটি সমস্যা হবে যদি তারা একটি সুইচ ইনপুট যেখানে দীর্ঘ সময়ের জন্য ভিত্তি করে ছিল। যাইহোক এই প্রকল্পে এই প্রতিরোধকগুলির মাধ্যমে বর্তমানটি কেবলমাত্র I2C ইন্টারফেস ব্যবহার করে এবং অল্প সময়ের জন্য হ্রাস করা হয়। বেশিরভাগ সময় I2C লাইন ব্যবহার করা হয় না এবং উচ্চ / ত্রি-অবস্থা হয় তাই এই প্রতিরোধকগুলির মধ্য দিয়ে কোন প্রবাহ প্রবাহিত হয় না।

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

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

প্রকল্পটি একটি ছোট পিসিবিতে নির্মিত, কিন্তু যেহেতু এসএমডি উপাদান নেই, তাই এটি খুব সহজেই ভেরো বোর্ড ব্যবহার করে তৈরি করা যেতে পারে। PCB এই Gerber ফাইলগুলি থেকে pcbcart.com দ্বারা তৈরি করা হয়েছিল, TempHumiditySensor_R1.zip পিসিবি সাধারণ উদ্দেশ্য যা অন্যান্য BLE প্রকল্পের জন্য যথেষ্ট।

স্কিম্যাটিক উপরে দেখানো হয়। এখানে একটি পিডিএফ সংস্করণ।

অংশ তালিকা

ডিসেম্বর 2018 অনুযায়ী প্রতি ইউনিট আনুমানিক খরচ, 1 US $ 62, শিপিং এবং প্রোগ্রামারকে পার্ট 1 থেকে বাদ দিয়ে

  • Redbear NanoV2 ~ US $ 17
  • স্পার্কফুন Si7021 ব্রেকআউট বোর্ড ~ US $ 8
  • 2 x 53mm x 30mm 0.15W 5V সৌর কোষ যেমন Overfly ~ US $ 1.10
  • 1 x PCB TempHumiditySensor_R1.zip ~ US $ 25 5 বন্ধের জন্য www.pcbcart.com অথবা ভেরো বোর্ড (স্ট্রিপ কপার) যেমন Jaycar HP9540 ~ AUD $ 5
  • 2 x 1N5819 schottky ডায়োড যেমন Digikey 1N5819FSCT-ND ~ US $ 1
  • 1 x 470R 0.4W 1% প্রতিরোধক উদা Digikey BC3274CT-ND ~ US $ 0.25
  • 6 x 6 পিন পুরুষ হেডার পিন উদা e.g. স্পার্কফুন PRT-00116 ~ US $ 1.5
  • মহিলা থেকে মহিলা জাম্পার উদা Adafruit ID: 1950 ~ US $ 2
  • 3 মিমি x 12 মিমি নাইলন স্ক্রু, যেমন Jaycar HP0140 ~ AUD $ 3
  • 3 মিমি x 12 মিমি নাইলন বাদাম, যেমন Jaycar HP0146 ~ AUD $ 3
  • স্কচ স্থায়ী মাউন্ট টেপ বিড়াল 4010 যেমন আমাজন থেকে ~ US $ 6.6
  • AAA x 2 ব্যাটারি ধারক, যেমন স্পার্কফুন PRT-14219 ~ US $ 1.5
  • 2 x AAA 750mA ক্ষারীয় ব্যাটারী, যেমন স্পার্কফুন PRT-09274 ~ US $ 1.0 এই ব্যাটারিগুলি> 2 বছর স্থায়ী হওয়া উচিত। এনার্জাইজার অ্যালকালাইন ব্যাটারির ক্ষমতা বেশি
  • প্লাস্টিক বক্স (ABS) 83mm x 54mm x 31mm, যেমন Jaycar HB6005 ~ AUD $ 3
  • pfodApp ~ US $ 10
  • 1 x 22uF 63V নিম্ন ESR ক্যাপাসিটর (চ্ছিক) উদা Jaycar RE-6342 ~ AUD $ 0.5 অথবা Digikey P5190-ND ~ US $ 0.25

নির্মাণ সোজা সামনের দিকে। ব্যাটারি হোল্ডার এবং সৌর কোষগুলি প্লাস্টিকের বাক্সে ভারী দায়িত্বের ডবল পার্শ্বযুক্ত টেপ দিয়ে সুরক্ষিত।

সমাপ্ত অংশে CLK থেকে GND পর্যন্ত Gnd লিঙ্ক তারের নোট করুন। এটি একটি উচ্চ বর্তমান ডিবাগ মোডে nRF52 চিপকে ট্রিগার করা থেকে CLK ইনপুটে গোলমাল রোধ করার জন্য প্রোগ্রামিংয়ের পরে ইনস্টল করা আছে।

ধাপ 3: কোড - লো পাওয়ার সেন্সর লাইব্রেরি, ইউজার ইন্টারফেস এবং আরডুইনো স্কেচ

কোড - লো পাওয়ার সেন্সর লাইব্রেরি, ইউজার ইন্টারফেস এবং আরডুইনো স্কেচ
কোড - লো পাওয়ার সেন্সর লাইব্রেরি, ইউজার ইন্টারফেস এবং আরডুইনো স্কেচ
কোড - লো পাওয়ার সেন্সর লাইব্রেরি, ইউজার ইন্টারফেস এবং আরডুইনো স্কেচ
কোড - লো পাওয়ার সেন্সর লাইব্রেরি, ইউজার ইন্টারফেস এবং আরডুইনো স্কেচ
কোড - লো পাওয়ার সেন্সর লাইব্রেরি, ইউজার ইন্টারফেস এবং আরডুইনো স্কেচ
কোড - লো পাওয়ার সেন্সর লাইব্রেরি, ইউজার ইন্টারফেস এবং আরডুইনো স্কেচ

জিপ কোডটি ডাউনলোড করুন, lp_BLE_TempHumidity_R3.zip, এবং এটি আপনার Arduino স্কেচ ডিরেক্টরিতে আনজিপ করুন। আপনাকে এই জিপ ফাইল থেকে lp_So7021 লাইব্রেরি ইনস্টল করতে হবে এবং pfodParser লাইব্রেরিও ইনস্টল করতে হবে।

লো পাওয়ার সেন্সর লাইব্রেরি, lp_Si7021

অ্যাডাফ্রুট এবং স্পার্কফুন উভয়ই সি 21০২১ সেন্সর অ্যাক্সেস করার জন্য সাপোর্ট লাইব্রেরি প্রদান করে, তবে এই দুটি লাইব্রেরি খুব কম বিদ্যুৎ ব্যবহারের জন্য অনুপযুক্ত। সেন্সরটি তার পরিমাপ গ্রহণ করার সময় উভয়ই বিলম্বিত (25) কোড ব্যবহার করে। পার্ট 1 এ উল্লিখিত হিসাবে বিলম্বগুলি মন্দ। আরডুইনো বিলম্ব () বিদ্যুৎ ব্যবহার করে মাইক্রো-প্রসেসর চালু রাখে যখন এটি বিলম্বের জন্য অপেক্ষা করে। এটি কম শক্তি BLE এর প্রথম নিয়ম ভেঙ্গে দেয়, বেশিরভাগ সময় কিছুই করে না। প্রতিস্থাপন lp_Si7021 লাইব্রেরি, সমস্ত বিলম্বকে lp_timers দিয়ে প্রতিস্থাপন করে যা মাইক্রো-প্রসেসরকে ঘুমাতে দেয় যখন সেন্সরের পরিমাপ শেষ হওয়ার জন্য অপেক্ষা করে।

Lp_Si7021 লাইব্রেরি কতটা পার্থক্য করে? আসল SparkFun Si7021 সাপোর্ট লাইব্রেরি ব্যবহার করে এবং কোন সিরিয়াল প্রিন্ট ছাড়াই এক সেকেন্ড পড়ার সময়, ~ 1.2mA গড় ড্র করে। স্পার্কফুন লাইব্রেরিকে lp_Si7021 লাইব্রেরির সাথে প্রতিস্থাপন করলে গড় স্রোত ~ 10uA হয়, অর্থাৎ 100 গুণ কম। এই প্রকল্পে মোবাইল সংযোগের সময় প্রতি 30 সেকেন্ডে দ্রুততম পরিমাপের হার হয়, যার ফলে গড় সেন্সর কারেন্ট 1uA এর কম হয়। যখন কোন BLE সংযোগ না থাকে তখন পরিমাপের হার প্রতি 10 মিনিটে একবার হয় এবং গড় সেন্সর সরবরাহ বর্তমান নগণ্য।

ব্যবহারকারী ইন্টারফেস

উপরে প্রধান স্ক্রিন ডিসপ্লে এবং 10 দিনের ঘণ্টার ইতিহাসের একটি জুম করা দৃশ্য। দুটি আঙ্গুল ব্যবহার করে প্লটগুলিকে জুম করা যায় এবং উভয় দিকে প্যান করা যায়।

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

দ্রষ্টব্য: যদি এই ডিসপ্লেটি pfodApp- এ তৈরি করা হয় না। আপনার Arduino স্কেচে কোড দ্বারা সম্পূর্ণ ডিসপ্লে সম্পূর্ণরূপে নিয়ন্ত্রিত হয়।

Lp_BLE_TempHumidity_R3.ino স্কেচে sendDrawing_z () পদ্ধতি ইউজার ইন্টারফেস নির্ধারণ করে।

অকার্যকর sendDrawing_z () {dwgs.start (50, 60, dwgs. WHITE); // বাদ দেওয়া হলে হোয়াইটে ব্যাকগ্রাউন্ড ডিফল্ট অর্থাৎ শুরু (50, 60); parser.sendRefreshAndVersion (30000); // প্রতি 30sec সেকেন্ডে dwg পুনরায় অনুরোধ করুন। যদি কোন পার্সার সংস্করণ সেট না করা হয় তবে এটি প্রদর্শন করা হয় না। dwgs.pushZero (35, 22, 1.5); // শূন্যকে dwg এর কেন্দ্রে সরিয়ে 35, 22 এবং স্কেল 1.5 গুণ rhGauge.draw (); // নিয়ন্ত্রণ dwgs.popZero () আঁকুন; dwgs.pushZero (18, 33); // শূন্যকে dwg এর কেন্দ্রে সরান 18, 33 স্কেল হল 1 (ডিফল্ট) থার্মোমিটার.ড্রা (); // নিয়ন্ত্রণ dwgs.popZero () আঁকুন;

dwgs.pushZero (12.5, 43, 0.7); // শূন্যকে dwg এর কেন্দ্রে 12.5, 43 এবং 0.7 দ্বারা স্কেল করুন

hrs8PlotButton.draw (); // নিয়ন্ত্রণ dwgs.popZero () আঁকুন; dwgs.pushZero (37.5, 43, 0.7); // শূন্যকে dwg এর কেন্দ্রে 37.5, 43 এবং 0.7 দিনে স্কেল করুন 1PlotButton.draw (); // নিয়ন্ত্রণ dwgs.popZero () আঁকুন;

dwgs.pushZero (12.5, 54, 0.7); // শূন্যকে dwg এর কেন্দ্রে 12.5, 54 এবং 0.7 দ্বারা স্কেলে সরান

দিন 3PlotButton.draw (); // নিয়ন্ত্রণ dwgs.popZero () আঁকুন; dwgs.pushZero (37.5, 54, 0.7); // শূন্যকে dwg এর কেন্দ্রে 37.5, 54 এবং 0.7 দিনে স্কেল করুন 10PlotButton.draw (); // নিয়ন্ত্রণ dwgs.popZero () আঁকুন; dwgs.end (); }

PushZero কমান্ডগুলি পরবর্তী উপাদান আঁকার জন্য মূল এবং স্কেলিং পরিবর্তন করে। এটি আপনাকে বোতাম এবং গেজের আকার এবং অবস্থান সহজে পরিবর্তন করতে দেয়।

প্রথম সংযোগে প্রাথমিক ডিসপ্লেটি or 800 বাইট লোড করতে 5 বা 6 সেকেন্ড সময় নেয় যা ডিসপ্লে সংজ্ঞায়িত করে। pfodApp ডিসপ্লে ক্যাশে করে তাই ভবিষ্যতের আপডেটগুলি শুধুমাত্র পরিবর্তন, গেজ পজিশন এবং রিডিং পাঠাতে হবে। এই আপডেটগুলি ডিসপ্লে আপডেট করার জন্য 128 বাইট পাঠাতে কয়েক সেকেন্ড সময় নেয়।

ডিসপ্লেতে সংজ্ঞায়িত পাঁচটি (5) সক্রিয় টাচ জোন রয়েছে। প্রতিটি বোতামে তার ড্র () পদ্ধতিতে একটি সংজ্ঞায়িত রয়েছে, তাই আপনি সংশ্লিষ্ট প্লটটি খুলতে এটিতে ক্লিক করতে পারেন এবং স্ক্রিনের উপরের অর্ধেকটি তৃতীয় স্পর্শ অঞ্চল হিসাবে কনফিগার করা হয়েছে

dwgs.touchZone ()। cmd ('u')। আকার (50, 39).send ();

যখন আপনি বোতামের উপরে স্ক্রিনে ক্লিক করেন, তখন 'u' dwg কমান্ডটি একটি নতুন পরিমাপ এবং স্ক্রিন আপডেট করার জন্য আপনার স্কেচে পাঠানো হয়। সাধারণত সংযুক্ত হলে, প্রতি 30 সেকেন্ডে আপডেটগুলি ঘটে। অঙ্কনের প্রতিটি ক্লিক বা রিফ্রেশ একটি নতুন পরিমাপকে বাধ্য করে। আরডুইনো স্কেচ থেকে pfodApp- এর প্রতিক্রিয়া নতুন পরিমাপ সম্পন্ন না হওয়া পর্যন্ত বিলম্বিত হয় (~ 25mS) যাতে আপডেটে সর্বশেষ মান পাঠানো যায়।

Arduino স্কেচ

Arduino স্কেচ, lp_BLE_TempHumidity_R3.ino, পার্ট 1 এ ব্যবহৃত উদাহরণ স্কেচের একটি উন্নত সংস্করণ। এটি 10 মিনিট এবং ঘণ্টায় historicalতিহাসিক পরিমাপ সংরক্ষণ করতে lp_Si7021 সেন্সর সমর্থন এবং ডেটা অ্যারে যুক্ত করে।

Lp_BLE_TempHumidity_R3.ino স্কেচের মূল জটিলতা হল প্লট ডেটা পাঠানো। যেহেতু পরিমাপগুলি তৈরি করা হয় অ্যারেগুলি 120 লম্বা কিন্তু যখন ডেটা পাঠানো হয় তখন প্রথম 30 টি ডেটা পয়েন্টগুলি একটি সূক্ষ্ম সময়ের ব্যবধানে থাকে।

প্রদর্শনের জন্য 200 টি বিজোড় প্লট পয়েন্ট পাঠানোর সময় কয়েকটি পয়েন্টের যত্ন নেওয়া দরকার:-

  1. প্রতিটি ডাটা পয়েন্ট ~ 25 বাইট লম্বা, CSV টেক্সট ফরম্যাটে। সুতরাং 150 পয়েন্ট হল 3750 বাইট ডেটা। Lp_BLESerial ক্লাসে 1536 বাইট বাফার রয়েছে, যার মধ্যে 1024 টি সবচেয়ে বড় pfod বার্তার জন্য যথেষ্ট বড়। অন্যান্য 512 বাইট ডেটা পাঠানোর জন্য সংরক্ষিত। একবার theতিহাসিক তথ্য 512 বাইট পূরণ করে, বাফারে স্থান না হওয়া পর্যন্ত আরও তথ্য পাঠানো বিলম্বিত হয়।
  2. মূল ডিসপ্লে আপডেটগুলিকে ধীর করার জন্য প্লটের ডেটা এড়ানোর জন্য, প্লট স্ক্রিন প্রদর্শিত হওয়ার সময় প্লট ডেটা পাঠানো হয়। একবার ব্যবহারকারী মূল স্ক্রিনে ফিরে গেলে, প্লট ডেটা পাঠানো বিরতি দেওয়া হয়। প্লট ডেটা পাঠানো আবার শুরু হয় যখন ব্যবহারকারী প্লটটি আবার প্রদর্শনের জন্য প্লট বোতামে ক্লিক করে।
  3. Historicalতিহাসিক প্লট 0 (এখন) থেকে শুরু হয় এবং সময়ের সাথে পিছিয়ে যায়। যদি শেষ প্লটটি প্রদর্শিত হওয়ার পর থেকে কোন নতুন পরিমাপ না হয়, তবে ইতিমধ্যেই ডাউনলোড করা পূর্ববর্তী ডেটাগুলি অবিলম্বে আবার প্রদর্শিত হবে। যদি একটি নতুন পরিমাপ থাকে, তবে এটি পূর্ববর্তী প্লটের তথ্য যোগ করা হয়।
  4. যখন মনিটরটি প্রথম চালিত হয়, সেখানে কোন historicalতিহাসিক রিডিং থাকে না এবং 0 টি অবৈধ পড়া হিসাবে অ্যারেতে সংরক্ষিত থাকে। যখন প্লটটি প্রদর্শিত হয়, অবৈধ রিডিংগুলি কেবল বাদ দেওয়া হয়, যার ফলে একটি ছোট প্লট হয়।

সেলসিয়াস এবং ফারেনহাইট

Lp_BLE_TempHumidity_R3.ino স্কেচ সেলসিয়াসে ডেটা প্রদর্শন করে এবং প্লট করে। ফলাফলকে ফারেনহাইটে রূপান্তর করার জন্য সমস্ত ঘটনার প্রতিস্থাপন করুন

parser.print (sensor. Temp_RawToFloat (..

সঙ্গে

parser.print (sensor. CtoF (sensor. Temp_RawToFloat (…

এবং অক্টাল / 342 / 204 / 203 এ ডিঙ্গি প্রতীক / 342 / 204 / 211 এর সাথে ইউনিকোড ডিগিসি প্রতীকটি প্রতিস্থাপন করুন

pfodApp আপনার মোবাইলে যে কোন ইউনিকোড প্রদর্শন করতে পারবে।

আরো বিস্তারিত জানার জন্য Arduino এ অ-ASCII অক্ষর ব্যবহার দেখুন। এছাড়াও MIN_C, MAX_C সেটিংস Thermometer.h এ পরিবর্তন করুন। অবশেষে আপনার ইচ্ছামতো প্লটের সীমা সামঞ্জস্য করুন যেমন পরিবর্তন | তাপমাত্রা C ~ 32 ~ 8 ~ ডিগ্রি সে

বলতে

| তাপমাত্রা F ~ 90 ~ 14 ~ ডিগ্রি F |

ধাপ 4: সরবরাহ বর্তমান পরিমাপ

সরবরাহ বর্তমান পরিমাপ
সরবরাহ বর্তমান পরিমাপ

Lp_Si7021 লাইব্রেরি ব্যবহার করে, এমনকি প্রতি 10 সেকেন্ডে একটি তাপমাত্রা/আর্দ্রতা পরিমাপ গ্রহণ করে শুধুমাত্র গড় সরবরাহ বর্তমানের জন্য u 1uA অবদান রাখে, তাই সরবরাহ বর্তমানের প্রধান ফ্যাক্টর এবং তাই ব্যাটারি লাইফ হল BLE বিজ্ঞাপন এবং সংযোগ এবং ডেটা ট্রান্সমিশন দ্বারা ব্যবহৃত বর্তমান ।

উপরে দেখানো অংশ 1 এ বর্ণিত প্রোগ্রামারের সাথে তাপমাত্রা/আর্দ্রতা বোর্ড সংযুক্ত করুন।

সৌর কোষ এবং ব্যাটারি আনপ্লাগ করা, ভিন এবং Gnd প্রোগ্রামারের Vdd এবং Gnd (হলুদ এবং সবুজ লিড) এর সাথে সংযুক্ত এবং SWCLK এবং SWDIO প্রোগ্রামার হেডার বোর্ডের Clk এবং SIO এর সাথে সংযুক্ত (নীল এবং গোলাপী লিড)

আপনি এখন NanoV2 প্রোগ্রাম করতে পারেন এবং পার্ট 1 এ বর্ণিত হিসাবে সরবরাহ বর্তমান পরিমাপ করতে পারেন।

এই জিপ ফাইল থেকে কম পাওয়ার Si7021 লাইব্রেরি ইনস্টল করুন, lp_Si7021.zip এবং pfodParser লাইব্রেরি ইনস্টল করুন এবং আপনার Arduino স্কেচ ডিরেক্টরিতে lp_BLE_TempHumidity_R3.zip আনজিপ করুন এবং lp_BLE_TempHumidity_R3.ino দিয়ে Temp/Humditiy বোর্ড প্রোগ্রাম করুন

উপরে উল্লিখিত হিসাবে সেন্সরের অবদান <1uA, গড়, এই প্রকল্পে ব্যবহৃত সর্বোচ্চ পরিমাপ হারে, তাই BLE বিজ্ঞাপন এবং সংযোগের পরামিতিগুলি ব্যাটারি জীবনের জন্য নির্ধারক ফ্যাক্টর।

BLE বিজ্ঞাপন এবং সংযোগের পরামিতিগুলি যা বর্তমান খরচকে প্রভাবিত করে তা হল: -Tx পাওয়ার, বিজ্ঞাপন ব্যবধান, সর্বোচ্চ এবং ন্যূনতম সংযোগ ব্যবধান এবং স্লেভ লেটেন্সি।

দ্রষ্টব্য: উপরের সংযোগগুলি ব্যবহার করে সরবরাহে দুটি (2) নিয়ন্ত্রক রয়েছে, একটি ভ্যানের মাধ্যমে ন্যানোভি 2 বোর্ডে এবং প্রোগ্রামারের সরবরাহে MAX88811। এর মানে দ্বিতীয় নিয়ন্ত্রকের কারণে পরিমাপকৃত সরবরাহ স্রোতগুলি প্রকৃত থেকে u 5uA বেশি হবে। নীচে উদ্ধৃত মানগুলি পরিমাপ করা স্রোতগুলি এই অতিরিক্ত 5uA।

টিএক্স পাওয়ার

টিএক্স পাওয়ার ইফেক্টস কানেক্টেড এবং বিজ্ঞাপন (কানেক্টেড) উভয় ক্ষেত্রেই কারেন্ট সরবরাহ করে। এই প্রকল্পটি সর্বাধিক পাওয়ার সেটিং (+4) ব্যবহার করে এবং সবচেয়ে নির্ভরযোগ্য সংযোগের জন্য সর্বোত্তম পরিসীমা এবং সর্বাধিক শব্দ প্রতিরোধ ক্ষমতা প্রদান করে। আপনি পাওয়ার সেটিং পরিবর্তন করতে lp_BLESerial setTxPower () পদ্ধতি ব্যবহার করতে পারেন। বৈধ মান হল, শক্তি বৃদ্ধি, -40, -30, -20, -16, -12, -8, -4, 0 +4। আপনি setTxPower () কল করার আগে আপনাকে অবশ্যই lp_BLESerial begin () পদ্ধতিতে কল করতে হবে। Lp_BLE_TempHumidity_R3.ino স্কেচ দেখুন।

আপনি Tx পাওয়ার কমানোর সাথে পরীক্ষা করতে পারেন, কিন্তু আপোষটি ছোট পরিসরের এবং হস্তক্ষেপের কারণে আরও সংযোগ বন্ধ। এই প্রকল্পে টিএক্স পাওয়ার তার ডিফল্ট, +4 এ রেখে দেওয়া হয়। আপনি নীচে দেখতে পাবেন, এমনকি এই সেটিং সহ, খুব কম সরবরাহ বর্তমান এখনও সম্ভব।

বিজ্ঞাপন ব্যবধান

প্রদত্ত টিএক্স পাওয়ারের জন্য, যখন কোন সংযোগ নেই, বিজ্ঞাপনের ব্যবধান গড় বর্তমান খরচ নির্ধারণ করে। প্রস্তাবিত পরিসীমা 500 থেকে 1000mS। এখানে 2000mS ব্যবহার করা হয়েছিল। আপোষ হল যে দীর্ঘ বিজ্ঞাপন ব্যবধান মানে আপনার মোবাইলের জন্য ডিভাইসটি খুঁজে পাওয়া এবং একটি সংযোগ স্থাপন করা ধীর। অভ্যন্তরীণভাবে, বিজ্ঞাপনের ব্যবধানগুলি 20mS থেকে 10.24sec সীমার মধ্যে 0.625mS এর গুণে সেট করা হয়। Lp_BLESerial setAdvertisingInterval () পদ্ধতিটি সুবিধার জন্য mS কে যুক্তি হিসেবে নেয়। +4 TxPower এবং 2000mS বিজ্ঞাপন ব্যবধানের জন্য বর্তমান খরচ ছিল u 18uA। 1000mS বিজ্ঞাপন ব্যবধানের জন্য, এটি ছিল u 29uA। রেভ 2 2000mS বিজ্ঞাপন ব্যবধান ব্যবহার করেছে কিন্তু এর ফলে ধীর সংযোগ ঘটেছে। সংযোগ দ্রুততর করার জন্য Rev 3 পরিবর্তন করে 1000mS বিজ্ঞাপন ব্যবধানে করা হয়েছে।

সর্বোচ্চ এবং ন্যূনতম সংযোগ ব্যবধান

একবার একটি সংযোগ স্থাপন করা হলে, সংযোগ ব্যবধান নির্ধারণ করে যে মোবাইলটি কতবার ডিভাইসের সাথে যোগাযোগ করে। Lp_BLESerial setConnectionInterval () আপনাকে প্রস্তাবিত সর্বাধিক এবং সর্বনিম্ন সেট করতে দেয়, তবে মোবাইলটি নিয়ন্ত্রণের ব্যবধান আসলে কী তা নিয়ন্ত্রণ করে। সুবিধার জন্য setConnectionInterval () এর যুক্তিগুলি mS এ আছে, কিন্তু অভ্যন্তরীণভাবে সংযোগের ব্যবধানগুলি 1.25mS এর একাধিক, 7.5mS থেকে 4sec এর পরিসরে।

ডিফল্ট সেটিং setConnectionInterval (100, 150) অর্থাৎ মিনিট 100mS থেকে সর্বোচ্চ 150mS। এই মানগুলি বৃদ্ধি করলে সংযোগ চলাকালীন সরবরাহ বর্তমান হ্রাস পায়, কিন্তু আপোষটি ডেটার সংক্রমণকে ধীর করে। স্ক্রিনের প্রতিটি আপডেটে প্রায় 7 BLE বার্তা লাগে, যখন 10 মিনিটের পরিমাপের একটি সম্পূর্ণ 36 ঘন্টা প্রায় 170 BLE বার্তা নেয়। সুতরাং সংযোগ ব্যবধান বৃদ্ধি স্ক্রিন আপডেট এবং প্লট প্রদর্শন ধীর করে।

Lp_BLESerial ক্লাসে 1536 বাইট সেন্ড বাফার আছে এবং এই বাফার থেকে শুধুমাত্র 20 বাইটের একটি ব্লক পাঠায়, প্রতিটি সর্বোচ্চ সংযোগ ব্যবধান ডেটা সহ BLE লিঙ্ককে বন্যা প্রতিরোধ করতে। এছাড়াও প্লট ডেটা পাঠানোর সময়, স্কেচ শুধুমাত্র ডেটা পাঠায় যতক্ষণ না 512 বাইট পাঠানোর অপেক্ষায় থাকে তারপর কিছু ডেটা না পাঠানো পর্যন্ত আরও ডেটা পাঠাতে বিলম্ব করে। এটি বন্যা প্রেরণ বাফার এড়ায়। পাঠানোর এই থ্রোটলিং মোবাইলে ডেটা ট্রান্সমিশনকে নির্ভরযোগ্য করে তোলে, কিন্তু এটি পটের মাধ্যমে সর্বাধিক অপ্টিমাইজ করা হয় না।

এই প্রকল্পে সংযোগ ব্যবধানগুলি ডিফল্ট মান হিসাবে রেখে দেওয়া হয়েছিল।

স্লেভ লেটেন্সি

যখন মোবাইলে পাঠানোর জন্য কোন ডেটা নেই, ডিভাইসটি allyচ্ছিকভাবে মোবাইল থেকে কিছু সংযোগ বার্তা উপেক্ষা করতে পারে। এটি টিএক্স পাওয়ার এবং সাপ্লাই কারেন্ট সংরক্ষণ করে। স্লেভ লেটেন্সি সেটিং হল উপেক্ষা করার জন্য সংযোগ বার্তার সংখ্যা। ডিফল্টটি হল 0. এই সেটিং পরিবর্তন করতে lp_BLESerial setSlaveLatency () পদ্ধতি ব্যবহার করা যেতে পারে।

0 এর ডিফল্ট স্লেভ লেটেন্সি 30 50uA সাপ্লাই কারেন্ট দিয়েছে, প্রতি 30 সেকেন্ডে স্ক্রিন আপডেট উপেক্ষা করে, কিন্তু KeepAlive বার্তাগুলি 5 সেকেন্ড সহ। স্লেভ লেটেন্সি 2 তে সেট করা connected 25uA এর গড় সংযুক্ত সরবরাহ বর্তমান। 4 এর একটি স্লেভ লেটেন্সি সেটিং ~ 20uA দিয়েছে। উচ্চতর সেটিংস সরবরাহ বর্তমান হ্রাস করবে বলে মনে হয় না তাই 4 এর একটি স্লেভ লেটেন্সি সেটিং ব্যবহার করা হয়েছিল।

সংযুক্ত হলে, প্রতি 30 সেকেন্ডে pfodApp একটি ডিসপ্লে আপডেটের অনুরোধ করে। এটি একটি সেন্সর পরিমাপকে বাধ্য করে এবং গ্রাফিকাল ডিসপ্লে আপডেট করতে ডেটা ফেরত পাঠায়। এই আপডেটের ফলে প্রতি 30 সেকেন্ডে 2 সেকেন্ডের জন্য অতিরিক্ত ~ 66uA পাওয়া যায়। এটি 30 সেকেন্ডের উপরে গড় 4.4uA। এই 20uA যোগ করা, connection 25uA একটি গড় সংযোগ সরবরাহ বর্তমান দেয়

ধাপ 5: মোট সরবরাহ বর্তমান এবং ব্যাটারি জীবন

Lp_BLE_TempHumidity_R3.ino এ সেট করা উপরের সেটিংস ব্যবহার করে, সংযোগের সময় মোট সরবরাহ বর্তমান এবং প্রতি 30 সেকেন্ডে ডিসপ্লে আপডেট করে, প্রায় 25uA। যখন সংযুক্ত না হয়, এটি প্রায় 29uA হয়।

ব্যাটারি জীবন গণনা করার জন্য ~ 29uA এর একটি ক্রমাগত বর্তমান ড্র অনুমান করা হয়।

বিভিন্ন ব্যাটারির পার্থক্য ক্ষমতা এবং ভোল্টেজ বৈশিষ্ট্য রয়েছে। এখানে বিবেচনা করা ব্যাটারি হল CR2032 coin cell, CR2450 (N) coin cell, 2 x AAA Alkaline, 2 x AAA Lithium and LiPo।

ব্যাটারির সারাংশ

যদি সোলার অ্যাসিস্ট ব্যবহার করেন তাহলে এই ব্যাটারি লাইফ ফিগারে 50% যোগ করুন (দিনে 8 ঘন্টা আলো ধরে)

দ্রষ্টব্য: 22uF LowESR ক্যাপাসিটর (C1), বোর্ডে থাকা NanoV2 22uF ক্যাপাসিটরের পাশাপাশি, সোলার সেল কারেন্ট সঞ্চয় করে এবং তারপর TX কারেন্ট ডালের জন্য এটি সরবরাহ করে। অন্যান্য ক্ষেত্রে ব্যাটারি কিছু TX কারেন্ট সরবরাহ করে। এই অতিরিক্ত 22uF লোইএসআর ব্যাটারি স্রোতে প্রায় 10% যোগ করে যখন সৌর কোষ সরবরাহ হয় না, তবে ব্যাটারির আয়ু বাড়িয়ে দেয় ব্যাটারির অভ্যন্তরীণ প্রতিরোধের জন্য ক্ষতিপূরণ দিয়ে যখন ব্যাটারি জীবনের শেষ পর্যায়ে পৌঁছে যায়। নিচের পরিমাপগুলি অতিরিক্ত 22uF ক্যাপাসিটর ছাড়া নেওয়া হয়েছিল।

CR2032 - 235mAHr - ব্যাটারি লাইফ 10 মাস উচ্চ স্ব-স্রাবের কারণে।

CR2032

এই মুদ্রা কোষের ক্ষমতা সাধারণত 235mAHr (এনার্জাইজার ব্যাটারি), 3V এর নামমাত্র ভোল্টেজ এবং 2V এর একটি নির্দিষ্ট স্রাব ভোল্টেজ। এটি 8100 ঘন্টা বা ~ 0.9 বছর ব্যাটারি জীবন বোঝায়। তবে ব্যাটারি জীবনের শেষ প্রান্তে পৌঁছানোর সাথে সাথে অভ্যন্তরীণ কোষের প্রতিরোধ ক্ষমতা বৃদ্ধি পায় এবং তাই সর্বোচ্চ Tx বর্তমান ডাল সরবরাহ করতে সক্ষম নাও হতে পারে। এই প্রভাব কমাতে একটি বড় সাপ্লাই ক্যাপাসিটর ব্যবহার করা যেতে পারে, কিন্তু 10 মাসের জীবন বলুন।

CR2450 (N)

এই মুদ্রা কোষের ক্ষমতা সাধারণত 620mAHr (CR2450N এর জন্য 540mAHr), 3V এর নামমাত্র ভোল্টেজ এবং 2V এর একটি নির্দিষ্ট স্রাব ভোল্টেজ। এটি 22, 400hrs বা ~ 2yr 6m (CR2450N এর জন্য 18600hrs ~ 2yrs 2m) এর ব্যাটারি জীবনকে বোঝায়। তবে ব্যাটারি জীবনের শেষ প্রান্তে পৌঁছানোর সাথে সাথে অভ্যন্তরীণ কোষের প্রতিরোধ ক্ষমতা বৃদ্ধি পায় এবং তাই সর্বোচ্চ Tx বর্তমান ডাল সরবরাহ করতে সক্ষম নাও হতে পারে। এই প্রভাব কমাতে একটি বড় সরবরাহ ক্যাপাসিটর ব্যবহার করা যেতে পারে, কিন্তু 2yr 4m (2yr N) জীবন বলে।

দ্রষ্টব্য: CR2450N সংস্করণটির একটি ঘন ঠোঁট রয়েছে যা CR2450N ধারকের ভুল ইনস্টলেশন প্রতিরোধে সহায়তা করে। আপনি একটি CR2450N এবং CR2450 সেল একটি CR2450 ধারকের মধ্যে সন্নিবেশ করতে পারেন কিন্তু আপনি একটি CR2450N ধারক একটি CR2450 সেল সন্নিবেশ করতে পারবেন না।

2 x AAA ক্ষারীয় কোষ

খুব কম স্রোতের জন্য এই ব্যাটারির ক্ষমতা প্রায় 1250mAHr (Energizer ব্যাটারি), 2x1.5V = 3V এর নামমাত্র ভোল্টেজ এবং 2x0.8V = 1.6V এর একটি নির্দিষ্ট স্রাব ভোল্টেজ। কিন্তু এই নির্দিষ্ট স্রাব ভোল্টেজটি Si7021 সেন্সর (1.9V) এর অপারেটিং ভোল্টেজের চেয়ে কম তাই ব্যাটারিটি শুধুমাত্র ~ 1V পর্যন্ত ব্যবহার করা যেতে পারে। এটি প্রায় 10% থেকে 15% অর্থাৎ ~ 1000mAHr এর ক্ষমতা হ্রাস করে।

এর অর্থ ব্যাটারির আয়ু 34, 500 ঘন্টা বা ~ 4 বছর। তবে ব্যাটারি জীবনের শেষ প্রান্তে পৌঁছানোর সাথে সাথে অভ্যন্তরীণ কোষের প্রতিরোধ ক্ষমতা বৃদ্ধি পায় এবং তাই সর্বোচ্চ Tx বর্তমান ডাল সরবরাহ করতে সক্ষম নাও হতে পারে। একটি বড় সরবরাহ ক্যাপাসিটর এই প্রভাব কমাতে ব্যবহার করা যেতে পারে, কিন্তু 3yr 10m জীবন বলুন। দ্রষ্টব্য ক্ষারীয় ব্যাটারির প্রতি বছর 2% থেকে 3% এর স্ব -স্রাব হয়।

2 x AAA লিথিয়াম কোষ

এই ব্যাটারির ক্ষমতা প্রায় 1200mAHr (Energizer ব্যাটারি), নামমাত্র ভোল্টেজ 2x1.7V = 3.4V, কম স্রোতে এবং 2x1.4V = 2.4V এর ডিসচার্জ ভোল্টেজ। এর মানে হল ব্যাটারির আয়ু 41, 400 ঘন্টা বা 4 বছর 8 মিটার।

LiPo রিচার্জেবল ব্যাটারি

এই ব্যাটারীগুলি 100mAHr থেকে 2000mAHr পর্যন্ত বিভিন্ন ক্ষমতাতে আসে, সমতল ফরম্যাটে, এবং 4.2V এর চার্জযুক্ত ভোল্টেজ এবং> 2.7V এর ডিসচার্জ ভোল্টেজ থাকে। তবে তাদের 2% -3%/মাস (অর্থাৎ প্রতি বছর 24% থেকে 36%) উচ্চ স্ব-স্রাব রয়েছে এবং তাই অন্যান্য ব্যাটারির মতো এই অ্যাপ্লিকেশনের জন্য উপযুক্ত নয়।

ধাপ 6: সরবরাহের বিকল্প - সৌর সহায়তা, শুধুমাত্র ব্যাটারি, শুধুমাত্র সৌর

সরবরাহের বিকল্প - সৌর সহায়তা, শুধুমাত্র ব্যাটারি, শুধুমাত্র সৌর
সরবরাহের বিকল্প - সৌর সহায়তা, শুধুমাত্র ব্যাটারি, শুধুমাত্র সৌর
সরবরাহের বিকল্প - সৌর সহায়তা, শুধুমাত্র ব্যাটারি, শুধুমাত্র সৌর
সরবরাহের বিকল্প - সৌর সহায়তা, শুধুমাত্র ব্যাটারি, শুধুমাত্র সৌর
সরবরাহের বিকল্প - সৌর সহায়তা, শুধুমাত্র ব্যাটারি, শুধুমাত্র সৌর
সরবরাহের বিকল্প - সৌর সহায়তা, শুধুমাত্র ব্যাটারি, শুধুমাত্র সৌর
সরবরাহের বিকল্প - সৌর সহায়তা, শুধুমাত্র ব্যাটারি, শুধুমাত্র সৌর
সরবরাহের বিকল্প - সৌর সহায়তা, শুধুমাত্র ব্যাটারি, শুধুমাত্র সৌর

ব্যাটারি প্লাস সোলার অ্যাসিস্ট

উপরের নির্মাণ ব্যাটারি প্লাস সোলার অ্যাসিস্ট সরবরাহ ব্যবহার করে। যখন সৌর প্যানেল ব্যাটারি ভোল্টেজের চেয়ে বেশি ভোল্টেজ উৎপন্ন করে, তখন সৌর কোষ মনিটরকে শক্তি দেবে, তাই ব্যাটারির আয়ু বাড়িয়ে দেবে। সাধারণত ব্যাটারির আয়ু আরও 50%বাড়ানো যায়।

ব্যবহৃত সৌর প্যানেলগুলি ছোট, 50 মিমি x 30 মিমি, সস্তা, ~ $ 0.50 এবং কম শক্তি। এগুলি নামমাত্র 5V প্যানেল, কিন্তু 5V উৎপন্ন করার জন্য সম্পূর্ণ সরাসরি উজ্জ্বল সূর্যের আলো প্রয়োজন। এই প্রজেক্টে দুটি প্যানেল ধারাবাহিকভাবে সংযুক্ত করা হয়েছে যাতে মনিটরকে কিছু জায়গায় একটি জানালার কাছাকাছি রেখে, সরাসরি সূর্যের বাইরে, ব্যাটারির শক্তি প্রতিস্থাপনের জন্য যথেষ্ট। এমনকি ভালভাবে আলোকিত রুম, বা একটি ডেস্ক ল্যাম্প, সৌর কোষের জন্য> 3.3V> 33uA এ উৎপন্ন এবং ব্যাটারি থেকে গ্রহণ করার জন্য যথেষ্ট।

তাপমাত্রা / আর্দ্রতা মনিটর সূর্যের বাইরে কোথায় রাখা যায় এবং এখনও সৌরশক্তিতে চালানো যায় তা নির্ধারণের জন্য একটি সাধারণ পরীক্ষা প্যানেল তৈরি করা হয়েছিল। আপনি উপরের ছবি থেকে দেখতে পাচ্ছেন, 100K রোধকের সাথে সংযুক্ত দুটি প্যানেল 100K জুড়ে 5.64V উৎপাদন করছে, অর্থাৎ 56uA কারেন্ট 5.64V এ। এটি ব্যাটারি থেকে মনিটরকে পাওয়ার জন্য যথেষ্ট পরিমাণে বেশি। 3V এর নামমাত্র ব্যাটারি ভোল্টেজের উপরে যে কোনও ভোল্টেজ পড়ার অর্থ হল সৌর কোষগুলি ব্যাটারির পরিবর্তে মনিটরকে শক্তি দেবে।

তাপমাত্রা আর্দ্রতা মনিটর সার্কিটের দুটি ডায়োড সৌর কোষ এবং ব্যাটারি একে অপরের থেকে বিচ্ছিন্ন করে এবং বিপরীত মেরুতে তাদের সংযোগ থেকে রক্ষা করে। 10V 1W জেনার এবং 470R সিরিজ প্রতিরোধক NanoV2 এর অন-বোর্ড নিয়ন্ত্রককে পূর্ণ সূর্যের দুটি সৌর কোষ থেকে অতিরিক্ত ভোল্টেজ থেকে রক্ষা করে, বিশেষ করে যদি 5V এর পরিবর্তে 12V কোষ ব্যবহার করা হয়। <5V এ স্বাভাবিক ক্রিয়াকলাপে, 10V জেনার শুধুমাত্র ~ 1uA আঁকে।

শুধুমাত্র ব্যাটারি

শুধুমাত্র একটি ব্যাটারি সরবরাহের জন্য, কেবল R1, D1 এবং D3 এবং সৌর কোষগুলি বাদ দিন। যদি আপনি বিপরীত মেরুতা সুরক্ষা না চান তবে আপনি তারের একটি টুকরা দিয়ে D1 প্রতিস্থাপন করতে পারেন।

শুধুমাত্র সৌর

শুধুমাত্র সৌর কোষ থেকে মনিটর পাওয়ার, কোন ব্যাটারি ছাড়া, একটি ভিন্ন পাওয়ার সাপ্লাই সার্কিট প্রয়োজন। সমস্যা হল যে যখন মনিটর 29uA তে কাজ করবে, তখন nRF52 শক্তি বাড়িয়ে 0.32 সেকেন্ডের জন্য m 5mA আঁকবে। উপরে দেখানো সার্কিট (পিডিএফ সংস্করণ) ইনপুট ক্যাপাসিটার, 2 x 1000uF, 4.04V পর্যন্ত চার্জ না হওয়া পর্যন্ত MAX8881 রেগুলেটর বন্ধ রাখে। তারপর MAX6457 MAX8881 SHDN ইনপুট রিলিজ করে যাতে nRF52 (NanoV2) 2 x 1000uF ক্যাপাসিটারগুলি প্রয়োজনীয় স্টার্ট আপ কারেন্ট সরবরাহ করে।

এটি পর্যাপ্ত সৌর বিদ্যুতের সাথে সাথে মনিটরের শক্তি বাড়িয়ে দেয় এবং এটি 29uA তে চলতে থাকে।

ধাপ 7: উপসংহার

এই টিউটোরিয়ালটি একটি ব্যাটারি/সৌর চালিত তাপমাত্রা আর্দ্রতা মনিটরকে উপস্থাপন করেছে উদাহরণ হিসেবে nRF52832 চিপের জন্য আরডুইনোতে খুব কম পাওয়ার BLE প্রকল্প। Parameters 29uA এর স্রোত সরবরাহ করুন যেখানে সংযোগের পরামিতিগুলি টিউন করে অর্জন করা হয়। এর ফলে একটি CR2032 কয়েন সেল ব্যাটারির আয়ু 10 মাস অতিক্রম করেছে। উচ্চ ক্ষমতার মুদ্রা কোষ এবং ব্যাটারির জন্য দীর্ঘ। দুটি সস্তা সৌর কোষ যোগ করা সহজেই ব্যাটারির আয়ু 50% বা তার বেশি বাড়িয়ে দেয়। একটি উজ্জ্বল রুম আলো বা একটি ডেস্ক বাতি সৌর কোষ থেকে মনিটর শক্তি যথেষ্ট।

কম ক্ষমতা সম্পন্ন সৌর কোষ থেকে নিখুঁতভাবে মনিটর চালানোর অনুমতি দেওয়ার জন্য একটি বিশেষ পাওয়ার সার্কিট উপস্থাপন করা হয়েছিল।

বিনামূল্যে pfodDesigner আপনাকে মেনু/সাব-মেনু ডিজাইন করতে দেয়, তারিখ/সময় এবং লগ ডেটার বিরুদ্ধে চক্রান্ত করতে পারে এবং তারপরে আপনার জন্য কম শক্তি আরডুইনো স্কেচ তৈরি করতে পারে। এখানে pfodApp অঙ্কন আদিম ব্যবহার করে একটি কাস্টম ইন্টারফেস কোড করা হয়েছিল। PfodApp- এর সাথে সংযোগ করা ইউজার ইন্টারফেস প্রদর্শন করে এবং মনিটর ~ 29uA ব্যবহার করার সময় রিডিং আপডেট করে

কোন এন্ড্রয়েড প্রোগ্রামিং এর প্রয়োজন নেই। pfodApp সে সব পরিচালনা করে।

প্রস্তাবিত: