کوڈ تلاش کریں

سبق 98-8: پش بٹن اور ایل ای ڈیز کے ساتھ آرڈوینو سے چلنے والی روشنی

سبق 98-8: پش بٹن اور ایل ای ڈیز کے ساتھ آرڈوینو سے چلنے والی روشنی

یہ پروجیکٹ آپ کو دکھاتا ہے کہ "چلتی روشنی" کیسے بنائی جائے جو ہر بار پش بٹن دبانے پر ایک قدم آگے بڑھتی ہے۔ ایک ایسی روشنی کے بجائے جو اپنے ٹائمر پر چلتی ہے، آپ کو براہ راست، محسوس کنٹرول ملتا ہے: ہر دباؤ روشن LED کو ایک پوزیشن آگے بڑھاتا ہے، اور آخری LED کے بعد یہ واپس پہلی پر آ جاتی ہے۔ یہ Arduino سیکھنے میں سب سے زیادہ کارآمد بنیادی اکائیوں میں سے ایک ہے، کیونکہ یہ آپ کو سکھاتا ہے کہ ڈیجیٹل اِن پٹ (بٹن) کو گھومنے والی اسٹیٹ مشین (کون سی LED اس وقت روشن ہے) کے ساتھ کیسے جوڑا جائے — ایک ایسا نمونہ جسے آپ مسلسل دوبارہ استعمال کریں گے۔

5 leds on breadboard with push button shown connected to Arduino UNO
5 leds on breadboard with push button shown connected to Arduino UNO

ایک بار جب آپ یہ نمونہ سمجھ لیں، یہی منطق حقیقی پروجیکٹس کی ایک بہت بڑی رینج کو طاقت دیتی ہے۔ یہاں کچھ عملی آئیڈیاز ہیں جو آپ اس کے ساتھ بنا سکتے ہیں:

  • کسی ڈیوائس پر مینو سلیکٹر جہاں ہر دباؤ اگلے آپشن کو نمایاں کرتا ہے۔
  • کسی مشین یا عمل کے لیے ترتیبی قدم انڈیکیٹر (قدم 1، قدم 2، قدم 3...)۔
  • ایک اسکور یا لیول ڈسپلے جسے آپ بٹن سے دستی طور پر آگے بڑھاتے ہیں۔
  • لائٹنگ کنٹرولر کے لیے "اگلا چینل" یا "اگلا موڈ" انڈیکیٹر۔
  • ایک سادہ گیم یا کوئز بزر جہاں کھلاڑی باری باری اگلا لیمپ روشن کرتے ہیں۔
  • ایک ریلے یا لوڈ سیکوینسر جہاں ہر دباؤ ترتیب سے اگلا آؤٹ پٹ فعال کرتا ہے۔

خودکار چلتی روشنی پر کلیدی فائدہ کنٹرول ہے: جب تک آپ دبائیں نہیں کچھ نہیں ہوتا، لہٰذا روشنی صرف اسی وقت آگے بڑھتی ہے جب آپ فیصلہ کریں۔ ویڈیو یہ بھی نوٹ کرتی ہے کہ یہی ٹوگلنگ اور سیکوینسنگ آئیڈیا ایک ریلے کو چلا کر AC لائٹ کو سوئچ کر سکتا ہے یا موٹر کو کنٹرول کر سکتا ہے، نہ صرف LEDs کو (ویڈیو میں 19:52 پر)۔

ہارڈویئر اور اجزاء

پرزوں کی فہرست مختصر اور سستی ہے:

  • ایک Arduino بورڈ (Uno، Nano، Mega، یا کوئی بھی مطابق بورڈ)۔
  • پانچ LEDs — 5 mm یا 3 mm، کوئی بھی رنگ جو آپ کو پسند ہو۔
  • پانچ کرنٹ محدود کرنے والے ریزسٹر، 200 Ω سے 1000 Ω تک (ویڈیو میں 1 kΩ استعمال کیا گیا ہے)۔
  • ایک پش بٹن سوئچ (ایک لمحاتی ٹیکٹائل سوئچ مثالی ہے)۔
  • ایک بریڈ بورڈ اور کچھ DuPont جمپر تاروں۔

