ESP32 - Arduino IDE کے ساتھ پش بٹن

Esp32 Arduino Ide K Sat Psh B N



ESP32 ایک IoT بورڈ ہے جسے آؤٹ پٹ پیدا کرنے کے لیے مختلف بیرونی پیری فیرلز کے ساتھ انٹرفیس کیا جا سکتا ہے۔ ESP32 پش بٹن جیسے آلات سے ان پٹ لیتا ہے اور موصول ہونے والے ان پٹ کے مطابق جوابات تیار کرتا ہے۔ پش بٹن کا استعمال متعدد سینسرز اور آلات کو کنٹرول کرنے کے لیے کیا جا سکتا ہے جیسے کہ ایل ای ڈی کو کنٹرول کرنا یا موٹرز کی رفتار کو برقرار رکھنا۔ یہاں اس سبق میں، ہم ESP32 کے ساتھ پش بٹن کے انٹرفیسنگ پر بات کریں گے۔

اس سبق کے لیے مندرجات کا جدول درج ذیل ہے:







1: پش بٹن کا تعارف



2: پش بٹن کا کام کرنا



2.1: پش بٹن ورکنگ موڈز





3: ESP32 کے ساتھ انٹرفیسنگ پش بٹن

3.1: ESP32 میں ڈیجیٹل ان پٹ آؤٹ پٹ پن



3.2: ESP32 میں ڈیجیٹل ان پٹ کیسے پڑھیں

3.3: ڈیجیٹل ریڈ فنکشن کا استعمال کرتے ہوئے ESP32 کے ساتھ پش بٹن کو انٹرفیس کرنا

3.4: ہارڈ ویئر کی ضرورت ہے۔

3.5: اسکیمیٹک

3.6: پش بٹن کے ساتھ ESP32 کو انٹرفیس کرنے کا کوڈ

3.7: آؤٹ پٹ

1: پش بٹن کا تعارف

پش بٹن ایک سادہ بٹن ہے جس میں مختلف مشینوں یا عمل کی حالتوں کو کنٹرول کرنے کا طریقہ کار ہوتا ہے۔ پش بٹن پلاسٹک یا دھات جیسے سخت مواد سے بنا ہوتا ہے اور اوپر کی سطح عام طور پر چپٹی ہوتی ہے جو صارفین کو اسے دبانے کی اجازت دیتی ہے۔

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

آئیے پش بٹن کے کام کرنے والے اصول کو تفصیلات میں دیکھتے ہیں:

2: پش بٹن کا کام کرنا

ایک پش بٹن میں عام طور پر 4 پن ہوتے ہیں۔ یہ 4 پن ایک جوڑے کی شکل میں جڑے ہوئے ہیں جیسے دو اوپری پن اندرونی طور پر جڑے ہوئے ہیں اسی طرح باقی دو بھی اندرونی طور پر جڑے ہوئے ہیں۔


یہ جاننے کے لیے کہ کون سے دو پن جڑے ہوئے ہیں، ایک ملٹی میٹر (DMM) لیں اور اسے سیٹ کریں۔ تسلسل ٹیسٹ ، اب بٹن کی کسی بھی ٹانگ کے ساتھ مثبت پروب کو جوڑیں اور پھر ایک ایک کرکے ملٹی میٹر کے منفی پروب کو دوسری ٹانگوں کے ساتھ جوڑیں۔ اگر دونوں سروں کے درمیان کنکشن مکمل ہو جائے تو ملٹی میٹر سے بیپ کی آواز سنی جا سکتی ہے۔ وہ دو ٹانگیں جو اندرونی طور پر جڑی ہوئی ہیں سرکٹ کو مکمل کریں گی۔

2.1: پش بٹن ورکنگ موڈز

سرکٹ میں پش بٹن استعمال کرنے کے لیے ہمیں اندرونی طور پر جڑے ہر ایک جوڑے سے ایک پن کی ضرورت ہوتی ہے۔ اگر ہم اسی جوڑے سے پش بٹن کی پن لیں جو اندرونی طور پر جڑے ہوئے ہیں تو اس کے نتیجے میں شارٹ سرکٹ ہو جائے گا کیونکہ یہ پہلے سے جڑے ہوئے ہیں یہ پش بٹن کے طریقہ کار کو نظرانداز کر دے گا۔

اس میکانزم کی بنیاد پر پش بٹن درج ذیل دو طریقوں میں کام کر سکتا ہے۔


