IOT

سٹون ڈسپلے کا استعمال کرتے ہوئے گھڑی اور ہوم آٹومیشن

مواد

  1. Description
  2. GUI ڈیزائن

3 .سرکٹ ڈایاگرام

  1. ضابطے
  2. ویڈیو

Description

اس پروجیکٹ میں ہم ایک گھڑی اور ایک آٹومیشن سسٹم ڈیزائن کرنے جا رہے ہیں جس کی مدد سے ہم گھر کی لائٹ کو آن یا آف کر سکتے ہیں اور ایسی گھڑی بھی ہے جو وقت اور تاریخ دکھائے گی۔

اس کے لیے ہم استعمال کر رہے ہیں۔ TFT ڈسپلے (STONE-HMI)اس ڈسپلے میں ایک سافٹ ویئر ہے جو ایک GUI سافٹ ویئر ہے اس کی مدد سے ہم انٹرفیس ڈیزائن کرنے جا رہے ہیں جس میں سیکشن کلاک اور آٹومیشن دونوں شامل ہوں گے۔ GUI سافٹ ویئر ڈاؤن لوڈ کریں۔ یہاں کلک کریں

گھڑی کے حصے کی ڈیزائننگ:-

آئیے سب سے پہلے گھڑی کے حصے کو ڈیزائن کرتے ہیں، سب سے پہلے ہمیں وہ تمام تصاویر شامل کرنی ہیں جو فولڈر میں دی گئی ہیں کلک کریں۔ یہاں

STONE ڈسپلے IOT PlatoBlockchain ڈیٹا انٹیلی جنس کا استعمال کرتے ہوئے گھڑی اور ہوم آٹومیشن۔ عمودی تلاش۔ عیجیسا کہ آپ بائیں جانب دیکھ سکتے ہیں کہ تصویر فائل کے سیکشن میں تمام تصاویر شامل کی گئی ہیں۔ اب امیج '14' پر کلک کریں آپ کو یہ انٹرفیس اسی طرح ملے گا جیسا کہ آپ تصویر میں دیکھ رہے ہیں۔ اب وقت سیٹ کرنے کے لیے ٹچ کنفیگریشن سے 'RTC' کو منتخب کریں۔ اور تاریخ اور تمام کنفیگریشن کریں اس کے لیے پہلے 'صفحہ میں' تصویر کو بطور تصویر نمبر 6 شامل کریں جو کہ سیٹنگ کے وقت استعمال ہوگا۔ اس فارمیٹ میں ہو

STONE ڈسپلے IOT PlatoBlockchain ڈیٹا انٹیلی جنس کا استعمال کرتے ہوئے گھڑی اور ہوم آٹومیشن۔ عمودی تلاش۔ عی

'1' - 0031 کے لیے

'2' - 0031 کے لیے

'3' - 0031 کے لیے

'4' - 0031 کے لیے

'5' - 0031 کے لیے

'6' - 0031 کے لیے

'7' - 0031 کے لیے

'8' - 0031 کے لیے

'9' - 0031 کے لیے

'0' - 0030 کے لیے

'OK' - 00F1 کے لیے

اس کے بعد تمام بٹنوں کے لیے تصویر نمبر 7 کے بطور بٹن اثر شامل کریں تاکہ اس حصے کے ذریعے گھڑی کی سیٹنگ کی جائے گی۔

