سبق 98-6: آردوینو کے ساتھ سی سا LED گیم
سی سا LED پروجیکٹ ایک کلاسک ابتدائی مشق ہے جو Arduino پروگرامنگ کے سب سے اہم تصورات میں سے ایک سکھاتی ہے: دو آؤٹ پٹس کو ایک مقررہ تال میں باری باری چلانا۔ صرف دو LEDs، دو ریزسٹرز، اور چند جمپر تاروں کا استعمال کرتے ہوئے، آپ ایک سرکٹ بنائیں گے جہاں ایک سبز LED اور ایک سرخ LED باری باری روشن ہوں گے، جو کھیل کے میدان کے سی سا کی اوپر نیچے کی حرکت کی نقل کرتے ہیں۔ یہ ایک سادہ تعمیر ہے، لیکن یہ بنیادی اجزاء متعارف کراتی ہے — پن کی تعریفیں، ٹائمنگ کنسٹنٹس، اور ترتیبی digitalWrite() کالز — جو تقریباً ہر Arduino اسکیچ میں ظاہر ہوتے ہیں جو آپ کبھی لکھیں گے۔
چونکہ سی سا پیٹرن دراصل صرف "ایک چیز کو آن کرو، اسے آف کرو، دوسری چیز کو آن کرو، اسے آف کرو، دہراؤ" ہے، یہی ڈھانچہ درجنوں عملی استعمالات میں پھیلتا ہے۔ یہاں آپ کے تخیل کو جگانے کے لیے چند آئیڈیاز ہیں:
- باری باری اشارے کی روشنیاں — ایک کنٹرول پینل پر "محفوظ / انتباہ" کا جوڑا جو آگے پیچھے بدلتا رہتا ہے۔
- ریلوے کراسنگ کی نقل — ٹرین کے قریب آنے پر دو لیمپ باری باری جھپکتے ہیں۔
- دو لین کی سمت کا نشان — ڈرائیو وے یا پارکنگ لاٹ کے لیے "اس طرف جاؤ / اس طرف جاؤ" تیر کا ڈسپلے۔
- تعطیلات کی سجاوٹ — تہوار کی جھپکتی اثر کے لیے سرخ اور سبز LEDs اپنی جگہیں بدلتے ہیں۔
- سیکھنے کی بنیاد — یہاں کی ٹائمنگ اور ترتیب کی مہارتیں وہی ہیں جو آپ بعد میں ٹریفک لائٹس، واکنگ لائٹس، اور ملٹی-LED اینیمیشنز کے لیے استعمال کریں گے۔
سی سا اثر کیسے کام کرتا ہے
LED ایک ڈایوڈ ہے جو روشنی خارج کرتا ہے، اور اس کی علامت ایک مثلث ہے جو ایک لکیر کی طرف اشارہ کرتی ہے۔ سیدھی لکیر کیتھوڈ (منفی) ہے، اور مثلث کا پچھلا حصہ اینوڈ (مثبت) ہے۔ ایک حقیقی LED پر، لمبی ٹانگ اینوڈ ہے اور چھوٹی، سیدھی طرف والی ٹانگ کیتھوڈ ہے۔ کرنٹ اینوڈ سے کیتھوڈ کی طرف بہتا ہے، لہذا اینوڈ آپ کے Arduino پن کی طرف جڑتا ہے اور کیتھوڈ ایک ریزسٹر کے ذریعے گراؤنڈ سے جڑتا ہے (ویڈیو میں 02:29 پر)۔
ریزسٹر اہم ہے۔ ایک عام چھوٹا LED تقریباً 2 V اور تقریباً 10 mA کرنٹ چاہتا ہے۔ اگر آپ کا Arduino 5 V فراہم کرتا ہے، تو باقی 3 V ریزسٹر کو گرانا ہوگا۔ اوہم کے قانون کا استعمال کرتے ہوئے، R = V / I = 3 V / 0.01 A = 300 Ω۔ تقریباً 300 Ω سے لے کر 1000 Ω تک کچھ بھی کام کرے گا — زیادہ اقدار صرف LED کو مدھم بناتی ہیں (ویڈیو میں 03:49 پر)۔
سی سا کے لیے، دونوں LEDs یکساں طور پر وائر کیے جاتے ہیں: ہر اینوڈ اپنے Arduino پن پر جاتا ہے، اور ہر کیتھوڈ اپنے ریزسٹر کے ذریعے مشترکہ گراؤنڈ ریل پر جاتا ہے۔ دونوں کے درمیان واحد فرق یہ ہے کہ وہ کس پن سے منسلک ہیں۔
ہارڈویئر اور اجزاء
- 1 × Arduino بورڈ (Uno، Nano، Mega، یا اسی طرح کا)
- 2 × LEDs — ایک سرخ، ایک سبز (کوئی بھی دو رنگ کام کریں گے)
- 2 × ریزسٹرز، 300 Ω سے 1000 Ω (220 Ω یا 330 Ω عام انتخاب ہیں)
- 1 × breadboard
- جمپر تارے (DuPont تارے)
- پروگرامنگ اور پاور کے لیے USB کیبل
بس اتنا ہی — کوئی پش بٹن نہیں، کوئی پوٹینشیومیٹر نہیں، کوئی سینسر نہیں۔ یہ جان بوجھ کر سب سے کم ممکنہ پرزوں کی فہرست ہے تاکہ آپ مکمل طور پر کوڈ لاجک پر توجہ مرکوز کر سکیں۔
وائرنگ گائیڈ
وائرنگ ہم آہنگ اور پیروی کرنے میں آسان ہے۔ دونوں LEDs کو breadboard میں داخل کریں۔ سبز LED کے اینوڈ (لمبی ٹانگ) کو Arduino پن 2 سے اور سرخ LED کے اینوڈ کو Arduino پن 3 سے جوڑیں۔ ہر کیتھوڈ (چھوٹی ٹانگ) اپنے ریزسٹر کے ایک سرے سے جڑتا ہے، اور دونوں ریزسٹرز کا دوسرا سرا ایک مشترکہ ریل میں شامل ہوتا ہے جو Arduino کے GND پن تک جاتا ہے (ویڈیو میں 27:45 پر)۔
چونکہ دونوں LEDs ایک ہی گراؤنڈ ریل کا اشتراک کرتے ہیں، breadboard سے واپس Arduino تک صرف ایک گراؤنڈ تار کی ضرورت ہے۔ دو سگنل تارے — ایک پن 2 پر، ایک پن 3 پر — واحد کنکشن ہیں جو دونوں LEDs کے درمیان تبدیل ہوتے ہیں۔
کوڈ کی وضاحت
اسکیچ جان بوجھ کر مختصر ہے تاکہ ہر لائن بامعنی ہو۔ یہاں وہ حصے ہیں جنہیں آپ واقعی ایڈجسٹ کرنا چاہیں گے:
پن کی تعریفیں
const int greenLEDPin = 2;//سبز LED کے لیے ایک پن کی تعریف کریں
const int redLEDPin = 3;//سرخ LED کے لیے ایک پن کی تعریف کریں
یہ دو کنسٹنٹس Arduino کو بتاتے ہیں کہ LEDs کس پن سے منسلک ہیں۔ اگر آپ نے اپنے LEDs کو مختلف پنوں سے وائر کیا — مثلاً پن 8 اور پن 9 — تو یہ واحد جگہ ہے جہاں آپ کو تبدیلی کرنی ہے۔ const کلیدی لفظ کا مطلب ہے کہ قدر پروگرام کی زندگی بھر مقرر ہے اور بعد میں غلطی سے اوور رائٹ نہیں کی جا سکتی۔
ٹائمنگ کنسٹنٹ
const int ON_TIME = 500;یہ واحد قدر کنٹرول کرتی ہے کہ ہر ایل ای ڈی کتنی دیر تک روشن رہتی ہے، ملی سیکنڈز میں۔ پہلے سے طے شدہ 500 کا مطلب ہے کہ ہر ایل ای ڈی آدھے سیکنڈ کے لیے آن رہتی ہے، لہٰذا ایک مکمل سبز پھر سرخ چکر ایک سیکنڈ لیتا ہے۔ اسے 200 تک کم کریں تیز جھپکنے کے لیے، یا اسے 1000 تک بڑھائیں سست، سوچے سمجھے ایک سیکنڈ فی ایل ای ڈی کی تال کے لیے (ویڈیو میں 30:17 پر)۔ چونکہ دونوں ایل ای ڈیز یہ مستقل شیئر کرتی ہیں، وہ ہمیشہ ہم آہنگ رہتی ہیں — جھولے کا توازن برقرار رہتا ہے۔
سیٹ اپ
setup() کے اندر، دونوں پنوں کو pinMode() کے ساتھ آؤٹ پٹ قرار دیا جاتا ہے، اور سیریل مانیٹر 9600 باؤڈ پر شروع کیا جاتا ہے تاکہ آپ ایل ای ڈی کی حالت کے پیغامات کو سکرول ہوتے دیکھ سکیں۔ یہ ایک بار چلتا ہے، جب بورڈ پاور آن ہوتا ہے۔
لوپ
loop() فنکشن وہ جگہ ہے جہاں جھولا ہوتا ہے۔ یہ ترتیب سے چار اعمال انجام دیتا ہے: سبز ایل ای ڈی آن کریں، ON_TIME ملی سیکنڈ انتظار کریں، اسے آف کریں، پھر سرخ ایل ای ڈی کے لیے بھی یہی کریں۔ جب لوپ اختتام پر پہنچتا ہے، تو یہ خود بخود اوپر سے دوبارہ شروع ہو جاتا ہے — یہی پورا "جھولے" کا رویہ ہے۔ کوئی حالت متغیر نہیں اور کوئی شرط چیک کرنے کی ضرورت نہیں، کیونکہ نمونہ خالصتاً ترتیبی ہے۔
لائیو پروجیکٹ اور مظاہرہ
ایک بار کوڈ اپ لوڈ ہونے کے بعد، آپ دیکھیں گے کہ سبز ایل ای ڈی آدھے سیکنڈ کے لیے روشن ہوتی ہے، پھر سرخ ایل ای ڈی، پھر دوبارہ سبز، بلا ناغہ۔ سیریل مانیٹر کھولنا (Tools → Serial Monitor، یا Ctrl+Shift+M) "Green LED ON" اور "Red LED ON" دکھاتا ہے جیسے ہی نمونہ چلتا ہے، جو یہ تصدیق کرنے کا ایک آسان طریقہ ہے کہ وقت آپ کی مقرر کردہ قدر سے مطابقت رکھتا ہے۔
ON_TIME کو 200 میں تبدیل کر کے دوبارہ اپ لوڈ کرنے کی کوشش کریں — ایل ای ڈیز نمایاں طور پر تیزی سے بدلیں گی۔ اسے 1000 پر سیٹ کریں اور جھولا ایک سست، سوچے سمجھے باری باری میں تبدیل ہو جائے گا۔ آپ Arduino کو USB سے منقطع کر کے بیٹری یا 5 V اڈاپٹر سے بھی پاور دے سکتے ہیں؛ اسکیچ بالکل ویسے ہی چلے گا کیونکہ یہ پہلے ہی بورڈ کی میموری میں محفوظ ہے۔
اس ویڈیو سے متعلقہ پروجیکٹس
- سبق 98-1: Arduino کے ساتھ ایل ای ڈی کو آن اور آف کیسے کریں
- سبق 98-2: Arduino کے ساتھ پش بٹن استعمال کرتے ہوئے ایل ای ڈی کو آن اور آف کیسے کریں
- سبق 98-3: Arduino کے ساتھ پش بٹن استعمال کرتے ہوئے ٹوگل ایل ای ڈی کو آن/آف کیسے کریں
- سبق 98-4: Arduino استعمال کرتے ہوئے ایل ای ڈی لائٹ کو فیڈ کرنا: چمک کا کنٹرول
- سبق 98-5: Arduino استعمال کرتے ہوئے بٹن دبانے پر روشنی کو فیڈ کریں
- سبق 98-7: Arduino اور 5 ایل ای ڈیز استعمال کرتے ہوئے واکنگ لائٹ
- سبق 98-8: Arduino کے ساتھ پش بٹن اور ایل ای ڈیز کے ساتھ واکنگ لائٹ
- سبق 98-9: Arduino استعمال کرتے ہوئے ایل ای ڈی وولٹیج لیول میٹر یا پوٹینشیومیٹر کے ساتھ واکنگ لائٹ
- سبق 98-10: Arduino ٹریفک لائٹ
ابواب
- [00:00] 10 Arduino ایل ای ڈی پروجیکٹس کا جائزہ
- [01:22] Arduino مرحلہ وار کورس کا تعارف
- [02:29] ایل ای ڈیز کو سمجھنا: علامت، اینوڈ، اور کیتھوڈ
- [03:49] اوہم کے قانون کے ساتھ ایل ای ڈی سیریز ریزسٹر کا حساب لگانا
- [27:32] جھولے والے ایل ای ڈی پروجیکٹ کا تعارف
- [27:45] جھولے والے پروجیکٹ کے لیے وائرنگ ڈایاگرام
- [28:28] جھولے والے کوڈ کی وضاحت
- [30:06] مختلف اوقات کے ساتھ جھولے کا مظاہرہ
- [30:47] واکنگ لائٹ پروجیکٹ کا جائزہ
- [36:41] پش بٹن سے کنٹرول شدہ واکنگ لائٹ
- [42:25] پوٹینشیومیٹر کے ساتھ ایل ای ڈی وولٹیج بار میٹر
- [49:25] Arduino ٹریفک لائٹ پروجیکٹ
This code has not been parsed yet. Please return to the admin panel to parse it.
آپ کو جن چیزوں کی ضرورت ہو سکتی ہے
-
ایمیزونSunFounder Arduino Learning Kit on AliExpresss.click.aliexpress.com
-
ایمیزون
-
ایمیزون
-
ایمیزون
وسائل اور حوالہ جات
-
دستاویزاتDocumentation for SunFounder 3 in 1 IoT/Smart Car/Learning Kitdocs.sunfounder.com
-
باہرونی
-
باہرونی
-
باہرونی
فائلیں📁
آرڈوینو لائبریریاں (زپ)
-
SunFounder کا 3-in-1 اسمارٹ کار لرننگ کٹ سورس کوڈ
3in1-kit-main-v2.zip12.80 MB
صارف کا دستی کتاب
-
سن فاؤنڈر 3-ان-1 آردوینو اسمارٹ کار اسمبلی دستییہ دستاویز سن فاؤنڈر 3-ان-1 آردوینو اسمارٹ کار کی مرحلہ وار اسمبلی دکھاتی ہے
SunFounder_car_assembly_manual.pdf1.20 MB