
সুচিপত্র:
- ধাপ 1: কিভাবে I2c কাজ করে
- ধাপ 2: লাইব্রেরি
- ধাপ 3: আচরণকারী
- ধাপ 4: I2c ব্যবহার
- ধাপ 5: এক তারের ব্যবহার
- ধাপ 6: অন্তর্নিহিত পড়া
- ধাপ 7: সহজ পড়া
- ধাপ 8: সম্পূর্ণ পড়া
- ধাপ 9: সংযোগ ডায়াগ্রাম
- ধাপ 10: Arduino: OneWire
- ধাপ 11: Arduino: I2c
- ধাপ 12: Esp8266 (D1Mini) OneWire
- ধাপ 13: Esp8266 (D1Mini) I2c
- ধাপ 14: ধন্যবাদ
2025 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2025-01-23 14:36

আপনি আমার সাইটে https://www.mischianti.org/2019/01/01/dht12-library-en/ এ আপডেট এবং অন্যান্য খুঁজে পেতে পারেন।
আমি সেন্সর পছন্দ করি যা 2 তারের (i2c প্রোটোকল) ব্যবহার করা যেতে পারে, কিন্তু আমি সস্তা একটি পছন্দ করি।
এটি খুব কম খরচে তাপমাত্রা/আর্দ্রতা সেন্সর (1 $ এর কম) DHT12 সিরিজের জন্য একটি Arduino এবং esp8266 লাইব্রেরি যা i2c বা একটি ওয়্যার সংযোগের সাথে কাজ করে।
খুব উপযোগী যদি আপনি esp01 ব্যবহার করতে চান (যদি আপনি সিরিয়াল ব্যবহার করেন তবে আপনার মাত্র 2 টি পিন আছে) আর্দ্রতা এবং তাপমাত্রা পড়তে এবং i2c LCD তে প্রদর্শন করতে।
এআই পড়ে যে কখনও কখনও মনে হয় যে ক্রমাঙ্কন প্রয়োজন, কিন্তু আমি এই গাছ আছে এবং DHT22 অনুরূপ মান পেতে যদি আপনার এই সমস্যাটি ক্রমাঙ্কন হয় তবে জিথুবের সমস্যাটি খুলুন এবং আমি বাস্তবায়ন যোগ করি।
ধাপ 1: কিভাবে I2c কাজ করে