اسی طرح اوپر سے ڈائل کلاک شامل کریں اور اس کے لیے تمام، گھنٹہ، منٹ اور سیکنڈ ہینڈ شامل کریں اس کے لیے پہلے ہمیں ان ہاتھوں کے لیے آئیکن بنانا ہے اس لیے آئیکن جنریٹر پر جائیں اور ان تصاویر کو منتخب کریں آپ کو سیکشن میں ایک نیا فولڈر ملے گا۔ یہاں سے 'آئیکن فائل' میں سے آپ کو ہاتھ کی ضروریات کے مطابق تمام آئیکن کو منتخب کرنا ہوگا۔ اس کے بعد گھڑی کے ہاتھوں کی ضروریات کے مطابق تمام آئیکن کو منتخب کریں، اور اس طریقہ کار کے ساتھ گھڑی کے لیے ہر ہاتھ کے درمیان کا انتخاب کرنا نہ بھولیں۔ اب یہ ہو جائے گا ہمیں آٹومیشن کے حصے کے لیے جانا ہے اور اس کے لیے ہم نے آٹومیشن کی علامت شامل کی ہے جیسا کہ آپ اوپر کی تصویر میں دیکھ سکتے ہیں، اس بٹن کو منتخب کریں اور اس بٹن کو اس آٹومیٹن آئیکون کے حصے میں رکھیں اور پھر ' صفحہ سوئچ' بطور امیج-1 کیونکہ یہ آٹومیشن کے لیے امیج ہے اس کے بعد مزید ڈیزائننگ کے لیے امیج-1 کو منتخب کریں۔

آٹومیشن پارٹ ڈیزائننگ:-

STONE ڈسپلے IOT PlatoBlockchain ڈیٹا انٹیلی جنس کا استعمال کرتے ہوئے گھڑی اور ہوم آٹومیشن۔ عمودی تلاش۔ عیآئیے اس کے لیے آٹومیشن کا حصہ ڈیزائن کریں ہمیں Arduino کو ایک ایڈریس پر مخصوص کلید کی قیمت بھیجنے کی ضرورت تھی، یہاں ہم تمام کلیدی قدر کے لیے '0001' استعمال کر رہے ہیں۔ فین(ON) بٹن کے لیے ہم '0001' کلیدی قدر بھیج رہے ہیں اور فین (OFF) کے لیے ) ہم '0002' کلیدی قدر بھیج رہے ہیں اسی طرح ہم تمام آلات کے لیے تمام مخصوص قیمت بھیج رہے ہیں۔ یہاں ہم نے کلاک GUI پر سوئچ کرنے کے لیے ایک بٹن بھی شامل کیا ہے جو اس انٹرفیس سے کلاک انٹرفیس میں جانے میں مدد کرے گا۔

پیج سوئچ کے لیے ہم 'بٹن' استعمال کر رہے ہیں جو بائیں اوپر رکھا گیا ہے اور آٹومیشن بٹن کے لیے ہم 'ریٹرن پریس کی ویلیو' فنکشن استعمال کر رہے ہیں جس کے دو پیرامیٹر ہیں پہلے ایڈریس ویلیو اور دوسری کلیدی ویلیو ہے جیسا کہ ہم نے اوپر بتایا ہے۔ ہر آٹومیشن بٹن کے لیے مختلف کلیدی قدر کا استعمال کرنا۔

سرکٹ ڈایاگرام

STONE ڈسپلے IOT PlatoBlockchain ڈیٹا انٹیلی جنس کا استعمال کرتے ہوئے گھڑی اور ہوم آٹومیشن۔ عمودی تلاش۔ عیجیسا کہ آپ کنکشن میں دیکھ سکتے ہیں کہ تین ایل ای ڈی لائٹ-1، لائٹ-2 ہیں اور پنکھے کے لیے ہم یہاں صرف ایل ای ڈی استعمال کر رہے ہیں لیکن آپ اصل آلات کو اس سے جوڑ سکتے ہیں۔ لائٹ-1 Arduino کے پن-D6 سے جڑیں، لائٹ- 2 Arduino کے پن-D7 سے جڑیں، اسی طرح کا پنکھا D5 کے ساتھ Arduino کے ساتھ جڑیں۔ اور Rx اور Tx کے لیے سرکٹ ڈایاگرام کے مطابق کنکشن کریں۔ یہاں ہم نے Tx کو پن-2 کے ساتھ اور Rx کو Arduino کے پن-3 کے ساتھ جوڑ دیا ہے۔ Arduino کوڈ کے مطابق۔ آئیے مزید آگے بڑھتے ہیں کہ یہ کوڈ کے ساتھ کیسے کام کر رہا ہے۔

