9.7 KiB
وائیو ٹرمینل پر درجہ حرارت کی پیمائش کریں
اس سبق کے اس حصے میں، آپ اپنے وائیو ٹرمینل میں ایک درجہ حرارت سینسر شامل کریں گے اور اس سے درجہ حرارت کی قدریں پڑھیں گے۔
ہارڈویئر
وائیو ٹرمینل کو ایک درجہ حرارت سینسر کی ضرورت ہے۔
جو سینسر آپ استعمال کریں گے وہ DHT11 نمی اور درجہ حرارت سینسر ہے، جو ایک پیکج میں دو سینسرز کو یکجا کرتا ہے۔ یہ کافی مشہور ہے، اور کئی تجارتی طور پر دستیاب سینسرز درجہ حرارت، نمی اور کبھی کبھار فضائی دباؤ کو یکجا کرتے ہیں۔ درجہ حرارت سینسر کا جزو ایک منفی درجہ حرارت کوفیسیئنٹ (NTC) تھرمسٹر ہے، ایک تھرمسٹر جس کی مزاحمت درجہ حرارت بڑھنے کے ساتھ کم ہوتی ہے۔
یہ ایک ڈیجیٹل سینسر ہے، اس لیے اس میں ایک آن بورڈ ADC موجود ہے جو ڈیجیٹل سگنل بناتا ہے جس میں درجہ حرارت اور نمی کے ڈیٹا شامل ہوتے ہیں، جنہیں مائیکرو کنٹرولر پڑھ سکتا ہے۔
درجہ حرارت سینسر کو جوڑیں
گروو درجہ حرارت سینسر کو وائیو ٹرمینل کے ڈیجیٹل پورٹ سے جوڑا جا سکتا ہے۔
کام - درجہ حرارت سینسر کو جوڑیں
درجہ حرارت سینسر کو جوڑیں۔
-
گروو کیبل کے ایک سرے کو نمی اور درجہ حرارت سینسر کے ساکٹ میں ڈالیں۔ یہ صرف ایک ہی سمت میں جائے گا۔
-
وائیو ٹرمینل کو اپنے کمپیوٹر یا کسی اور پاور سپلائی سے منقطع کریں، اور گروو کیبل کے دوسرے سرے کو وائیو ٹرمینل کے دائیں جانب گروو ساکٹ سے جوڑیں جب آپ اسکرین کو دیکھ رہے ہوں۔ یہ پاور بٹن سے سب سے دور ساکٹ ہے۔
درجہ حرارت سینسر کو پروگرام کریں
اب وائیو ٹرمینل کو منسلک درجہ حرارت سینسر استعمال کرنے کے لیے پروگرام کیا جا سکتا ہے۔
کام - درجہ حرارت سینسر کو پروگرام کریں
ڈیوائس کو پروگرام کریں۔
-
PlatformIO کا استعمال کرتے ہوئے ایک نیا وائیو ٹرمینل پروجیکٹ بنائیں۔ اس پروجیکٹ کا نام
temperature-sensor
رکھیں۔setup
فنکشن میں سیریل پورٹ کو ترتیب دینے کے لیے کوڈ شامل کریں۔⚠️ آپ پروجیکٹ 1، سبق 1 میں PlatformIO پروجیکٹ بنانے کی ہدایات کا حوالہ دے سکتے ہیں اگر ضرورت ہو۔
-
پروجیکٹ کے
platformio.ini
فائل میں Seeed Grove Humidity اور Temperature سینسر لائبریری کے لیے ایک لائبریری ڈیپینڈینسی شامل کریں:lib_deps = seeed-studio/Grove Temperature And Humidity Sensor @ 1.0.1
⚠️ آپ پروجیکٹ 1، سبق 4 میں PlatformIO پروجیکٹ میں لائبریریاں شامل کرنے کی ہدایات کا حوالہ دے سکتے ہیں اگر ضرورت ہو۔
-
فائل کے اوپر موجود
#include <Arduino.h>
کے تحت درج ذیل#include
ہدایات شامل کریں:#include <DHT.h> #include <SPI.h>
یہ سینسر کے ساتھ تعامل کرنے کے لیے ضروری فائلیں درآمد کرتا ہے۔
DHT.h
ہیڈر فائل سینسر کے لیے کوڈ پر مشتمل ہے، اورSPI.h
ہیڈر کو شامل کرنے سے یہ یقینی بنایا جاتا ہے کہ سینسر سے بات کرنے کے لیے ضروری کوڈ ایپ کے کمپائل ہونے پر لنک کیا جائے۔ -
setup
فنکشن سے پہلے، DHT سینسر کو ڈکلیئر کریں:DHT dht(D0, DHT11);
یہ
DHT
کلاس کا ایک انسٹینس ڈکلیئر کرتا ہے جو ڈیجیٹل ایچیومیڈیٹی اور ٹیمپریچر سینسر کو مینیج کرتا ہے۔ یہ پورٹD0
سے جڑا ہوا ہے، جو وائیو ٹرمینل پر دائیں جانب گروو ساکٹ ہے۔ دوسرا پیرامیٹر کوڈ کو بتاتا ہے کہ استعمال ہونے والا سینسر DHT11 سینسر ہے - آپ جو لائبریری استعمال کر رہے ہیں وہ اس سینسر کے دیگر ویریئنٹس کو بھی سپورٹ کرتی ہے۔ -
setup
فنکشن میں، سیریل کنکشن کو ترتیب دینے کے لیے کوڈ شامل کریں:void setup() { Serial.begin(9600); while (!Serial) ; // Wait for Serial to be ready delay(1000); }
-
setup
فنکشن کے آخر میں، آخریdelay
کے بعد، DHT سینسر کو شروع کرنے کے لیے ایک کال شامل کریں:dht.begin();
-
loop
فنکشن میں، سینسر کو کال کرنے اور سیریل پورٹ پر درجہ حرارت پرنٹ کرنے کے لیے کوڈ شامل کریں:void loop() { float temp_hum_val[2] = {0}; dht.readTempAndHumidity(temp_hum_val); Serial.print("Temperature: "); Serial.print(temp_hum_val[1]); Serial.println ("°C"); delay(10000); }
یہ کوڈ 2 فلوٹس کا ایک خالی ارے ڈکلیئر کرتا ہے، اور اسے
DHT
انسٹینس پرreadTempAndHumidity
کال میں پاس کرتا ہے۔ یہ کال ارے کو 2 قدروں سے بھر دیتی ہے - نمی ارے کے 0ویں آئٹم میں جاتی ہے (یاد رکھیں کہ C++ ارے 0 پر مبنی ہوتے ہیں، اس لیے ارے کا 'پہلا' آئٹم 0ویں آئٹم ہوتا ہے)، اور درجہ حرارت 1ویں آئٹم میں جاتا ہے۔درجہ حرارت ارے کے 1ویں آئٹم سے پڑھا جاتا ہے، اور سیریل پورٹ پر پرنٹ کیا جاتا ہے۔
🇺🇸 درجہ حرارت سیلسیئس میں پڑھا جاتا ہے۔ امریکیوں کے لیے، اسے فارن ہائیٹ میں تبدیل کرنے کے لیے، سیلسیئس ویلیو کو 5 سے تقسیم کریں، پھر 9 سے ضرب دیں، پھر 32 شامل کریں۔ مثال کے طور پر، 20°C کی درجہ حرارت ریڈنگ ((20/5)*9) + 32 = 68°F بن جاتی ہے۔
-
کوڈ کو کمپائل کریں اور وائیو ٹرمینل پر اپلوڈ کریں۔
⚠️ آپ پروجیکٹ 1، سبق 1 میں PlatformIO پروجیکٹ بنانے کی ہدایات کا حوالہ دے سکتے ہیں اگر ضرورت ہو۔
-
اپلوڈ ہونے کے بعد، آپ سیریل مانیٹر کا استعمال کرتے ہوئے درجہ حرارت کی نگرانی کر سکتے ہیں:
> Executing task: platformio device monitor < --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time --- More details at http://bit.ly/pio-monitor-filters --- Miniterm on /dev/cu.usbmodem1201 9600,8,N,1 --- --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H --- Temperature: 25.00°C Temperature: 25.00°C Temperature: 25.00°C Temperature: 24.00°C
💁 آپ اس کوڈ کو code-temperature/wio-terminal فولڈر میں تلاش کر سکتے ہیں۔
😀 آپ کا درجہ حرارت سینسر پروگرام کامیاب رہا!
ڈسکلیمر:
یہ دستاویز AI ترجمہ سروس Co-op Translator کا استعمال کرتے ہوئے ترجمہ کی گئی ہے۔ ہم درستگی کے لیے کوشش کرتے ہیں، لیکن براہ کرم آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا غیر درستیاں ہو سکتی ہیں۔ اصل دستاویز کو اس کی اصل زبان میں مستند ذریعہ سمجھا جانا چاہیے۔ اہم معلومات کے لیے، پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ ہم اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کے ذمہ دار نہیں ہیں۔