Arduino দিয়ে Digital thermometer project

Arduino ভিত্তিক তাপমাত্রা মাপার যন্ত্রগুলোর মধ্যে LM35 Temperature Sensor অন্যতম জনপ্রিয় এবং সহজলভ্য একটি সেন্সর। এই পোস্টে আলোচনা করবো Arduino দিয়ে Digital thermometer project তৈরির পুরো প্রসেস।

LM35 একটি high Accuracy সম্পন্ন সেন্সর, যার আউটপুট ভোল্টেজ সরাসরি তাপমাত্রার সঙ্গে পরিবর্তিত হয়। ফলে তাপমাত্রা পড়ার ক্ষেত্রে জটিল ক্যালিব্রেশন বা অতিরিক্ত সার্কিটের প্রয়োজন পড়ে না।

এই টিউটোরিয়ালে LM35 সেন্সরের কাজ, Arduino-তে সংযোগ, প্রোগ্রামিং, সার্কিট ব্যাখ্যা এবং বাস্তব জীবনে এর ব্যবহার সম্পর্কে পূর্ণ ধারণা দেওয়া হলো।

LM35 Temperature Sensor কীভাবে কাজ করে

LM35 হলো একটি Precision sensor, যা -55°C থেকে 150°C পর্যন্ত তাপমাত্রা পরিমাপ করতে পারে। সেন্সরটির আউটপুট প্রতি ডিগ্রি সেলসিয়াসে 10 মিলিভোল্ট বৃদ্ধি পায়।

তাই Arduino সহজেই এনালগ ভোল্টেজকে তাপমাত্রায় রূপান্তর করতে পারে। সেন্সরটির নির্ভুলতা রুম টেম্পারেচারে ±0.5°C পর্যন্ত, যা এটিকে বিভিন্ন তাপমাত্রা-নির্ভর প্রোজেক্টে ব্যবহারের জন্য দারুণভাবে উপযোগী করে।

প্রয়োজনীয় হার্ডওয়্যার

LM35 সেন্সর এবং Arduino UNO ব্যবহার করে তাপমাত্রা মাপার জন্য প্রয়োজনীয় উপকরণগুলো নিচের টেবিলে দেওয়া হলো।

S/NComponentValueQty
1Arduino UNO1
2USB Cable Type A to B1
3Temperature SensorLM351
4Power Adapter9V1
5Breadboard1
6Jumper WiresFew

উপরের উপকরণগুলো একটি সাধারণ Arduino স্টার্টার কিটেই পাওয়া যায়, তাই নতুন ব্যবহারকারীরাও সহজে এই Project শুরু করতে পারেন।

Arduino-তে LM35 সেন্সর সংযোগ

LM35 sensor connection

LM35 সেন্সরের তিনটি পিন থাকে: VCC, GND এবং OUT. সেন্সরের VCC পিন Arduino-এর 5V পিনে, GND পিন Arduino-এর GND-তে এবং OUT পিন Analog Input A0-তে সংযোগ করতে হবে।

সেন্সরটি খুবই কম শক্তি ব্যবহার করে, তাই আলাদা কোনো রেজিস্টর বা পাওয়ার কন্ডিশনিং সার্কিটের প্রয়োজন নেই।

এই সহজ সংযোগই Arduino-কে সেন্সরের ভোল্টেজকে তাপমাত্রায় রূপান্তর করতে সাহায্য করে।

Arduino IDE সেটআপ

Arduino IDE ইনস্টল করতে হলে অফিসিয়াল Arduino ওয়েবসাইটে গিয়ে আপনার অপারেটিং সিস্টেম অনুযায়ী ডাউনলোড করতে হবে। Install প্রক্রিয়া দেখে নিন Arduino IDE download থেকে।

ইনস্টল শেষে সফটওয়্যারটি ওপেন করে Board হিসেবে Arduino UNO নির্বাচন করুন এবং Tools মেনু থেকে সঠিক COM Port নির্বাচন করুন। এখন আপনি কোড আপলোড করার জন্য প্রস্তুত।