سیریل کمیونیکیشنز کی مختلف اقسام ہیں۔ جب آپ کسی پروجیکٹ پر Arduino بورڈ استعمال کرتے ہیں تو آپ Arduino بورڈ کے اندر UART سے Arduino سافٹ ویئر سیریل Rx Tx کے طور پر معیاری سیریل پنوں کا انتخاب کرسکتے ہیں، اس لیے اسے سیریل ٹی ٹی ایل کہا جاتا ہے۔ اس صورت میں، ہم Hardware serial.h لائبریری کا استعمال کر رہے ہیں، لیکن کچھ اضافی پن Rx یا Tx کے طور پر کام کر سکتے ہیں۔ مثال کے طور پر، ایس پی آئی کمیونیکیشن پن ایک MISO، MOSI اور سلیکٹ (SC) کے طور پر کام کر سکتے ہیں، لیکن یہ ایسے پن بھی ہیں جو ڈیجیٹل ان پٹ یا ڈیجیٹل آؤٹ پٹ کے طور پر کام کر سکتے ہیں، یا اگر آپ کو ضرورت ہو تو آپ سافٹ ویئر سیریل کا استعمال کرتے ہوئے ان پنوں کو Rx، Tx کے طور پر استعمال کر سکتے ہیں۔ .h لائبریری. 

آئیے یہ جاننے کے لیے آگے بڑھتے ہیں کہ کوڈ کیسے کام کر رہا ہے۔ 

کوڈ:- 

#شامل // سافٹ ویئر سیریل لائبریری

SoftwareSerial max232(2,3);

چار ڈیٹا؛ 

اسٹرنگ اسٹرنگ؛

int f = 5; // پنکھے کے لیے پن

int l1 = 6; // روشنی-1 کے لیے پن

int l2 = 7; // روشنی-2 کے لیے پن

باطل سیٹ اپ ()

{

Serial.begin(115200); // یہاں Baudrate 115200 ہے۔

max232.begin(115200)؛

پن موڈ (f، آؤٹ پٹ)؛     

ڈیجیٹل رائٹ (f، LOW)؛ 

پن موڈ (l1، آؤٹ پٹ)؛    

ڈیجیٹل رائٹ (l1، LOW)؛

پن موڈ (l2، آؤٹ پٹ)؛    

ڈیجیٹل رائٹ (l2، LOW)؛

}

باطل لوپ ()

{

اگر (max232.available()>0)

 {

   ڈیٹا = max232.read();

   mystring = mystring + بائٹ (ڈیٹا)؛ 

   تاخیر (10)؛

 }

دوسری صورت میں اگر (mystring.endsWith(“101”)) // فین آن کے لیے شرط

  {

    mystring = ""؛ 

   digitalWrite(f,HIGH)؛

  }

ورنہ اگر (mystring.endsWith(“102”)) //کنڈیش آف فین آف کے لیے

  {

   mystring = ""؛ 

   ڈیجیٹل رائٹ(f,LOW)؛

  }

else if (mystring.endsWith(“103”)) //لائٹ-1 آن کے لیے شرط

  {

  mystring = ""؛ 

  ڈیجیٹل رائٹ (l1، HIGH)؛

  }

ورنہ اگر (mystring.endsWith(“104”)) //لائٹ-1 آف کے لیے شرط

  {

   mystring = ""؛ 

   ڈیجیٹل رائٹ (l1، LOW)؛

  }

else if (mystring.endsWith(“105”)) //لائٹ-2 آن کے لیے شرط

  {

  mystring = ""؛ 

  ڈیجیٹل رائٹ (l2، HIGH)؛

  }

ورنہ اگر (mystring.endsWith(“106”)) //لائٹ-2 آف کے لیے شرط

  {

   mystring = ""؛ 

   ڈیجیٹل رائٹ (l2، LOW)؛

  }

دوسری صورت میں اگر (mystring.endsWith(“107”)) // تمام آلات کے لیے شرط آن

  {

   mystring = ""؛ 

   ڈیجیٹل رائٹ (l1، HIGH)؛

   ڈیجیٹل رائٹ (l2، HIGH)؛

   digitalWrite(f,HIGH)؛

  }

دوسری صورت میں اگر (mystring.endsWith(“108”)) // تمام آلات کے لیے شرط بند

  {

   mystring = ""؛ 

   ڈیجیٹل رائٹ (l1، LOW)؛

   ڈیجیٹل رائٹ (l2، LOW)؛

   ڈیجیٹل رائٹ(f,LOW)؛

  }

}