LEDs پر ایک مختصر نوٹ: کیتھوڈ چھوٹی ٹانگ اور چپٹے کنارے والا رخ ہوتا ہے، جبکہ اینوڈ لمبی ٹانگ ہوتی ہے (ویڈیو میں 03:13 پر)۔ ریزسٹر کی قیمت اہم نہیں — زیادہ ریزسٹر صرف LED کو مدھم کرتا ہے، لہٰذا تقریباً 300 Ω سے لے کر 1000 Ω تک کچھ بھی ٹھیک کام کرے گا (ویڈیو میں 05:33 پر)۔

وائرنگ گائیڈ

Schematic for Arduino walking light LEDs
Schematic for Arduino walking light LEDs
wiring for Arduino walking light LEDs with push button
wiring for Arduino walking light LEDs with push button

وائرنگ بنیادی طور پر ایک معیاری پانچ-LED چلتی روشنی جیسی ہے، جس میں ایک پش بٹن شامل کیا گیا ہے۔ ہر LED کا اینوڈ اپنے Arduino پن سے جڑتا ہے، اور ہر کیتھوڈ اپنے ریزسٹر کے ذریعے بریڈ بورڈ پر مشترکہ گراؤنڈ ریل سے جڑتا ہے۔ اس بلڈ میں LEDs پن 3، 4، 5، 6، اور 7 سے جڑی ہیں (ویڈیو میں 31:37 پر)۔ پش بٹن بریڈ بورڈ پر رکھا گیا ہے جس کی ایک ٹانگ گراؤنڈ سے اور دوسری ٹانگ پن 2 سے جڑی ہے — وہی پن جو کوڈ بٹن کے لیے استعمال کرتا ہے (ویڈیو میں 37:04 پر)۔

چونکہ کوڈ Arduino کے اندرونی پل-اپ ریزسٹر کو فعال کرتا ہے، بٹن پر کوئی بیرونی ریزسٹر درکار نہیں۔ جب بٹن نہیں دبایا جاتا تو پن HIGH پڑھتا ہے، اور جب آپ اسے دباتے ہیں تو پن گراؤنڈ سے جڑ جاتا ہے اور LOW پڑھتا ہے (ویڈیو میں 14:02 پر)۔

کوڈ کی وضاحت

مکمل پروگرام اس مضمون کے نیچے دستیاب ہے۔ یہاں ہم ان حصوں پر توجہ مرکوز کرتے ہیں جنہیں آپ واقعی تبدیل کرنا چاہیں گے۔

اسکیچ کے اوپری حصے میں، ہر LED اور بٹن کو ایک پن تفویض کیا گیا ہے۔ یہیں آپ اپنی وائرنگ سے مطابقت رکھنے کے لیے بلڈ کو حسب ضرورت بناتے ہیں:

const int pushButtonPin = 2; // push button pin
const int LED1 = 3;
const int LED2 = 4;
const int LED3 = 5;
const int LED4 = 6;
const int LED5 = 7;

int LED_ON = LED1; // which LED is currently lit

LED_ON ویری ایبل اس پروجیکٹ کا دل ہے۔ یہ یاد رکھتا ہے کہ اس وقت کون سی LED روشن ہے، LED1 سے شروع ہو کر۔ ہر بار جب آپ بٹن دباتے ہیں، کوڈ LED_ON کو ترتیب میں اگلی LED پر آگے بڑھاتا ہے اور پچھلی کو بند کر دیتا ہے، لہٰذا ایک وقت میں صرف ایک LED روشن رہتی ہے۔

ہر دباؤ کے بعد ایک مختصر تاخیر بھی ہے:

delay(200); // debounce / give the user time between presses

یہ 200 ملی سیکنڈ کا وقفہ ایک جسمانی دباؤ کو متعدد دباؤ کے طور پر رجسٹر ہونے سے روکتا ہے۔ اگر آپ کی انگلی کانپتی ہے یا بٹن بہت حساس محسوس ہوتا ہے، تو اس نمبر کو بڑھائیں؛ اگر آپ تیز ردعمل چاہتے ہیں، تو اسے کم کریں۔ یاد رکھیں کہ اسے بہت کم کرنے سے روشنی غیر متوقع طور پر آگے چھلانگ لگا سکتی ہے (ویڈیو میں 41:20 پر)۔

