Arduino Weather Station Shield কিভাবে ব্যবহার করবেন?
4,348
১. Arduino Weather Station Shield পরিচিতি
Arduino Weather Station Shield একটি তাপমাত্রা এবং আদ্রতা মাপক আরডুইনো উনো শিল্ড। শুধুমাত্র আপনার আরডুইনো উনোতে এই শিল্ডটি প্লাগ ইন করেই চার ডিজিটের ডিসপ্লের মাধ্যমে আপনি আপনার এলাকার আবহাওয়া (আদ্রতা এবং তাপমাত্রা) সম্পর্কে ধারনা পাবেন। আদ্রতা এবং তাপমাত্রা পরিমাপ করা জন্য এই শিল্ডটির সাথে একটি DHT11 সেন্সর সংযুক্ত থাকবে। ইচ্ছে করলে আপনি এই DHT11 সেন্সরকে পরিবর্তন করে আরো বেশি ক্ষমতা সম্পন্ন সেন্সর DHT22 ব্যবহার করতে পারবেন। দুই ধরনের সেন্সরের জন্যই প্রোডাক্টের লিঙ্কের ডকুমেন্টস সেকশনে ডেমো কোড এবং লাইব্রেরি দেয়া আছে। সঠিক কোড আপলোড করে আপনার শোবার ঘরটিকেই বানিয়ে ফেলতে পারেন আবহাওয়া অফিস। আপনি ইচ্ছে করলে আরডুইনো উনোকে একটি পাওয়ার ব্যাঙ্ক (৫ ভোল্ট)/ মোবাইলের চার্জার (৫ ভোল্ট) এর মাধ্যমে USB কেবল এ পাওয়ার দিয়ে আপনার সোকেস অথবা পড়ার টেবিলে রেখে দিতে পারেন। অথবা একটি এড্যাপ্টার (৭~১২ ভোল্ট) এর ডিসি সকেটের মাধ্যমে পাওয়ার জ্যাকে পাওয়ার দিয়েও দেয়ালে ঝুলিয়ে রাখতে পারেন।
বৈশিষ্ট্য
প্লাগ এন্ড প্লে আরডুইনো উনো শিল্ড। কোন রকম তার/জাম্পার ওয়্যারের প্রয়োজন নেই।
তাপমাত্রা এবং আদ্রতা দেখার জন্য ডেসিমাল পয়েন্ট সহ চারটি সেভেন-সেগমেন্ট ডিসপ্লে রয়েছে।
আরডুইনো উনোর ডিজিটাল ইনপুট/আউটপুট পিনগুলোকে রক্ষা করার জন্য ৪ টি ট্রাঞ্জিস্টর এবং ৮ টি কারেন্ট লিমিটিং রেসিস্টর রয়েছে।
মাল্টিপ্লেক্সিং এর মাধ্যমে ডিসপ্লে পরিচালনা করে সর্বাধিক সংখ্যক (৭টি) ইনপুট/আউটপুট পিনকে ফাঁকা রাখা হয়েছেঃ D0(Rx), D1(Tx), D9(PWM), D10(PWM), D11, D12, D13। এই পিনগুলো অন্যান্য কাজে ব্যবহার করা যাবে।
অন্যান্য কাজে ব্যবহার করার জন্য কালার কোডেড স্ট্যাকএবল হেডার লাগানো আছে।
মডিউলটির সাথে একটি প্লাগ এবল DHT11 সেন্সর সংযুক্ত আছে, যাকে পরিবর্তন করে কিছুটা বেশি ক্ষমতা সম্পন্ন DHT22 সেন্সর ব্যবহার করা সম্ভব।
তাছাড়া আপনি এই প্রোডাক্টটির সাথে পাচ্ছেন দুটি ডেমো কোডঃ
Moving_Average_WeatherStationShield_DHT11.ino
Simple_WeatherStationShield_DHT11.ino
যদি আপনি চান আপনি DHT11 সেন্সর এর পরিবর্তে আরো বেশি ক্ষমতা সম্পন্ন DHT22 সেন্সর ব্যবহার করবেন তাহলে নিচের দুটি কোড ব্যবহার করুনঃ
Moving_Average_WeatherStationShield_DHT22.ino
Simple_WeatherStationShield_DHT22.ino
৩. প্রস্তুতি
৩.১ বৈদ্যুতিক সংযোগ
“Arduino Weather Station Shield” আপনার Arduino Uno-র উপর হালকা করে চাপ দিয়ে বসিয়ে দিন।
DHT11 Temperature and Humidity Sensor Module টি নির্ধারিত যায়গায় সংযুক্ত থাকার কথা। যদি কোন কারনে সেন্সরটি পিসিবি থেকে খুলে যায় তাহলে সেন্সরের (+), OUT এবং (–) চিহ্নগুলো পিসিবি বোর্ডের যথাক্রমে (+), OUT এবং (–) চিহ্নিত ফিমেইল হেডারে সংযুক্ত হবে।
সাবধান!
সেন্সরের (+) এর সাথে মডিউলের (–) সংযুক্ত করা যাবে না
সেন্সরের (-) এর সাথে মডিউলের (+) সংযুক্ত করা যাবে না
বর্তমানে আপনার মডিউলটি নিচের চিত্রের মত কানেকশনে সংযুক্তঃ
৩.১ ডাউনলোড
techshopbd.com ওয়েবাসাইটে যান এবং “Arduino Weather Station Shield” লিখে সার্চ করুন অথবা সসাসরি এই লিঙ্কে ক্লিক করুন। আপনি পেইজের কিছুটা নিচের দিকে “Description” লিখা অংশটির পাশেই “Documents” নামে একটি ট্যাব দেখতে পারবেন।“Documents” এ ক্লিক করে “Demo Code” নামক লিঙ্কে ক্লিক করলে একটি *.zip ফাইল ডাউনলোড হবে। WinRAR, 7-zip অথবা এই ধরনের কোন unzip করার কোন সফটওয়্যার ব্যবহার করে ফাইলটিকে unzip করলে আপনি ৫টি ফোল্ডার দেখতে পারবেনঃ
এদের মাঝে দুটি ফোল্ডারের নামের শেষে “…_DHT11” লিখা আছে। এই দুটি ফোল্ডারে দেয়া কোড আমাদের মডিউল এবং সেন্সরের জন্য উপযুক্ত। কিন্তু আপনি যদি চান আপানর DHT11 সেন্সস এর পরিবর্তে আপনি আরো ক্ষমতা সম্পন্ন DHT22 sensor ব্যবহার করবেন তাহলে যেই ফোল্ডার গুলোর নামের শেষে “…_DHT22” কথাটি লিখা আছে সেগুলো ভিতরের কোড গুলো ব্যবহার করুন।
যদি আপনার পিসিতে Arduino IDE ইন্সটল না করা থাকে তাহলে এই লিংক থেকে ডাউনলোড করে ইন্সটল করুন। অথবা আরডুইনোর অফিসিয়াল ওয়েবসাইটে গিয়েও ডাউনলোড করে নিতে পারেনঃ https://www.arduino.cc/
৪. প্রোজেক্টস
৪.১ Project: Simple Weather Station using DHT11
৪.১.১ প্রয়োজনীয় সরঞ্জামাদি
এই প্রোজেক্টটির জন্য “Arduino Weather Station Shield” বাদে আর অন্য কোন প্রোডাক্ট দরকার নেই, কারণ DHT11 temperature and humidity sensor এই প্রোডাক্টির সাথেই সংযুক্ত।
৪.১.২ বৈদ্যুতিক সংযোগ
শুধু মাত্র আরডুইনো উনোর উপরে শিল্ডটিকে হাল্কা চাপ দিয়ে বসিয়ে দিলেই চলবে। এর বাহিরে আলাদা কোন কিছু করতে হবে না।
৪.১.৩ Code
“Demo Code” নামের যে ফোল্ডারকে আপনি ডাউনলোড করে আনজিপ করেছেন সেই ফোল্ডারে প্রবেশ করুন। “Simple_WeatherStationShield_DHT11.ino” নামক কোডটি ওপেন করুন।
আপনার আরডুইনোটি একটি USB কেবলের মাধ্যমে PC এর সাথে সংযুক্ত করুন। আরডুইনো IDE এর Tools > Board > Arduino / Genuino Uno তে ক্লিক করুন।
Tools > Port > (যথাযথ পোর্ট সিলেক্ট করুন)
লক্ষ্য করুনঃ উপরের ছবিটি শুধুমাত্র একটি উদাহরণ। আপনার আরডুইনো আইডিই তে COM43 এর বদলে অন্য কিছু থাকতে পারে।
ফাইল মেন্যুর নিচেই ডানে মুখ করা একটি তীর চিহ্ন আছে। এখানে ক্লিক করুন, তাহলে পিসির কোডটি আরডুইনোতে আপলোড হয়ে যাবে।
নিচের চিত্রের মত “Done Uploading” লিখাটির জন্য অপেক্ষা করুন।
যদি কোড আপ্লোডিং এর সময় “Error uploading” লিখা দেখায় তাহলে আরডুইনোটি পিসি থেকে বিচ্ছিন্ন করে আবার সংযুক্ত করে এই অধ্যায়ের ৩ নং ধাপ থেকে আবার চেষ্টা করুন।
তাপমাত্রা এবং আদ্রতার সঠিক মান পাওয়ার জন্য 4-5 মিনিট অপেক্ষা করুন।
৪.১.৪ ফলাফল
শিল্ডটির 4 digit seven segment display তে আপনি ৩ সেকেন্ড পর পর আদ্রতা এবং তাপমাত্রা দেখতে পারবেন। Arduino IDE এর ডানের কোনায় (+) চিহ্নিত বাটনে ক্লিক করলে serial monitor চালু হবে। এখানে baud rate 115200 তে সিলেক্ট করে দিলে আপনি আপনার পিসিতেও তাপমাত্রা এবং আদ্রতা দেখতে পারবেন।
লক্ষ্য করুন, DHT11 এর Resolution: 1.0 %RH & 1°C। তার মানে, আপনি শুধু মাত্র পূর্ণ সংখ্যায় তাপমাত্রা এবং আদ্রতার মান পাবেন। কিন্তু আপনি যদি চান তাপমাত্রা এবং আদ্রতার শেষ তিনটি মানের গড় আপনার ডিসপ্লেতে দেখাক, তাহলে পরের প্রোজেক্টটি দেখুন। এই প্রোজেক্টে 3 position moving average algorithm ব্যবহার করা হয়েছে। এতে হঠাৎ কোন ভুল ডাটা ডিসপ্লের মানকে পরিবর্তন করতে পারবে না।
৪.২ Project: Moving Average Weather Station using DHT11
Moving Average (MA) বিভিন্ন ডাটা এনালাইসিস করার জন্য ব্যবহার করা হয়, যেটা ডাটার মাঝে থাকা noise কে ফিল্টার করে ডাটাকে smooth করে। এর সম্পর্কে আরো জানতে হলে এই লিঙ্কের “Simple moving average” section এ ক্লিক করুন।
তাপমাত্রা এবং আদ্রতার আরো সঠিক মান পাওয়ার জন্য আমরা এখন Moving Average টেকনিকটি আমাদের কোডে অ্যাপ্লাই করব। আমরা শেষ তিনটি তাপমাত্রা এবং আদ্রতার মানকে গড় করে ডিসপ্লে ইউনিটে দেখাব।
৪.২.১ প্রয়োজনীয় সরঞ্জামাদি
এই প্রোজেক্টের জন্য “Arduino Weather Station Shield” প্রোডাক্টটি বাদে আর কিছুর দরকার নেই, কারণ এই শিল্ডের সাথেই DHT11 temperature and humidity sensor দেয়া থাকে।
৪.২.২ বৈদ্যুতিক সংযোগ
শুধু মাত্র আরডুইনো উনোর উপরে শিল্ডটিকে হাল্কা চাপ দিয়ে বসিয়ে দিলেই চলবে। এর বাহিরে আলাদা কোন কিছু করতে হবে।
৪.২.৩ Code
“Demo Code” নামের যে ফোল্ডারকে আপনি ডাউনলোড করে আনজিপ করেছেন সেই ফোল্ডারে প্রবেশ করুন। “Moving_Average_WeatherStationShield_DHT11.ino” নামক কোডটি ওপেন করুন।
আপনার আরডুইনোটি একটি USB কেবলের মাধ্যমে PC এর সাথে সংযুক্ত করুন। আরডুইনো IDE এর Tools > Board > Arduino / Genuino Uno তে ক্লিক করুন।
Tools > Port > (যথাযথ পোর্ট সিলেক্ট করুন)
লক্ষ্য করুনঃ উপরের ছবিটি শুধুমাত্র একটি উদাহরণ। আপনার আরডুইনো আইডিই তে COM43 এর বদলে অন্য কিছু থাকতে পারে।
ফাইল মেন্যুর নিচেই ডানে মুখ করা একটি তীর চিহ্ন আছে। এখানে ক্লিক করুন, তাহলে পিসির কোডটি আরডুইনোতে আপলোড হয়ে যাবে।
নিচের চিত্রের মত “Done Uploading” লিখাটির জন্য অপেক্ষা করুন।
যদি কোড আপ্লোডিং এর সময় “Error uploading” লিখা দেখায় তাহলে আরডুইনোটি পিসি থেকে বিচ্ছিন্ন করে আবার সংযুক্ত করে এই অধ্যায়ের ৩ নং ধাপ থেকে আবার চেষ্টা করুন।
তাপমাত্রা এবং আদ্রতার সঠিক মান পাওয়ার জন্য 4-5 মিনিট অপেক্ষা করুন।
৪.২.৪ ফলাফল
শিল্ডটির 4 digit seven segment display আপনাকে ৩ সেকেন্ড অন্তর অন্তর শেষ তিনটি পাঠের গড় মান ডিসপ্লেতে দেখাবে। Arduino IDE এর ডানের কোনায় (+) চিহ্নিত বাটনে ক্লিক করলে serial monitor চালু হবে। এখানে baud rate 115200 তে সিলেক্ট করে দিলে আপনি আপনার পিসিতেও তাপমাত্রা এবং আদ্রতার গড় দেখতে পারবেন।
৪.৩ Project: Simple Weather Station using DHT22
৪.৩.১ প্রয়োজনীয় সরঞ্জামাদি
এই প্রজেক্টটির জন্য আপনাকে DHT22 sensor কিনতে হবে। নিচের টেবিলে লিংক সহ সবগুলো কম্পোনেন্টের নাম দেয়া হলঃ
“Arduino Weather Station Shield” আপনার Arduino Uno-র উপর হালকা করে চাপ দিয়ে বসিয়ে দিন। DHT11 এর নীল রঙের সেন্সরটি শিল্ড থেকে খুলে DHT22 সেন্সরকে জাম্পার কেবলে মাধ্যমে নিচের টেবিলের মত করে কানেকশন দিনঃ
DHT22 Sensor
Arduino Weather Station Shield
Remarks
DOUT
OUT
Data pin
VCC
+
5V pin
GND
–
GND pin
৪.৩.৩ Code
“Demo Code” নামের যে ফোল্ডারকে আপনি ডাউনলোড করে আনজিপ করেছেন সেই ফোল্ডারে প্রবেশ করুন। “Simple_WeatherStationShield_DHT22.ino” নামক কোডটি ওপেন করুন।
আপনার আরডুইনোটি একটি USB কেবলের মাধ্যমে PC এর সাথে সংযুক্ত করুন। আরডুইনো IDE এর Tools > Board > Arduino / Genuino Uno তে ক্লিক করুন।
Tools > Port > (যথাযথ পোর্ট সিলেক্ট করুন)
লক্ষ্য করুনঃ উপরের ছবিটি শুধুমাত্র একটি উদাহরণ। আপনার আরডুইনো আইডিই তে COM43 এর বদলে অন্য কিছু থাকতে পারে।
ফাইল মেন্যুর নিচেই ডানে মুখ করা একটি তীর চিহ্ন আছে। এখানে ক্লিক করুন, তাহলে পিসির কোডটি আরডুইনোতে আপলোড হয়ে যাবে।
নিচের চিত্রের মত “Done Uploading” লিখাটির জন্য অপেক্ষা করুন।
যদি কোড আপ্লোডিং এর সময় “Error uploading” লিখা দেখায় তাহলে আরডুইনোটি পিসি থেকে বিচ্ছিন্ন করে আবার সংযুক্ত করে এই অধ্যায়ের ৩ নং ধাপ থেকে আবার চেষ্টা করুন।
তাপমাত্রা এবং আদ্রতার সঠিক মান পাওয়ার জন্য 4-5 মিনিট অপেক্ষা করুন।
৪.৩.৪ ফলাফল
শিল্ডটির 4 digit seven segment display তে আপনি ৩ সেকেন্ড পর পর আদ্রতা এবং তাপমাত্রা দেখতে পারবেন। Arduino IDE এর ডানের কোনায় (+) চিহ্নিত বাটনে ক্লিক করলে serial monitor চালু হবে। এখানে baud rate 115200 তে সিলেক্ট করে দিলে আপনি আপনার পিসিতেও তাপমাত্রা এবং আদ্রতা দেখতে পারবেন।
আপনি যদি একই সেন্সর (DHT22) ব্যবহার করে 3 position moving average algorithm এর মাধ্যমে কিছুটা উন্নত কোড চান, তাহলে পরের প্রজেক্টটি দেখুন। এতে হঠাৎ কোন ভুল ইনপুট ডাটা ডিসপ্লের টেম্পারেচার অথবা হিমিডিটির মানকে পরিবর্তন করতে পারবে না।
৪.৪ Project: Moving Average Weather Station using DHT22
Moving Average (MA) বিভিন্ন ডাটা এনালাইসিস করার জন্য ব্যবহার করা হয়, যেটা ডাটার মাঝে থাকা noise কে ফিল্টার করে ডাটাকে smooth করে। এর সম্পর্কে আরো জানতে হলে এই লিঙ্কের “Simple moving average” section এ ক্লিক করুন।
তাপমাত্রা এবং আদ্রতার আরো সঠিক মান পাওয়ার জন্য আমরা এখন Moving Average টেকনিকটি আমাদের কোডে অ্যাপ্লাই করব। আমরা শেষ তিনটি তাপমাত্রা এবং আদ্রতার মানকে গড় করে ডিসপ্লে ইউনিটে দেখাব।
৪.৪.১ প্রয়োজনীয় সরঞ্জামাদি
এই প্রজেক্টটির জন্য আপনাকে DHT22 sensor কিনতে হবে। নিচের টেবিলে লিংক সহ সবগুলো কম্পোনেন্টের নাম দেয়া হলঃ
“Arduino Weather Station Shield” আপনার Arduino Uno-র উপর হালকা করে চাপ দিয়ে বসিয়ে দিন। DHT11 এর নীল রঙের সেন্সরটি শিল্ড থেকে খুলে DHT22 সেন্সরকে জাম্পার কেবলে মাধ্যমে নিচের টেবিলের মত করে কানেকশন দিনঃ
DHT22 Sensor
Arduino Weather Station Shield
Remarks
DOUT
OUT
Data pin
VCC
+
5V pin
GND
–
GND pin
৪.৪.৩ Code
“Demo Code” নামের যে ফোল্ডারকে আপনি ডাউনলোড করে আনজিপ করেছেন সেই ফোল্ডারে প্রবেশ করুন। “Moving_Average_WeatherStationShield_DHT22.ino” নামক কোডটি ওপেন করুন।
আপনার আরডুইনোটি একটি USB কেবলের মাধ্যমে PC এর সাথে সংযুক্ত করুন। আরডুইনো IDE এর Tools > Board > Arduino / Genuino Uno তে ক্লিক করুন।
Tools > Port > (যথাযথ পোর্ট সিলেক্ট করুন)
লক্ষ্য করুনঃ উপরের ছবিটি শুধুমাত্র একটি উদাহরণ। আপনার আরডুইনো আইডিই তে COM43 এর বদলে অন্য কিছু থাকতে পারে।
ফাইল মেন্যুর নিচেই ডানে মুখ করা একটি তীর চিহ্ন আছে। এখানে ক্লিক করুন, তাহলে পিসির কোডটি আরডুইনোতে আপলোড হয়ে যাবে।
নিচের চিত্রের মত “Done Uploading” লিখাটির জন্য অপেক্ষা করুন।
যদি কোড আপ্লোডিং এর সময় “Error uploading” লিখা দেখায় তাহলে আরডুইনোটি পিসি থেকে বিচ্ছিন্ন করে আবার সংযুক্ত করে এই অধ্যায়ের ৩ নং ধাপ থেকে আবার চেষ্টা করুন।
তাপমাত্রা এবং আদ্রতার সঠিক মান পাওয়ার জন্য 4-5 মিনিট অপেক্ষা করুন।
৪.৪.৪ ফলাফল
শিল্ডটির 4 digit seven segment display আপনাকে ৩ সেকেন্ড অন্তর অন্তর শেষ তিনটি পাঠের গড় মান ডিসপ্লেতে দেখাবে। Arduino IDE এর ডানের কোনায় (+) চিহ্নিত বাটনে ক্লিক করলে serial monitor চালু হবে। এখানে baud rate 115200 তে সিলেক্ট করে দিলে আপনি আপনার পিসিতেও তাপমাত্রা এবং আদ্রতার গড় দেখতে পারবেন।
৫. অন্যান্য সম্ভাব্য প্রোজেক্ট
৫.১ Temperature Control Unit
যেকোন AC load এর ইনপুট ভোল্টেজকে নিয়ন্ত্রণ করার জন্য Digital AC Voltage Dimmer নামক একটি ডিভাইস আছে। এই মডুইলটির (+)/(-) পিনকে আপনি শুধু ১০০ মিলি সেকেন্ডের একটা LOW pulse দিলেই মডিউলটি আউটপুট ভোল্টেজ আপ/ডাউন করবে।
Digital AC Voltage Dimmer এবং Arduino Weather Station Shield ব্যবহার করে আপনি একটি AC 220V হিটার অথবা AC 220V বৈদ্যুতিক বাতির (Incandescent Bulb) তাপমাত্রা পুঙ্খানুপুঙ্খভাবে নিয়ন্ত্রণ করতে পারবেন। আর পরিপার্শ্বিকের চেয়ে কম তাপমাত্রা আনতে হলে Arduino Weather Station Shield দ্বারা টেম্পারাচার read করে আপনি একটি কুলারকে প্রয়োজন বুঝে automatically on/off করতে পারেন।
৫.২ Weather Histogram for a Cold Storage
একটি micro SD card-এ Arduino এর মাধ্যমে ডাটা read/write করার জন্য Micro SD Storage Board (SDIO/SPI) নামক একটি মডিউল আছে। এই মডিউলটির সাথে কোন মেমোরি কার্ড আসে না, তাই আপনাদেরকে আলাদা ভাবে মেমরি কার্ড কিনে নিতে হবে (দেখুন এই লিংক)। এই মডিউলটি সঠিক ভাবে ব্যবহার করার জন্য সকল লাইব্রেরি ফাইল এবং কোড এই লিংক থেকে সংগ্রহ করুন।
Micro SD Storage Board (SDIO/SPI) , Arduino Weather Station Shield এবং একটি microSD কার্ড ব্যবহার করে SD card এ আপনি বিভিন্ন সময়ে আপনার ঘর অথবা কোল্ড স্টোরেজের তাপমাত্রা এবং আদ্রতার মান লিখে রাখতে পারবেন। এই ধরনের ডাটা পরবর্তিতে কোল্ড স্টোরেজ মেইন্টেনেন্স এর ক্ষেত্রে খুব কার্যকর।