کام کرنا:-

جیسا کہ ہم نے بحث کی ہے کہ ہم سافٹ ویئر سیریل لائبریری کا استعمال کر رہے ہیں ایک ایڈریس پر کلیدی قدر کو منتقل کرنے کے لیے، اس کے لیے ہم نے شامل کیا ہے۔ اس کوڈ میں یہ Arduino اور STON-HMI ڈسپلے کو جوڑنے کے لیے انٹرفیس فراہم کرتا ہے۔ اس کے بعد ہم نے ایل ای ڈی اور پنکھے کے لیے جو کچھ بھی استعمال کر رہے ہیں ان تمام آؤٹ پٹ پن کو ڈیکلیئر کر دیا ہے، ان ڈیوائسز کے لیے ہم نے ان پنوں کو آؤٹ پٹ قرار دیا ہے پھر باؤڈ ریٹ سیٹ کریں۔ سافٹ ویئر سیریل لائبریری کے لیے۔ یہ سب باطل سیٹ اپ حصے میں کیا گیا ہے اب آئیے ان آلات کے لیے کنڈیشن بنانے کے لیے آگے بڑھتے ہیں جو ہم استعمال کر رہے ہیں، اس حصے کو void لوپ میں شامل کیا گیا ہے کیونکہ یہ کئی بار دہرایا جائے گا جب ہم دبائیں گے۔ ڈسپلے پر بٹن.

void لوپ سیکشن میں ڈیوائسز کے لیے چار شرطیں ہیں۔ پہلی شرط فین آن اور آف کے لیے ہے یہاں ہم آن کنڈیشن کے لیے '0001' کلیدی ویلیو بھیج رہے ہیں اور '0002' ایڈریس پر آف کنڈیشن کے لیے '0001' یہ ایڈریس ہے۔ تمام ڈیوائسز کے لیے یکساں۔ دوسرے ڈیوائس کے لیے جو لائٹ-1 کے لیے ہے ہم '0003' آن کنڈیشن کے لیے اور '0004' آف کنڈیشن کے لیے بھیج رہے ہیں، اسی طرح لائٹ-2 '0005' آن کے لیے اور '0006' آف کنڈیشن کے لیے بھیج رہے ہیں۔ اس طرح یہ حالات انفرادی ڈیوائس کے لیے کام کر رہے ہیں۔

تمام آلات کو ایک ساتھ بند کرنے یا آن کرنے کے لیے ایک اور شرط ہے اس کے لیے ہم '0007' آن کے لیے اور '0008' آف کے لیے استعمال کر رہے ہیں۔

آؤٹ پٹ ویڈیو:-

STONE ڈسپلے IOT PlatoBlockchain ڈیٹا انٹیلی جنس کا استعمال کرتے ہوئے گھڑی اور ہوم آٹومیشن۔ عمودی تلاش۔ عی