بنیادی منطق loop() میں ہے۔ یہ بٹن کو پڑھتا ہے، اور صرف اس وقت جب بٹن دبایا جاتا ہے (LOW پڑھتے وقت) روشنی کو آگے بڑھاتا ہے۔ ترتیب if / else if چیکس کی ایک زنجیر استعمال کرتی ہے تاکہ LED1 سے LED2 پھر LED3، اور اسی طرح آگے بڑھے، اور آخری کے بعد دوبارہ LED1 پر واپس آ جائے۔ اگر آپ سمت یا LEDs کی ترتیب تبدیل کرنا چاہتے ہیں، تو یہی وہ بلاک ہے جس میں ترمیم کرنی ہے — بس دوبارہ تفویض کریں کہ کون سا پن کس کے بعد آتا ہے۔

لائیو پروجیکٹ اور مظاہرہ

کوڈ اپ لوڈ کرنے کے بعد، بٹن دبانے سے پہلی LED روشن ہوتی ہے؛ اسے چھوڑنے سے وہ LED روشن رہتی ہے۔ اگلا دباؤ روشنی کو دوسری LED پر منتقل کرتا ہے، پھر تیسری، چوتھی، اور پانچویں پر، اور اس کے بعد والا دباؤ پہلی پر واپس آتا ہے — ایک مسلسل گردش (ویڈیو میں 40:22 پر)۔

200 ملی سیکنڈ کی تاخیر کا ایک اچھا ضمنی اثر یہ ہے کہ اگر آپ بٹن کو دبا کر رکھیں، تو روشنی ہر 200 ملی سیکنڈ بعد خود بخود آگے بڑھتی رہتی ہے، جس سے بٹن دبائے رکھنے کے دوران پروجیکٹ مؤثر طور پر ایک خودکار چلتی روشنی بن جاتا ہے (ویڈیو میں 42:07 پر)۔ بٹن چھوڑیں تو یہ موجودہ LED پر رک جاتی ہے۔ یہ آپ کو ایک ہی بٹن سے دستی اسٹیپنگ اور ہینڈز فری چلانے، دونوں سہولتیں دیتا ہے۔

اگر آپ چاہتے ہیں کہ روشنی بغیر کسی بٹن کے خود بخود چلے، تو یہ ایک الگ بلڈ ہے۔ خودکار ورژن Lesson 98-7: Walking Light Using Arduino and 5 LEDs میں شامل ہے۔

اس ویڈیو سے متعلقہ پروجیکٹس

ابواب

  • [00:00] 10 Arduino LED پروجیکٹس کا جائزہ
  • [01:22] Arduino مرحلہ وار کورس کا تعارف
  • [02:29] LEDs کو سمجھنا: علامات، پولیرٹی اور پنز
  • [03:49] LED کرنٹ محدود کرنے والے ریزسٹر کا حساب لگانا
  • [30:47] 5 LEDs کے ساتھ چلتی روشنی: وائرنگ اور اصول
  • [32:52] چلتی روشنی کا کوڈ: پنز، ٹائمنگ اور لوپ
  • [36:41] پش بٹن کے ساتھ روشنی کو آگے بڑھانا
  • [37:44] پش بٹن کے ساتھ چلتی روشنی: کوڈ کی وضاحت
  • [40:22] مظاہرہ اور پریس ڈیلی کو ایڈجسٹ کرنا
  • [57:16] اختتامی کلمات اور کورس کا اختتام

تصاویر

wiring for Arduino walking light LEDs with push button
wiring for Arduino walking light LEDs with push button
Schematic for Arduino walking light LEDs with push button
Schematic for Arduino walking light LEDs with push button
Schematic for Arduino walking light LEDs
Schematic for Arduino walking light LEDs
5 ایل ای ڈی بریڈ بورڈ پر پش بٹن کے ساتھ Arduino UNO سے منسلک دکھائی گئی ہیں
5 ایل ای ڈی بریڈ بورڈ پر پش بٹن کے ساتھ Arduino UNO سے منسلک دکھائی گئی ہیں
940-Lessson 98-LED-8: Arduino code walking LED light with push button
زبان: C++
This code has not been parsed yet. Please return to the admin panel to parse it.

آپ کو جن چیزوں کی ضرورت ہو سکتی ہے

فائلیں📁

آرڈوینو لائبریریاں (زپ)

صارف کا دستی کتاب