اگر ہم ذیل کی تصویر میں دکھائے گئے موڈ کی مثال لیں۔ ہم دیکھ سکتے ہیں کہ جب بٹن نہیں دبایا جاتا ہے تو اندرونی کنکشن کھل جاتا ہے جب بٹن دبایا جاتا ہے تو اندرونی A اور B ٹرمینل منسلک ہو جائیں گے اور سرکٹ مکمل ہو جائے گا۔


اب ہم نے پش بٹنوں کے کام کرنے کے پیچھے بنیادی اصول کو مکمل کر لیا ہے۔ اس کے بعد ہم ESP32 کے ساتھ ایک سادہ پش بٹن انٹرفیس کریں گے اور اس کا استعمال کرتے ہوئے ایل ای ڈی کو کنٹرول کریں گے۔

3: ESP32 کے ساتھ انٹرفیسنگ پش بٹن

ESP32 کے ساتھ پش بٹن کو انٹرفیس کرنے سے پہلے GPIO پنوں کو جاننا چاہیے جنہیں بطور ان پٹ استعمال کیا جا سکتا ہے۔ اب ہم ESP32 میں ڈیجیٹل ان پٹ آؤٹ پٹ پن پر بات کریں گے۔

3.1: ESP32 میں ڈیجیٹل ان پٹ آؤٹ پٹ پن

ESP32 میں کل ہے۔ 48 پن جن میں سے ہر ایک مخصوص فنکشن کے لیے مخصوص ہوتا ہے، 48 پنوں میں سے کچھ جسمانی طور پر بے نقاب نہیں ہوتے جس کا مطلب ہے کہ ہم انہیں بیرونی مقاصد کے لیے استعمال نہیں کر سکتے۔ یہ پن مختلف افعال کے لیے ESP32 کے اندر مربوط ہیں۔

ESP32 بورڈ میں 2 مختلف قسمیں ہیں۔ 36 پن اور 30 پن یہاں دونوں بورڈز کے درمیان 6 پنوں کا فرق ہے کیونکہ 6 مربوط SPI فلیش پنز SPI کمیونیکیشن کے لیے دستیاب ہیں۔ 36 ESP32 بورڈ کے پنوں کی قسم۔ تاہم، یہ 6 SPI پن دوسرے مقاصد جیسے کہ ان پٹ آؤٹ پٹ کے لیے استعمال نہیں کیے جا سکتے۔

نیچے دیا گیا پن آؤٹ کا ہے۔ 30 پن ESP32 بورڈ:


تمام GPIO میں صرف 4 پن ( 34، 35، 36 اور 39 ) صرف ان پٹ ہیں جب کہ دیگر تمام پن ان پٹ اور آؤٹ پٹ دونوں کے لیے استعمال کیے جا سکتے ہیں۔ جیسا کہ اوپر بتایا گیا ہے کہ 6 SPI پنوں کو ان پٹ یا آؤٹ پٹ کے لیے استعمال نہیں کیا جا سکتا۔

3.2: ESP32 میں ڈیجیٹل ان پٹ کیسے پڑھیں

پش بٹن ان پٹ کو ایک مقررہ GPIO پن پر پڑھا جا سکتا ہے جس کے لیے ایک فنکشن پن موڈ() پہلے Arduino کوڈ کے اندر وضاحت کرنے کی ضرورت ہے۔ یہ فنکشن GPIO پن کو بطور ان پٹ سیٹ کرے گا۔ پن موڈ() فنکشن نحو درج ذیل ہے:

پن موڈ ( جی پی آئی او، ان پٹ ) ;


ایک متعین GPIO پن سے ڈیٹا پڑھنے کے لیے ڈیجیٹل ریڈ () فنکشن کہا جائے گا۔ مندرجہ ذیل کمانڈ ہے جو ایک GPIO پن پر پش بٹن سے ڈیٹا لینے کے لیے استعمال کر سکتا ہے:

ڈیجیٹل ریڈ ( جی پی آئی او ) ;

3.3: ڈیجیٹل ریڈ فنکشن کا استعمال کرتے ہوئے ESP32 کے ساتھ پش بٹن کو انٹرفیس کرنا

اب ہم پش بٹن کا استعمال کرتے ہوئے ESP32 کو انٹرفیس کریں گے۔ ڈیجیٹل پڑھنا کسی بھی GPIO پن پر فنکشن۔ پش بٹن سے ان پٹ لینے سے ایل ای ڈی آن یا آف ہو جائے گی۔

3.4: ہارڈ ویئر کی ضرورت ہے۔