LM35 থেকে তাপমাত্রা পড়ার সহজ কোড

LM35 সেন্সর থেকে এনালগ ভোল্টেজ পড়া এবং সেটিকে Celsius ও Fahrenheit ইউনিটে রূপান্তর করার জন্য নিচের কোডটি ব্যবহার করা যায়। এটি নবাগতদের জন্য উপযোগী ও সহজবোধ্য।

void setup() {
Serial.begin(9600); // Serial Monitor শুরু
}

void loop() {
int sensorValue = analogRead(sensorPin); // সেন্সরের ভ্যালু পড়া
temperatureC = (sensorValue * 5.0) / 1023 * 100; // সেলসিয়াসে রূপান্তর
temperatureF = (temperatureC * 9 / 5) + 32; // ফারেনহাইটে রূপান্তর

Serial.print("Temperature: ");
Serial.print(temperatureC);
Serial.print(" °C | ");
Serial.print(temperatureF);
Serial.println(" °F");

delay(1000); // প্রতি ১ সেকেন্ডে আপডেট
}

এই কোডে সেন্সর থেকে পাওয়া ভোল্টেজকে প্রথমে এনালগ ভ্যালু হিসেবে নেওয়া হয়েছে এবং পরে সেটিকে ADC রূপান্তরের মাধ্যমে তাপমাত্রায় রূপান্তর করা হয়েছে।

উন্নত এবং আরও নির্ভুল ক্যালকুলেশনসহ LM35 কোড

নিচের কোডে ADC মানকে মিলিভোল্টে রূপান্তর করে তার ভিত্তিতে তাপমাত্রা নির্ণয় করা হয়, যা অনেক ক্ষেত্রে আরও সঠিক ফলাফল দেয়।

#define ADC_VREF_mV    5000.0
#define ADC_RESOLUTION 1024.0
#define PIN_LM35       A0

void setup() {
  Serial.begin(9600);
}

void loop() {
  int adcVal = analogRead(PIN_LM35);
  float milliVolt = adcVal * (ADC_VREF_mV / ADC_RESOLUTION);
  float tempC = milliVolt / 10;
  float tempF = (tempC * 9 / 5) + 32;

  Serial.print("Temperature: ");
  Serial.print(tempC);
  Serial.print(" °C  ~  ");
  Serial.print(tempF);
  Serial.println(" °F");

  delay(1000);
}

এই কোডটি বিশেষভাবে কার্যকর যেখানে তাপমাত্রা পরিমাপের ক্ষেত্রে অত্যন্ত নির্ভুলতা প্রয়োজন।

সার্কিট ডায়াগ্রামের ব্যাখ্যা

LM35 সেন্সরটি Arduino UNO-এর 5V, GND এবং A0 পিনে সংযুক্ত হলে Arduino সরাসরি সেন্সরের আউটপুট ভোল্টেজ পড়তে পারে।

সেন্সর OUT পিনের ভোল্টেজ তাপমাত্রার সঙ্গে সরাসরি অনুপাতিক হওয়ায় Arduino-র ADC সেটিকে খুব সহজেই কার্যকর ডাটা হিসেবে ব্যবহার করতে পারে।

সার্কিটের সরলতা নতুন ব্যবহারকারীদের মধ্যে এই সেন্সরকে অত্যন্ত জনপ্রিয় করেছে।

কোডের পূর্ণ কার্যপদ্ধতি

প্রোগ্রামটি শুরুতেই Serial Communication সক্রিয় করে, যাতে আমরা তাপমাত্রার মান কম্পিউটারে দেখতে পারি।

প্রতিটি লুপে Arduino এনালগ ভ্যালু পড়ে, সেটিকে ভোল্টেজে রূপান্তর করে এবং তারপর তাপমাত্রা বের করে।

