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/N | Component | Value | Qty |
|---|---|---|---|
| 1 | Arduino UNO | – | 1 |
| 2 | USB Cable Type A to B | – | 1 |
| 3 | Temperature Sensor | LM35 | 1 |
| 4 | Power Adapter | 9V | 1 |
| 5 | Breadboard | – | 1 |
| 6 | Jumper Wires | – | Few |
উপরের উপকরণগুলো একটি সাধারণ Arduino স্টার্টার কিটেই পাওয়া যায়, তাই নতুন ব্যবহারকারীরাও সহজে এই Project শুরু করতে পারেন।
Arduino-তে LM35 সেন্সর সংযোগ

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
Digital thermometer using Arduino মূলত LM35-এর মতো একটি তাপমাত্রা সেন্সর থেকে এনালগ ভোল্টেজ পড়ে। Arduino সেই ভোল্টেজকে ADC মানে রূপান্তর করে তাপমাত্রা নির্ণয় করে এবং Serial Monitor বা ডিসপ্লেতে দেখায়।
LM35 সেন্সর খুবই নির্ভুল, ক্যালিব্রেশন ছাড়াই সঠিক আউটপুট দেয়, এবং প্রতি ডিগ্রি সেলসিয়াসে 10 mV ভোল্টেজ পরিবর্তন করে। তাই Arduino দিয়ে Digital thermometer তৈরি করতে এটি সবচেয়ে সহজ ও নির্ভরযোগ্য সেন্সর।
হ্যাঁ, Arduino Nano, Mega বা ESP32 দিয়েও Digital thermometer তৈরি করা যায়। শুধু LM35-এর আউটপুটটি এনালগ ইনপুট পিনে দিতে হবে এবং কোডে সঠিক পিন নির্বাচন করতে হবে।
হ্যাঁ, USB কেবল দিয়ে Arduino কম্পিউটার বা পাওয়ার ব্যাংক থেকে পাওয়ার নিলে প্রোজেক্ট পুরোপুরি কাজ করবে। LM35 খুবই কম পাওয়ার ব্যবহার করে, তাই অতিরিক্ত অ্যাডাপ্টারের প্রয়োজন নেই।
অবশ্যই। Arduino-এর সঙ্গে 16×2 LCD, I2C LCD বা OLED Display যুক্ত করে তাপমাত্রার মান সরাসরি ডিভাইসেই প্রদর্শন করা যায়। শুধু কোডে ডিসপ্লে লাইব্রেরি যোগ করতে হবে।