یہ ٹیوٹوریل کا حصہ ہے: ڈیجیٹل رشتہ دار نمی اور درجہ حرارت سینسر HTU21D
ڈیجیٹل رشتہ دار نمی اور درجہ حرارت سینسر HTU21D سے متعلق ویڈیوز۔ دیگر ویڈیوز کے لنکس اس مضمون کے نیچے ہیں۔
سبق 35: Arduino کے ساتھ HTU21D درجہ حرارت سینسر کا استعمال
سبق 35: HTU21D درجہ حرارت سینسر کو Arduino کے ساتھ استعمال کرنا
اس سبق میں، ہم سیکھیں گے کہ HTU21D درجہ حرارت سینسر کو Arduino کے ساتھ کیسے جوڑا جائے۔ یہ سینسر I2C کمیونیکیشن کے ذریعے درجہ حرارت اور نمی کی درست پیمائش کی اجازت دیتا ہے، جس سے اسے مختلف منصوبوں میں ضم کرنا آسان ہو جاتا ہے۔ اس سبق کے اختتام تک، آپ سینسر سے درجہ حرارت اور نمی کی قدریں پڑھ سکیں گے اور انہیں سیریل مانیٹر پر ظاہر کر سکیں گے۔

اس منصوبے کے لیے، ہم Adafruit لائبریری استعمال کریں گے، جو HTU21D سینسر کے ساتھ بات چیت کرنے کا ایک آسان طریقہ فراہم کرتی ہے۔ آپ سیکھیں گے کہ وائرنگ کیسے ترتیب دی جائے، کوڈ کیسے لکھا جائے، اور پروگرام میں استعمال ہونے والے اہم شناخت کنندگان کو سمجھیں۔ اگر آپ کو عمل کے کسی بھی حصے پر وضاحت درکار ہو، تو آپ ویڈیو (ویڈیو میں 0:00 پر) کا حوالہ دے سکتے ہیں۔
ہارڈویئر کی وضاحت
HTU21D ایک ڈیجیٹل نمی اور درجہ حرارت سینسر ہے۔ یہ 1.5V سے 3.6V کی وولٹیج رینج پر کام کرتا ہے، جو اسے 3.3V اور 5V دونوں سسٹمز کے لیے موزوں بناتا ہے۔ سینسر I2C پر بات چیت کرتا ہے، جس میں ڈیٹا کی منتقلی کے لیے صرف دو تاریں درکار ہوتی ہیں: سیریل ڈیٹا لائن (SDA) اور سیریل کلاک لائن (SCL)۔ سینسر کی بجلی کی کھپت بہت کم ہے، جو بیکار حالت میں صرف 0.02 µA اور پیمائش کے دوران 450 µA تک استعمال کرتا ہے۔
سینسر کے علاوہ، آپ کو ایک Arduino بورڈ اور کچھ جمپر تاریں درکار ہوں گی تاکہ سب کچھ جوڑا جا سکے۔ کنکشن آسان ہیں: سینسر کو بجلی فراہم کریں، ڈیٹا لائنز کو جوڑیں، اور آپ تیار ہیں۔ یقینی بنائیں کہ آپ کے کنکشن محفوظ ہیں تاکہ کسی بھی مواصلاتی مسئلے سے بچا جا سکے۔
ڈیٹاشیٹ کی تفصیلات
| کارخانہ دار | TE Connectivity |
|---|---|
| پرزہ نمبر | HTU21D-F |
| لاجک/آؤٹ پٹ وولٹیج | 1.5 - 3.6 V |
| سپلائی وولٹیج | 3.3 V |
| آؤٹ پٹ کرنٹ (عام) | 0.02 µA (بیکار)، 450 µA (فعال) |
| درجہ حرارت کی حد | -40 سے +125 °C |
| نمی کی حد | 0 سے 100 % RH |
| ریزولوشن (درجہ حرارت) | 0.01 °C |
| ریزولوشن (نمی) | 0.04 % RH |
| پیکیج | DFN-8 |
- نقصان سے بچنے کے لیے مناسب بجلی سپلائی وولٹیج (1.5 - 3.6 V) یقینی بنائیں۔
- ضرورت پڑنے پر SDA اور SCL لائنوں پر پل اپ ریزسٹر استعمال کریں۔
- I2C کمیونیکیشن میں شور کم کرنے کے لیے وائرنگ مختصر رکھیں۔
- فلوٹنگ ان پٹ سے بچنے کے لیے کنکشنز کو احتیاط سے چیک کریں۔
- زیادہ سے زیادہ درجہ حرارت کی حد کے قریب کام کرتے وقت ہیٹ سنک استعمال کریں۔
وائرنگ ہدایات