یہ اس پروجیکٹ کی آؤٹ پٹ ویڈیو ہے اس ویڈیو میں پہلے گھڑی کا سیٹ اپ دکھایا گیا ہے اور اس میں آٹومیشن کا کام کیا جا رہا ہے جیسا کہ آپ ویڈیو میں دیکھ رہے ہیں۔

یہ آؤٹ پٹ ویڈیو ہے جسے آپ اس ویڈیو پر کلک کر کے ڈاؤن لوڈ کر سکتے ہیں۔ ہم نے اس سے متعلق تمام ڈیٹا شامل کر دیا ہے اگر آپ کو GUI ڈیزائننگ کے بارے میں کوئی شک ہے تو آپ پروجیکٹ فائل کو ڈاؤن لوڈ کر کے اسے براہ راست کھول سکتے ہیں اس صورت میں آپ کو اس کی ضرورت نہیں ہے۔ کسی بھی GUI کو ڈیزائن کریں آپ کو وہ ڈیزائن ملے گا جو ہم نے بنایا ہے۔ لیکن اگر آپ مختلف GUI ڈیزائن کرنا چاہتے ہیں تو آپ کو تمام مراحل پر عمل کرنا ہوگا۔

ضابطے

//اس پروجیکٹ کے بارے میں مزید معلومات کے لیے وزٹ کریں:- www.electrocircuit.net //

# شامل کریں

SoftwareSerial max232(2,3);

چار ڈیٹا؛ 

اسٹرنگ اسٹرنگ؛

int f = 5; 

int l1 = 6; 

int l2 = 7;  

باطل سیٹ اپ ()

{

سیریل.بیگین (115200)؛ 

max232.begin(115200)؛

پن موڈ (f، آؤٹ پٹ)؛ ////////RED////////

ڈیجیٹل رائٹ (f، LOW)؛ 

پن موڈ (l1، آؤٹ پٹ)؛ ////////سبز///////

ڈیجیٹل رائٹ (l1، LOW)؛

پن موڈ (l2، آؤٹ پٹ)؛ /////// نیلا////////

ڈیجیٹل رائٹ (l2، LOW)؛

}

باطل لوپ ()

{

اگر (max232.available()>0)

 {

   ڈیٹا = max232.read();

   mystring = mystring + بائٹ (ڈیٹا)؛ 

   تاخیر (10)؛

 }

ورنہ اگر (mystring.endsWith(“101”))

  {

    mystring = ""؛ 

   digitalWrite(f,HIGH)؛

  }

ورنہ اگر (mystring.endsWith(“102”))

  {

   mystring = ""؛ 

   ڈیجیٹل رائٹ(f,LOW)؛

  }

ورنہ اگر (mystring.endsWith(“103”))

  {

  mystring = ""؛ 

  ڈیجیٹل رائٹ (l1، HIGH)؛

  }

ورنہ اگر (mystring.endsWith(“104”))

  {

   mystring = ""؛ 

   ڈیجیٹل رائٹ (l1، LOW)؛

  }

ورنہ اگر (mystring.endsWith(“105”))

  {

  mystring = ""؛ 

  ڈیجیٹل رائٹ (l2، HIGH)؛

  }

ورنہ اگر (mystring.endsWith(“106”))

  {

   mystring = ""؛ 

   ڈیجیٹل رائٹ (l2، LOW)؛

  }

ورنہ اگر (mystring.endsWith(“107”))

  {

   mystring = ""؛ 

   ڈیجیٹل رائٹ (l1، HIGH)؛

   ڈیجیٹل رائٹ (l2، HIGH)؛

   digitalWrite(f,HIGH)؛

  }

ورنہ اگر (mystring.endsWith(“108”))

  {

   mystring = ""؛ 

   ڈیجیٹل رائٹ (l1، LOW)؛

   ڈیجیٹل رائٹ (l2، LOW)؛

   ڈیجیٹل رائٹ(f,LOW)؛

  }

}

ماخذ: پلیٹو ڈیٹا انٹیلی جنس