এই সবকিছুর পরে Serial Monitor-এ একটি পরিচ্ছন্ন তাপমাত্রা রিডিং দেখা যায়, যা প্রতি সেকেন্ডে আপডেট হয়।

সংক্ষেপে, ADC Value → Voltage → Celsius → Fahrenheit এই পুরো প্রক্রিয়াটি Arduino স্বয়ংক্রিয়ভাবে সম্পন্ন করে।

LM35 সেন্সরের ব্যবহার ক্ষেত্র

তাপমাত্রা নিয়ন্ত্রণসংক্রান্ত যেকোনো প্রোজেক্টে LM35 অত্যন্ত কার্যকর ভূমিকা পালন করে।

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

এর নির্ভুলতা এবং স্থায়িত্ব এসব ক্ষেত্রে ব্যবহারকে আরও নির্ভরযোগ্য করে তোলে।

উপসংহার

LM35 Temperature Sensor এবং Arduino UNO ব্যবহার করে একটি সহজ ও নির্ভুল তাপমাত্রা মনিটরিং সিস্টেম তৈরি করা যায়।

এর জন্য প্রয়োজন হয় খুব সামান্য উপকরণ, এবং কোডিংও নতুনদের জন্য যথেষ্ট সহজ।

এই টিউটোরিয়ালে দেওয়া সার্কিট, কোড এবং ব্যাখ্যা অনুসরণ করে তুমি খুব সহজেই নিজের Temperature Monitoring Project তৈরি করতে পারবে।

FAQs

FAQ 1: Digital thermometer using Arduino কীভাবে কাজ করে?

Digital thermometer using Arduino মূলত LM35-এর মতো একটি তাপমাত্রা সেন্সর থেকে এনালগ ভোল্টেজ পড়ে। Arduino সেই ভোল্টেজকে ADC মানে রূপান্তর করে তাপমাত্রা নির্ণয় করে এবং Serial Monitor বা ডিসপ্লেতে দেখায়।

FAQ 2: Digital thermometer প্রোজেক্টে LM35 সেন্সর কেন ব্যবহার করা হয়?

LM35 সেন্সর খুবই নির্ভুল, ক্যালিব্রেশন ছাড়াই সঠিক আউটপুট দেয়, এবং প্রতি ডিগ্রি সেলসিয়াসে 10 mV ভোল্টেজ পরিবর্তন করে। তাই Arduino দিয়ে Digital thermometer তৈরি করতে এটি সবচেয়ে সহজ ও নির্ভরযোগ্য সেন্সর।

FAQ 3: Arduino UNO ছাড়া এই Digital thermometer তৈরি করা যাবে কি?

হ্যাঁ, Arduino Nano, Mega বা ESP32 দিয়েও Digital thermometer তৈরি করা যায়। শুধু LM35-এর আউটপুটটি এনালগ ইনপুট পিনে দিতে হবে এবং কোডে সঠিক পিন নির্বাচন করতে হবে।

FAQ 4: Digital thermometer using Arduino সার্কিট কি বাহ্যিক পাওয়ার ছাড়া চলবে?

হ্যাঁ, USB কেবল দিয়ে Arduino কম্পিউটার বা পাওয়ার ব্যাংক থেকে পাওয়ার নিলে প্রোজেক্ট পুরোপুরি কাজ করবে। LM35 খুবই কম পাওয়ার ব্যবহার করে, তাই অতিরিক্ত অ্যাডাপ্টারের প্রয়োজন নেই।

FAQ 5: Digital thermometer প্রোজেক্টে তাপমাত্রা কি LCD বা OLED ডিসপ্লেতে দেখানো যাবে?

অবশ্যই। Arduino-এর সঙ্গে 16×2 LCD, I2C LCD বা OLED Display যুক্ত করে তাপমাত্রার মান সরাসরি ডিভাইসেই প্রদর্শন করা যায়। শুধু কোডে ডিসপ্লে লাইব্রেরি যোগ করতে হবে।