HTU21D سینسر کو اپنے Arduino سے جوڑنے کے لیے، پاور پنز کو جوڑ کر شروع کریں۔ سینسر کے بائیں پن کو Arduino کے 3.3V آؤٹ پٹ سے جوڑیں۔ دوسرا پن گراؤنڈ (GND) سے منسلک ہونا چاہیے۔ اگلا، سینسر کے SDA پن کو Arduino کے A4 پن سے جوڑیں، جو I2C کمیونیکیشن کے لیے ڈیٹا لائن کے طور پر کام کرتا ہے۔ آخر میں، سینسر کے SCL پن کو Arduino کے A5 پن سے جوڑیں، جو کلاک لائن کے طور پر کام کرتا ہے۔ یقینی بنائیں کہ قابل اعتماد مواصلات برقرار رکھنے کے لیے تمام کنکشن محفوظ ہیں۔
اگر آپ مختلف بورڈ استعمال کر رہے ہیں، تو SDA اور SCL پن مختلف ہو سکتے ہیں، لہذا اپنے بورڈ کی خصوصیات چیک کریں۔ ویڈیو میں، متبادل وائرنگ کے اختیارات پر مختصراً بحث کی گئی ہے (ویڈیو میں 1:30 پر)۔
کوڈ مثالیں اور واک تھرو
اب ہم اس کوڈ کو دیکھیں گے جو HTU21D سینسر کے ساتھ انٹرفیس کرتا ہے۔ پہلے، ہمیں I2C کمیونیکیشن اور HTU21D سینسر کے لیے ضروری لائبریریز شامل کرنی ہوں گی۔ درج ذیل اقتباس سیٹ اپ فنکشن دکھاتا ہے:
void setup() {
Serial.begin(9600);
if (!htu.begin()) {
Serial.println("Couldn't find sensor!");
while (1);
}
}
یہاں، ہم سیریل مانیٹر کو 9600 کی بوڈ ریٹ پر شروع کرتے ہیں۔ پھر ہم htu.begin() کے ساتھ سینسر کو شروع کرنے کی کوشش کرتے ہیں۔ اگر سینسر نہ ملے تو پروگرام ایک خرابی کا پیغام پرنٹ کرے گا اور رک جائے گا۔
اگلا، ہم لوپ فنکشن میں درجہ حرارت اور نمی کی قدریں مسلسل پڑھتے ہیں:
void loop() {
float temp = htu.readTemperature();
float rel_hum = htu.readHumidity();
Serial.print("Temperature: "); Serial.print(temp); Serial.println(" C");
Serial.print("Humidity: "); Serial.print(rel_hum); Serial.println(" %");
delay(500);
}
اس لوپ میں، ہم htu.readTemperature() کا استعمال کرتے ہوئے درجہ حرارت پڑھتے ہیں اور اسے temp متغیر میں محفوظ کرتے ہیں۔ اسی طرح، ہم htu.readHumidity() کے ساتھ نمی پڑھتے ہیں۔ پھر قدریں ہر 500 ملی سیکنڈ میں سیریل مانیٹر پر پرنٹ کی جاتی ہیں۔
زیادہ منظم طریقے کے لیے، آپ ریڈنگز کو سنبھالنے کے لیے فنکشنز کی وضاحت کر سکتے ہیں۔ مکمل کوڈ اس مضمون کے نیچے لوڈ ہوگا، جو آپ کو زیر بحث تمام فعالیتوں تک مکمل رسائی فراہم کرے گا۔
مظاہرہ / کیا توقع کریں
جب آپ کوڈ کو اپنے Arduino پر اپ لوڈ کرتے ہیں اور سیریل مانیٹر کھولتے ہیں، تو آپ کو درجہ حرارت اور نمی کی مسلسل ریڈنگز نظر آئیں گی۔ قدریں ہر آدھے سیکنڈ میں اپ ڈیٹ ہوں گی۔ اگر سینسر اپنی زیادہ سے زیادہ حد 125 °C سے اوپر کا درجہ حرارت محسوس کرتا ہے، تو یہ صفر یا غلط قدریں ظاہر کر سکتا ہے۔ یہ ایک عام مسئلہ ہے جس پر ٹیسٹنگ کے دوران نظر رکھنا چاہیے (ویڈیو میں 4:30 پر)۔
ویڈیو ٹائم اسٹیمپس
- [00:00] تعارف
- [00:22] سینسر کا جائزہ
- [01:22] ڈیٹاشیٹ کا جائزہ
- [02:28] وائرنگ
- [03:03] لائبریری انسٹالیشن
- [04:05] کوڈ کی وضاحت (حصہ 1)
- [08:33] کوڈ کی وضاحت (حصہ 2)
- [07:34] لائیو مظاہرہ
یہ ٹیوٹوریل کا حصہ ہے: ڈیجیٹل رشتہ دار نمی اور درجہ حرارت سینسر HTU21D
- Lesson 35-1: Using the HTU21D Temperature Sensor
- Lesson 35-2: Using the HTU21D Temperature Sensor Custom Code
- Lesson 36: Using the HTU21D Temperature Sensor with an LCD Arduino Step-by-Step Course
- Using Two More HTU21DF Humidity and Temperature Sensors with Arduino
- Displaying Temperature from an HTU21D on an LCD
- Displaying Temperature from an HTU21D as a Bar Graph on an LCD
- How to Use the HTU21DF Humidity and Temperature Sensor with Arduino (Basic Code)
- How to Use the HTU21DF Humidity and Temperature Sensor with Arduino (Custom Code)
++
/***************************************************
This is an example for the HTU21D-F Humidity & Temperature Sensor
Designed specifically to work with the HTU21D-F sensor from Adafruit
----> https://www.adafruit.com/products/1899
These module use I2C to communicate; 2 pins are required to
interface
****************************************************/
#include <Wire.h>
#include "Adafruit_HTU21DF.h"
// Connect Vin to 3-5VDC
// Connect GND to ground
// Connect SCL to I2C clock pin (A5 on UNO)
// Connect SDA to I2C data pin (A4 on UNO)
Adafruit_HTU21DF htu1 = Adafruit_HTU21DF();//create object for first HTU21DF sensor
Adafruit_HTU21DF htu2 = Adafruit_HTU21DF();//create object for second HTU21DF sensor
//Adafruit_HTU21DF htu3 = Adafruit_HTU21DF();//create object for third HTU21DF sensor (disabled, remove // from begging of code)
void setup() {
Serial.begin(9600);
Serial.println("HTU21D-F test for two modules");
if (!htu.begin()) {
Serial.println("Couldn't find sensor!");
while (1);
}
}
void loop() {
//get value for sensor 1
float temp1 = htu1.readTemperature();
float rel_hum1 = htu1.readHumidity();
//get value for sensor 2
float temp2 = htu2.readTemperature();
float rel_hum2 = htu2.readHumidity();
//get value for sensor 3
float temp3 = htu3.readTemperature();
float rel_hum3 = htu3.readHumidity();
//print values for sensor 1
Serial.print("Sensor 1 Temp : "); Serial.print(temp1); Serial.print(" C");
Serial.print("\t\t");
Serial.print("Sensor 1 Humidity: "); Serial.print(rel_hum1); Serial.println(" %");
//print values for sensor 2
Serial.print("Sensor 2 Temp : "); Serial.print(temp2); Serial.print(" C");
Serial.print("\t\t");
Serial.print("Sensor 2 Humidity: "); Serial.print(rel_hum2); Serial.println(" %");
//print values for sensor 3
//Serial.print("Sensor 3 Temp : "); Serial.print(temp3); Serial.print(" C");
//Serial.print("\t\t");
//Serial.print("Sensor 3 Humidity: "); Serial.print(rel_hum3); Serial.println(" %");
delay(500);
}
آپ کو جن چیزوں کی ضرورت ہو سکتی ہے
-
ایمیزون
-
ای بےPurchase HTU21D from eBayebay.us
-
علی ایکسپریسPurchase HTU21D or SHT21 from AliExpresss.click.aliexpress.com
وسائل اور حوالہ جات
-
باہرونیAdafruit HTU21D Library (GitHub)github.com
-
باہرونیDifference between HTU21DF and HTU21D (image)robojax.com
-
باہرونی
-
باہرونیHTU21D Datasheet (PDF)cdn-shop.adafruit.com
فائلیں📁
آرڈوینو لائبریریاں (زپ)
-
Adafruit HTU21DF library (Robojax.com)
robojax_HTU21DF_Adafruit_HTU21DF_Library-master.zip0.01 MB