I2C এর দুটি তারের সাথে কাজ করে, এসডিএ (ডেটা লাইন) এবং এসসিএল (ক্লক লাইন)।
এই দুটি লাইনই ওপেন-ড্রেন, কিন্তু প্রতিরোধক দিয়ে টানা-টানা।
লাইনে সাধারণত একজন মাস্টার এবং এক বা একাধিক ক্রীতদাস থাকে, যদিও একাধিক মাস্টার থাকতে পারে, তবে আমরা সে সম্পর্কে পরে কথা বলব।
মাস্টার এবং ক্রীতদাস উভয়ই ডেটা প্রেরণ বা গ্রহণ করতে পারে, অতএব, একটি ডিভাইস এই চারটি রাজ্যের একটিতে থাকতে পারে: মাস্টার ট্রান্সমিট, মাস্টার রিসিভ, স্লেভ ট্রান্সমিট, স্লেভ রিসিভ।
ধাপ 2: লাইব্রেরি
আপনি এখানে আমার লাইব্রেরি খুঁজে পেতে পারেন।
ডাউনলোড করতে
উপরের ডান কোণে ডাউনলোড বোতামে ক্লিক করুন, অসম্পূর্ণ ফোল্ডারটির নাম পরিবর্তন করুন DHT12।
DHT ফোল্ডারে DHT12.cpp এবং DHT12.h আছে কিনা তা পরীক্ষা করুন।
DHT লাইব্রেরি ফোল্ডারটি আপনার / লাইব্রেরি / ফোল্ডারে রাখুন।
আপনার প্রথম লাইব্রেরি হলে আপনাকে লাইব্রেরি সাবফোল্ডার তৈরি করতে হতে পারে।
আইডিই পুনরায় চালু করুন।
ধাপ 3: আচরণকারী
এই লাইব্রে স্ট্যান্ডার্ড ডিএইচটি লাইব্রেরি সেন্সর (এবং অনেক কোড কপি) এর আচরণকে অনুকরণ করার চেষ্টা করে, এবং আমি একই পদ্ধতিতে i2c olso পরিচালনার জন্য কোড যোগ করি।
পদ্ধতিটি DHT লাইব্রেরি সেন্সরের একই, কিছু কিছু শিশির বিন্দু ফাংশন যোগ করে।
ধাপ 4: I2c ব্যবহার
I2c (ডিফল্ট ঠিকানা এবং ডিফল্ট এসডিএ এসসিএল পিন) ব্যবহার করার জন্য কনস্ট্রাক্টর হল:
DHT12 dht12;
এবং এসডিএ এসসিএল পিনের জন্য ডিফল্ট মান নিন।
(ESP-01 এর জন্য প্রয়োজনীয় esp8266 এর জন্য নির্দিষ্ট কনট্রাক্টর দিয়ে পুনরায় সংজ্ঞায়িত করা সম্ভব)। অথবা
DHT12 dht12 (uint8_t addressOrPin)
addressOrPin -> ঠিকানা
ঠিকানা পরিবর্তন করতে।
ধাপ 5: এক তারের ব্যবহার
একটি তার ব্যবহার করতে:
DHT12 dht12 (uint8_t addressOrPin, সত্য)
addressOrPin -> পিন
বুলিয়ান মান হল ওয়ান ওয়্যার বা আই 2 সি মোড নির্বাচন।
ধাপ 6: অন্তর্নিহিত পড়া
আপনি এটিকে "অন্তর্নিহিত", "সাধারণ পঠন" বা "সম্পূর্ণ রিড" এর সাথে ব্যবহার করতে পারেন: অন্তর্নিহিত, সেন্সরের সত্যিকারের পড়া শুধুমাত্র প্রথম পড়া, দ্বিতীয়টি 2 সেকেন্ডে পরিণত হয়। ব্যবধান হল প্রথম পড়ার সঞ্চিত মান।
// সেন্সরের পড়ার সময় 2 সেকেন্ড অতিবাহিত হয়, যদি না আপনি ফোর্স প্যারামিটার পাস করেন
// সেলসিয়াস হিসাবে তাপমাত্রা পড়ুন (ডিফল্ট) ফ্লোট t12 = dht12.readTemperature (); // ফারেনহাইট হিসাবে তাপমাত্রা পড়ুন (isFahrenheit = true) float f12 = dht12.readTemperature (true); // সেন্সর রিডিং 2 সেকেন্ড পর্যন্ত 'পুরানো' হতে পারে (এটি একটি খুব ধীর সেন্সর) ফ্লোট h12 = dht12.readHumidity (); // ফারেনহাইট (ডিফল্ট) ভাসমান তাপ সূচক গণনা করুন hif12 = dht12.computeHeatIndex (f12, h12); // সেলসিয়াসে গণনা তাপ সূচক (isFahreheit = false) float hic12 = dht12.computeHeatIndex (t12, h12, false); // ফারেনহাইটে শিশির বিন্দু গণনা করুন (ডিফল্ট) ফ্লোট dpf12 = dht12.dewPoint (f12, h12); // সেলসিয়াসে শিশির বিন্দু গণনা করুন (isFahreheit = false) float dpc12 = dht12.dewPoint (t12, h12, false);
ধাপ 7: সহজ পড়া
পড়ার স্ট্যাটাস পেতে সহজ পড়া।
// সেন্সরের পড়ার সময় 2 সেকেন্ড অতিবাহিত হয়, যদি না আপনি ফোর্স প্যারামিটার পাস করেন
bool chk = dht12.read (); // সত্য পড়া ঠিক আছে, মিথ্যা পড়ার সমস্যা
// সেলসিয়াস হিসাবে তাপমাত্রা পড়ুন (ডিফল্ট)
ভাসা t12 = dht12.readTemperature (); // ফারেনহাইট হিসাবে তাপমাত্রা পড়ুন (isFahrenheit = true) float f12 = dht12.readTemperature (true); // সেন্সর রিডিং 2 সেকেন্ড পর্যন্ত 'পুরানো' হতে পারে (এটি একটি খুব ধীর সেন্সর) ফ্লোট h12 = dht12.readHumidity (); // ফারেনহাইট (ডিফল্ট) ভাসমান তাপ সূচক গণনা করুন hif12 = dht12.computeHeatIndex (f12, h12); // সেলসিয়াসে গণনা তাপ সূচক (isFahreheit = false) float hic12 = dht12.computeHeatIndex (t12, h12, false); // ফারেনহাইটে শিশির বিন্দু গণনা করুন (ডিফল্ট) ফ্লোট dpf12 = dht12.dewPoint (f12, h12); // সেলসিয়াসে শিশির বিন্দু গণনা করুন (isFahreheit = false) float dpc12 = dht12.dewPoint (t12, h12, false);
ধাপ 8: সম্পূর্ণ পড়া
একটি নির্দিষ্ট স্ট্যাটাস পেতে সম্পূর্ণ পড়া।
// সেন্সরের পড়ার সময় 2 সেকেন্ড অতিবাহিত হয়, যদি না আপনি ফোর্স প্যারামিটার পাস করেন
DHT12:: ReadStatus chk = dht12.readStatus (); Serial.print (F ("\ n সেন্সর পড়ুন:")); সুইচ (chk) {case DHT12:: OK: Serial.println (F ("OK")); বিরতি; কেস DHT12:: ERROR_CHECKSUM: Serial.println (F ("Checksum error")); বিরতি; কেস DHT12:: ERROR_TIMEOUT: Serial.println (F ("টাইমআউট ত্রুটি")); বিরতি; DHT12 কেস বিরতি; DHT12 কেস বিরতি; কেস DHT12:: ERROR_CONNECT: Serial.println (F ("সংযোগ ত্রুটি")); বিরতি; কেস DHT12:: ERROR_ACK_L: Serial.println (F ("AckL error")); বিরতি; কেস DHT12:: ERROR_ACK_H: Serial.println (F ("AckH error")); বিরতি; কেস DHT12:: ERROR_UNKNOWN: Serial.println (F ("Unknown error DETECTED"); বিরতি; কেস DHT12:: NONE: Serial.println (F ("কোন ফলাফল নেই")); বিরতি; ডিফল্ট: Serial.println (F ("Unknown error")); বিরতি; }
// সেলসিয়াস হিসাবে তাপমাত্রা পড়ুন (ডিফল্ট)
ভাসা t12 = dht12.readTemperature (); // ফারেনহাইট হিসাবে তাপমাত্রা পড়ুন (isFahrenheit = true) float f12 = dht12.readTemperature (true); // সেন্সর রিডিং 2 সেকেন্ড পর্যন্ত 'পুরানো' হতে পারে (এটি একটি খুব ধীর সেন্সর) ফ্লোট h12 = dht12.readHumidity (); // ফারেনহাইট (ডিফল্ট) ভাসমান তাপ সূচক গণনা করুন hif12 = dht12.computeHeatIndex (f12, h12); // সেলসিয়াসে গণনা তাপ সূচক (isFahreheit = false) float hic12 = dht12.computeHeatIndex (t12, h12, false); // ফারেনহাইটে শিশির বিন্দু গণনা করুন (ডিফল্ট) ফ্লোট dpf12 = dht12.dewPoint (f12, h12); // সেলসিয়াসে শিশির বিন্দু গণনা করুন (isFahreheit = false) float dpc12 = dht12.dewPoint (t12, h12, false);
ধাপ 9: সংযোগ ডায়াগ্রাম
উদাহরণ সহ, সংযোগ ডায়াগ্রাম আছে, সঠিক পুলআপ প্রতিরোধক ব্যবহার করা গুরুত্বপূর্ণ।
বোবদাস, ডিপ্লাসা এবং অ্যাডাফ্রুটকে ধন্যবাদ, গিথুবের কোডটি শেয়ার করার জন্য (যেখানে আমি কিছু কোড এবং আইডিয়া নিয়েছি)।
ধাপ 10: Arduino: OneWire

ধাপ 11: Arduino: I2c

ধাপ 12: Esp8266 (D1Mini) OneWire

ধাপ 13: Esp8266 (D1Mini) I2c

ধাপ 14: ধন্যবাদ
Arduino খেলার মাঠ (https://playground.arduino.cc/Main/DHT12SensorLibrary)
i2c প্রকল্প সিরিজ (সংগ্রহ):
- তাপমাত্রা আর্দ্রতা সেন্সর
- এনালগ সম্প্রসারণকারী
- ডিজিটাল সম্প্রসারণকারী
- LCD প্রদর্শন
প্রস্তাবিত:
অরডুইনো সহ সার্ভো এবং ডিএইচটি 11 তাপমাত্রা এবং আর্দ্রতা সেন্সর ব্যবহার করে অটো কুলিং ফ্যান: 8 টি পদক্ষেপ

Arduino এর সাহায্যে Servo এবং DHT11 তাপমাত্রা এবং আর্দ্রতা সেন্সর ব্যবহার করে অটো কুলিং ফ্যান: এই টিউটোরিয়ালে আমরা শিখব কিভাবে & তাপমাত্রা একটি নির্দিষ্ট মাত্রার উপরে উঠলে একটি পাখা ঘোরান
Arduino এর সাথে DHT12 I2C আর্দ্রতা এবং তাপমাত্রা সেন্সর কিভাবে ব্যবহার করবেন: 7 টি ধাপ

কিভাবে Arduino এর সাথে DHT12 I2C আর্দ্রতা এবং তাপমাত্রা সেন্সর ব্যবহার করবেন: এই টিউটোরিয়ালে আমরা শিখব কিভাবে Arduino এর সাথে DHT12 I2C আর্দ্রতা এবং তাপমাত্রা সেন্সর ব্যবহার করতে হয় এবং OLED ডিসপ্লেতে মান প্রদর্শন করতে হয়। ভিডিওটি দেখুন
Arduino সৌর চালিত তাপমাত্রা এবং আর্দ্রতা সেন্সর 433mhz ওরেগন সেন্সর হিসাবে: 6 ধাপ

Arduino সৌর চালিত তাপমাত্রা এবং আর্দ্রতা সেন্সর 433mhz ওরেগন সেন্সর হিসাবে: এটি একটি সৌর চালিত তাপমাত্রা এবং আর্দ্রতা সেন্সর তৈরি করে। সৌর শক্তি মোশন সেন্সর " ইবে থেকে। নিশ্চিত করুন যে এটি 3.7v ব্যাটার বলে
ESP8266 NodeMCU অ্যাক্সেস পয়েন্ট (AP) ওয়েব সার্ভারের জন্য DT11 তাপমাত্রা সেন্সর এবং মুদ্রণ তাপমাত্রা এবং ব্রাউজারে আর্দ্রতা সহ: 5 টি পদক্ষেপ

ওয়েব সার্ভারের জন্য ESP8266 NodeMCU অ্যাক্সেস পয়েন্ট (AP) DT11 তাপমাত্রা সেন্সর এবং মুদ্রণ তাপমাত্রা এবং ব্রাউজারে আর্দ্রতা: হাই বন্ধুরা আমরা বেশিরভাগ প্রকল্পে ESP8266 ব্যবহার করি এবং বেশিরভাগ প্রকল্পে আমরা ESP8266 ব্যবহার করি একটি ওয়েব সার্ভার হিসাবে যাতে ডেটা অ্যাক্সেস করা যায় ESP8266 দ্বারা হোস্ট করা ওয়েবসাইট সার্ভার অ্যাক্সেস করে ওয়াইফাই এর উপর যেকোনো ডিভাইস কিন্তু একমাত্র সমস্যা হল আমাদের জন্য একটি ওয়ার্কিং রাউটার দরকার
Arduino এবং মুদ্রণ তাপমাত্রা তাপ এবং আর্দ্রতা সঙ্গে DHT11 তাপমাত্রা সেন্সর কিভাবে ব্যবহার করবেন: 5 পদক্ষেপ

Arduino এবং মুদ্রণ তাপমাত্রা তাপ এবং আর্দ্রতার সাথে DHT11 তাপমাত্রা সেন্সর কিভাবে ব্যবহার করবেন: তাপমাত্রা এবং আর্দ্রতা পরিমাপ করতে DHT11 সেন্সর ব্যবহার করা হয়। তারা খুব জনপ্রিয় ইলেকট্রনিক্স শখ করে। এটি প্রতি