ذیل میں مطلوبہ اجزاء کی فہرست ہے:

    • ESP32 بورڈ
    • ایک ایل ای ڈی
    • 220 اوہم مزاحم
    • 4 پن پش بٹن
    • بریڈ بورڈ
    • جمپر تاروں کو جوڑ رہا ہے۔

3.5: اسکیمیٹک

ذیل کی تصویر ESP32 کے ساتھ پش بٹن کا اسکیمیٹک ڈایاگرام ہے۔ یہاں ان پٹ کو GPIO پن 15 پر پش بٹن سے پڑھا جاتا ہے، اور LED GPIO پن 14 پر منسلک ہوتا ہے۔

3.6: ESP32 کے ساتھ پش بٹن کو انٹرفیس کرنے کا کوڈ

اب ESP32 پر کوڈ اپ لوڈ کرنے کے لیے Arduino IDE ایڈیٹر استعمال کیا جائے گا۔ IDE کھولیں اور ESP32 بورڈ کو جوڑیں اس کے بعد ٹول سیکشن سے COM پورٹ کو منتخب کریں۔ ایک بار جب ESP32 بورڈ تیار ہو جائے تو IDE میں کوڈ چسپاں کریں اور اپ لوڈ پر کلک کریں:

const int Push_Button = پندرہ ; /* ڈیجیٹل پن پندرہ تعریف کے لیے دبانے والا بٹن */
const int LED_Pin = 14 ; /* ڈیجیٹل پن 14 تعریف کے لیے ایل. ای. ڈی */
int Button_State = 0 ;
باطل سیٹ اپ ( ) {
سیریل شروع کریں۔ ( 115200 ) ;
پن موڈ ( پش_بٹن، INPUT ) ; /* جی پی آئی او پندرہ سیٹ کے طور پر ان پٹ */
پن موڈ ( LED_Pin، آؤٹ پٹ ) ; /* جی پی آئی او 14 سیٹ کے طور پر آؤٹ پٹ */
}
باطل لوپ ( ) {
بٹن_اسٹیٹ = ڈیجیٹل ریڈ ( دبانے والا بٹن ) ; /* پش بٹن کی حالت چیک کریں۔ */
Serial.println ( بٹن_اسٹیٹ ) ;
اگر ( بٹن_اسٹیٹ == ہائی ) { /* اگر بٹن کی حیثیت چیک کرنے کی شرط */
ڈیجیٹل رائٹ ( LED_Pin، HIGH ) ; /* ہائی اسٹیٹ ایل ای ڈی آن */
} اور {
ڈیجیٹل رائٹ ( LED_Pin، LOW ) ; /* ورنہ ایل ای ڈی آف */
}
}


کوڈ LED اور پش بٹن کے لیے GPIO پنوں کی وضاحت کر کے شروع ہوا۔ اس کے بعد LED GPIO کو آؤٹ پٹ قرار دیا جاتا ہے جبکہ پش بٹن GPIO کو ان پٹ کے طور پر سیٹ کیا جاتا ہے۔

آخر میں اگر شرط کا استعمال کرتے ہوئے پش بٹن کی حالت کو چیک کیا گیا۔ پش بٹن کی حالت بھی سیریل مانیٹر پر پرنٹ کی جاتی ہے۔ Serial.println(Button_State) .

اگر پش بٹن ان پٹ ہائی لیڈ ہے تو یہ آن ہو جائے گا، یہ بند رہے گا۔

3.7: آؤٹ پٹ

سب سے پہلے، ہم دیکھ سکتے ہیں کہ ایل ای ڈی بند ہے.


اب پش بٹن دبائیں ESP32 GPIO 15 پر ایک ہائی سگنل بھیجا جائے گا اور LED آن ہو جائے گی۔


اسی آؤٹ پٹ کو Arduino سیریل مانیٹر پر بھی دیکھا جا سکتا ہے۔

نتیجہ

ESP32 میں متعدد GPIO پن ہیں جو پش بٹن جیسے سینسر سے ڈیجیٹل ڈیٹا پڑھ سکتے ہیں۔ ڈیجیٹل ریڈ فنکشن پش بٹن کا استعمال کرتے ہوئے مختلف آلات کو کنٹرول کرنے کے لیے ESP32 کے ساتھ آسانی سے انٹرفیس کیا جا سکتا ہے۔ اس مضمون کو ایک بار استعمال کرنے سے ESP32 کے کسی بھی GPIO پن کے ساتھ پش بٹن انٹرفیس کیا جا سکتا ہے۔