یہ ٹیوٹوریل کا حصہ ہے: SunFounder Rasberry Pi Pico Pico 4WD اسمارٹ کار کٹ
اس گروپ سے متعلق فائلیں ایک ساتھ دکھائی جائیں گی۔ دیگر ویڈیوز کے لنکس اس مضمون کے نیچے ہیں۔
کورس سبق 2 از 10: Raspberry Pi Pico 4WD سمارٹ کار کٹ چلانے کے لیے بنیادی Python
اس دوسرے سبق میں Robojax Raspberry Pi Pico 4WD Smart Car کورس کے، ہم بنیادی Python پروگرامنگ تصورات میں غوطہ لگاتے ہیں جو آپ کو اپنے روبوٹ کو کنٹرول کرنے کے قابل بنائیں گے۔ یہ گائیڈ آپ کو صفر کوڈنگ تجربے سے اعتماد کے ساتھ اسکرپٹ لکھنے تک لے جانے کے لیے ڈیزائن کیا گیا ہے جو ہارڈویئر کو کنٹرول کرتے ہیں۔ صرف نحو کو حفظ کرنے کے بجائے، ہم ہر تصور کے پیچھے "کیوں" کو تلاش کریں گے، جس سے آپ کو اپنے پروجیکٹس بنانے اور اپنی مرضی کے مطابق کرنے کے اوزار ملیں گے۔ اس سبق کے اختتام تک، آپ کو متغیرات، کنٹرول فلو، فنکشنز اور لسٹس کی ٹھوس سمجھ ہوگی — جو تمام مستقبل کے پروجیکٹس کے لیے بنیادی بلاکس ہیں۔
یہ علم صرف اسمارٹ کار کے لیے نہیں ہے۔ جو اصول آپ یہاں سیکھیں گے وہی ہیں جو بے شمار حقیقی دنیا کی ایپلیکیشنز میں استعمال ہوتے ہیں۔ آپ ان مہارتوں کو لاگو کر سکتے ہیں:
- گھریلو گرین ہاؤس کو خودکار بنانے کے لیے سینسر ڈیٹا کی بنیاد پر پنکھے، پمپ اور لائٹس کو کنٹرول کرنا۔
- اپنی مرضی کا سیکیورٹی سسٹم بنانا جو الارم چالو کرے یا اطلاعات بھیجے۔
- انٹرایکٹو آرٹ تنصیبات بنانا جو ماحول کا جواب دیں۔
- اپنے حسب ضرورت روبوٹ رویے تیار کرنا جو پہلے سے پروگرام شدہ سے آگے ہوں۔
ہارڈویئر/اجزاء
اس سبق میں ہارڈویئر کی مثالوں پر عمل کرنے کے لیے، آپ کو درج ذیل اجزاء کی ضرورت ہوگی۔ یہ سب SunFounder Raspberry Pi Pico 4WD Smart Car Kit کا حصہ ہیں، لیکن اسٹینڈ اکیلے تجربات کے لیے انفرادی طور پر خریدے جا سکتے ہیں۔
- Raspberry Pi Pico: پروجیکٹ کا مائیکروکنٹرولر دماغ۔
- ایک LED: ڈیجیٹل آؤٹ پٹ کنٹرول کو ظاہر کرنے کے لیے۔
- ایک ریزسٹر (150Ω - 330Ω): کرنٹ محدود کرنے اور LED کی حفاظت کے لیے۔
- جمپر تار: بریڈ بورڈ پر کنکشن بنانے کے لیے۔
- ایک بریڈ بورڈ: اپنے سرکٹ کا پروٹوٹائپ بنانے کے لیے۔
وائرنگ گائیڈ
اس سبق میں ہارڈویئر کے مظاہرے کے لیے، ہم Raspberry Pi Pico کے ساتھ LED کو کنٹرول کرنے کے لیے ایک سادہ سرکٹ بنائیں گے۔ وائرنگ سیدھی ہے اور فزیکل کمپیوٹنگ میں ایک کلاسک پہلا قدم ہے۔ کلید یہ ہے کہ LED کو جلنے سے روکنے کے لیے کرنٹ محدود کرنے والا ریزسٹر استعمال کریں۔ ریزسٹر LED کے ساتھ سیریز میں جڑا ہوتا ہے۔ LED کی لمبی ٹانگ (اینوڈ) مثبت کنکشن ہے، اور چھوٹی ٹانگ (کیتھوڈ) منفی کنکشن ہے۔
ویڈیو میں، انسٹرکٹر گراؤنڈ پن اور LED کی چھوٹی ٹانگ سے جڑا ایک ریزسٹر استعمال کرتا ہے۔ لمبی ٹانگ GPIO پن 22 سے جڑی ہوتی ہے۔ یہ سیٹ اپ Pico کو پن پر ہائی (3.3V) سگنل بھیجنے کی اجازت دیتا ہے تاکہ LED آن ہو اور لو (0V) سگنل اسے بند کرنے کے لیے۔
نوٹ: وائرنگ ڈایاگرام ویڈیو میں دکھایا گیا ہے۔ درست جگہ کے لیے بصری گائیڈ دیکھیں۔
کوڈ کی وضاحت
یہ سبق بنیادی Python نحو اور منطق پر مرکوز ہے، جو آپ کے روبوٹ کو کنٹرول کرنے کے لیے ضروری ہے۔ آئیے ویڈیو میں شامل کلیدی تصورات کو توڑتے ہیں۔ کوڈ کی مثالیں MicroPython میں لکھی گئی ہیں، جو Python کا ایک ورژن ہے جو Raspberry Pi Pico جیسے مائیکروکنٹرولرز پر چلانے کے لیے ڈیزائن کیا گیا ہے۔
متغیرات اور ڈیٹا کی اقسام
متغیرات لیبل والے ڈبوں کی طرح ہیں جہاں آپ معلومات ذخیرہ کرتے ہیں۔ Python میں، آپ کو متغیر کی قسم اعلان کرنے کی ضرورت نہیں ہے؛ یہ اس قدر سے اخذ کی جاتی ہے جو آپ تفویض کرتے ہیں۔ (ویڈیو میں 03:33 پر)
age = 23 # یہ ایک انٹیجر ہے
name = "Ahmad" # یہ ایک سٹرنگ (متن) ہے
pi = 3.14 # یہ ایک فلوٹ (اعشاریہ) ہے
آپ ان متغیرات کو حسابات میں استعمال کر سکتے ہیں اور ان کی قدریں پرنٹ کر سکتے ہیں۔ مثال کے طور پر، دی گئی عمر میں دنوں کی تعداد کا حساب لگانے کے لیے، آپ days = age * 365 استعمال کر سکتے ہیں۔ print() فنکشن کنسول پر آؤٹ پٹ ظاہر کرنے کے لیے استعمال ہوتا ہے۔
مشروط بیانات (If/Else)
مشروط بیانات آپ کے کوڈ کو فیصلے کرنے کی اجازت دیتے ہیں۔ یہ روبوٹ کے لیے اپنے ماحول کا جواب دینے کے لیے اہم ہے، جیسے رکاوٹ کا پتہ چلنے پر رکنا۔ (ویڈیو میں 07:39 پر)
age = 16
if age >= 17:
print("آپ گاڑی چلا سکتے ہیں")
else:
print("گاڑی چلانے کے لیے بہت چھوٹے ہیں")
if بیانیہ ایک شرط چیک کرتا ہے۔ اگر شرط True ہے، تو اس کے نیچے والا انڈینٹڈ کوڈ بلاک چلایا جاتا ہے۔ اگر یہ False ہے، تو else بیانیہ کے نیچے والا کوڈ چلتا ہے۔ انڈینٹیشن (لائن کے شروع میں خالی جگہیں) Python میں اہم ہے؛ یہ متعین کرتا ہے کہ کون سا کوڈ کس بلاک سے تعلق رکھتا ہے۔
لوپس (For اور While)
لوپس کوڈ کے بلاک کو دہرانے کے لیے استعمال ہوتے ہیں۔ یہ سینسر کی قدریں اسکین کرنے یا موٹر کو مراحل کے سلسلے میں منتقل کرنے جیسے کاموں کے لیے مثالی ہے۔ (ویڈیو میں 09:04 پر)
For لوپ: یہ لوپ ایک مخصوص تعداد میں بار بار چلتا ہے۔
for x in range(5): # x 0, 1, 2, 3, 4 ہوگا
print(x)
While لوپ: یہ لوپ اس وقت تک جاری رہتا ہے جب تک شرط درست ہے۔ یہ ایک مین پروگرام لوپ بنانے کے لیے مفید ہے جو ہمیشہ چلتا رہے جب تک کوئی خاص واقعہ پیش نہ آئے۔ (ویڈیو میں 12:13 پر)
x = 9
while x > 5:
print("x کی قدر ہے:", x)
x = x - 1 # x کو کم کریں
print("لوپ ختم ہوا")
while True: لوپس سے محتاط رہیں۔ وہ ہمیشہ چلتے رہیں گے جب تک آپ لوپ سے باہر نکلنے کے لیے break بیانیہ استعمال نہ کریں یا پروگرام روک نہ دیں۔
فنکشنز
فنکشنز کوڈ کے دوبارہ استعمال کے قابل بلاک ہیں جو ایک مخصوص کام انجام دیتے ہیں۔ وہ آپ کے کوڈ کو منظم رکھنے اور تکرار کو روکنے میں مدد کرتے ہیں۔ (ویڈیو میں 14:52 پر)
def calculate_days(years):
days = years * 365
return days
# اب ہم اس فنکشن کو کئی بار استعمال کر سکتے ہیں
days_in_10_years = calculate_days(10)
print("10 سال میں دن:", days_in_10_years)
یہاں، calculate_days ایک فنکشن ہے جو ایک دلیل (years) لیتا ہے اور ایک قدر واپس کرتا ہے۔ یہ ایک ہی حساب کو بار بار لکھنے سے زیادہ موثر ہے۔ ویڈیو یہ بھی دکھاتی ہے کہ ایک فنکشن دوسرے کو کیسے کال کر سکتا ہے، جس سے آپ سادہ، قابلِ جانچ حصوں سے پیچیدہ کارروائیاں بنا سکتے ہیں۔
فہرستیں
فہرستیں اشیاء کا ترتیب شدہ مجموعہ ذخیرہ کرنے کے لیے استعمال ہوتی ہیں۔ یہ آپ کے روبوٹ کے لیے کمانڈز کی ترتیب ذخیرہ کرنے کے لیے بہترین ہے، جیسے "آگے"، "پیچھے"، "بائیں" اور "دائیں"۔ (ویڈیو میں 19:15 پر)
move = ["forward", "back", "left", "right", "stop"]
print(len(move)) # فہرست میں اشیاء کی تعداد پرنٹ کرتا ہے (5)
print(move[0]) # پہلی شے پرنٹ کرتا ہے، "forward"
# آپ اشیاء شامل کر سکتے ہیں
move.append("cliff")
# آپ اشیاء ہٹا سکتے ہیں
move.pop() # "cliff" ہٹاتا ہے
# آپ اشیاء تبدیل کر سکتے ہیں
move[2] = "fly" # تیسری شے کو "fly" میں تبدیل کرتا ہے
فہرستیں زیرو-انڈیکسڈ ہوتی ہیں، یعنی پہلی شے انڈیکس 0 پر ہوتی ہے۔ len() فنکشن آپ کو فہرست کی لمبائی دیتا ہے، اور آپ تمام اشیاء کو دہرانے کے لیے for لوپ استعمال کر سکتے ہیں۔ enumerate() فنکشن بھی متعارف کرایا گیا ہے، جو لوپ کے دوران آپ کو انڈیکس اور قدر دونوں دیتا ہے، جو متعدد پنوں یا سینسرز کے ساتھ کام کرنے کے لیے مفید ہے۔
پنوں اور وقت کے ساتھ کام کرنا
یہ وہ جگہ ہے جہاں آپ Python منطق کو طبعی دنیا سے جوڑتے ہیں۔ آپ Pico کے GPIO پنوں کو کنٹرول کرنے کے لیے machine لائبریری استعمال کرتے ہیں۔ (ویڈیو میں 25:16 پر)
from machine import Pin
import time
# پن 22 کو آؤٹ پٹ کے طور پر ترتیب دیں
led = Pin(22, Pin.OUT)
# LED کو آن اور آف کریں
led.on()
time.sleep(1)
led.off()
time.sleep(1)
آپ پن کو Pin(2, Pin.IN) کے ساتھ ان پٹ کے طور پر ترتیب دے کر اس سے پڑھ بھی سکتے ہیں۔ time لائبریری تاخیر شامل کرنے (time.sleep()) اور time.ticks_ms() استعمال کرکے گزرے ہوئے وقت کی پیمائش یا time.localtime() اور time.mktime() کے ساتھ وقت کی شکلوں کے درمیان تبدیلی کے لیے ضروری ہے۔ یہ وقت پر مبنی منطق کے لیے اہم ہے، جیسے موٹر کی رفتار کو کنٹرول کرنے کے لیے پلس-وڈتھ ماڈیولیشن (PWM) سگنل بنانا۔
لائیو پروجیکٹ/مظاہرہ
ویڈیو میں، انسٹرکٹر ان تصورات کا لائیو مظاہرہ فراہم کرتا ہے۔ وہ Python انٹرپریٹر میں سادہ print() بیانات اور متغیر تفویض دکھا کر شروع کرتا ہے۔ پھر وہ مزید پیچیدہ مثالوں کی طرف بڑھتا ہے، بصری طور پر دکھاتا ہے کہ if بیانات متغیر کی قدر کی بنیاد پر پروگرام کے بہاؤ کو کیسے تبدیل کرتے ہیں۔
انسٹرکٹر پھر Raspberry Pi Pico سے LED جوڑ کر ایک عملی ہارڈویئر مثال دکھاتا ہے۔ وہ ایک سادہ MicroPython اسکرپٹ لکھتا ہے جو LED کو ایک سیکنڈ کی تاخیر کے ساتھ آن اور آف کرتا ہے، کوڈ کے ساتھ طبعی آؤٹ پٹ کو کنٹرول کرنے کا براہِ راست نتیجہ دکھاتا ہے۔ یہ عملی مثال پروگرامنگ منطق اور حقیقی دنیا کے عمل کے درمیان تعلق کو مضبوط کرتی ہے۔ سبق متعدد پنوں کو منظم کرنے کے لیے enumerate استعمال کرنے اور مزید جدید وقت اور نظام الاوقات کی کارروائیوں کے لیے time ماجیول استعمال کرنے کا طریقہ دکھا کر اختتام پذیر ہوتا ہے۔
ابواب
- [00:00] Raspberry Pi Pico سمارٹ کار کورس کا تعارف
- [01:31] کورس کا جائزہ اور کٹ کی صلاحیتیں
- [03:33] Python میں متغیرات اور ڈیٹا کی اقسام
- [07:39] شرطی بیانات (If/Else)
- [09:04] For لوپس کو سمجھنا
- [12:13] While لوپس کی تلاش
- [14:52] فنکشنز کی تعریف اور استعمال
- [19:15] فہرستوں اور ڈیٹا ڈھانچوں کے ساتھ کام کرنا
- [25:16] MicroPython کے ساتھ GPIO پنوں کو کنٹرول کرنا
- [29:54] عملی مثال: LED کو بلنک کرنا
- [31:15] Enumerate کے ساتھ جدید پن کنٹرول
- [31:24] وقت کے فنکشنز کے ساتھ کام کرنا
یہ ٹیوٹوریل کا حصہ ہے: SunFounder Rasberry Pi Pico Pico 4WD اسمارٹ کار کٹ
- کورس سبق 1 از 10: Raspberry Pi Pico 4WD اسمارٹ کار کٹ از سن فاؤنڈر بذریعہ روبو جیکس
- کورس سبق 3 از 10: سنفاؤنڈر کے ذریعے راسپبیری پائی پیکو 4WD اسمارٹ کار کٹ کو اسمبل کرنا (روبوجیکس کے ذریعے)
- کورس سبق 4 از 10: Raspberry Pi Pico توسعہ بورڈ برائے 4WD سمارٹ کار کٹ
- کورس سبق 5 از 10: کنٹرولنگ آر جی بی ایل ای ڈی ڈبلیو ایس ۲۸۱۲ بی از استعمال راسپبیری پائیکو
- کورس سبق 6 از 10: Raspberry Pi Pico 4WD سمارٹ کار کٹ کا استعمال کرتے ہوئے DC موٹرز کو کنٹرول کرنا
- سبق 7 از 10: لائن ٹریکنگ، کلف ڈیٹیکشن گری اسکیل سینسر کیلیبریٹ کریں راسپبیری پائی پیکو کار
- کورس سبق 8 از 10: Raspberry Pi Pico اسمارٹ کار – سبق 8: سروو موٹر اور آبجیکٹ فالو کرنا
- کورس سبق 9 از 10: راسپبیری پائیکو 4WD اسمارٹ کار کا استعمال کرتے ہوئے رکاوٹوں سے بچنا
- کورس سبق 10 از 10: Raspberry Pi Pico 4WD سمارٹ کار کٹ کو موبائل ایپ کے ساتھ کنٹرول کرنا
Common Course Links
- Purchase SunFounder Pico 4WD Smart Car Kit from AliExpress
- Purchase SunFounder Pico 4WD Smart Car Kit from eBay
- Amazon Canada: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon France: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Germany: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Italy: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Japan: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Spain: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon UK: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon USA: Purchase Pico 4WD Smart Car Kit buy SunFounder
- Purchase Pico 4WD Smart Car Kit from SunFounder.com
- SunFounder Pico-4wd Car Kit Documentation
- Video Play List of 10 lesson on SunFounder Pico 4WD Smart Car Kit
وسائل اور حوالہ جات
ابھی تک کوئی وسائل نہیں۔
فائلیں📁
کوئی فائلیں دستیاب نہیں ہیں۔