This tutorial is part of: SunFounder Rasberry Pi Pico Pico 4WD Smart Car Kit
Files related to this group will be displayed together. Links to other videos are below this article.
د کورس ۲ له ۱۰ څخه درس: بنسټیز پایتون د Raspberry Pi Pico 4WD سمارټ موټر کټ چلولو لپاره
دې روبوجاکس راسپبري پاي پيکو ۴WD سمارټ موټر کورس په دوهم درس کې، موږ د پايتون بنسټيز پروګرام کولو مفاهيمو ته ځو، کوم چې به تاسو ته ستاسو د روبوټ د کنټرول وړتيا درکړي. دا لارښود ډيزاين شوی چې تاسو له صفر کوډ کولو تجربې څخه په باوري ډول د سکريپټونو ليکلو ته ورسوي چې هارډوير کنټرولوي. پر دې چې يوازې سينټکس په ياد ولرئ، موږ به د هر مفهوم تر شا "ولې" وپلټو، تاسو ته هغه وسايل درکوي چې خپل پروژې جوړې او دوديزې کړئ. د دې درس په پای کې، تاسو به د متغيرونو، کنټرول جريان، فنکشنونو او لېستونو قوي پوهه ولرئ—د راتلونکو ټولو پروژو لپاره بنسټيزې برخې.
دا پوهه يوازې د سمارټ موټر لپاره نه ده. هغه اصول چې تاسو به دلته زده کړئ هغه دي چې په بې شمېره ريښتينۍ نړۍ غوښتنليکونو کې کارول کيږي. تاسو کولی شئ دا مهارتونه په دې برخو کې تطبيق کړئ:
- د کور شنو خونو اتومات کول ترڅو د سينسر معلوماتو پر بنسټ پنکې، پمپونه او څراغونه کنټرول کړئ.
- د دوديز امنيتي سيستم جوړول چې الارمونه فعال کړي يا خبرتياوې واستوي.
- د تعامل وړ هنري نصبونو جوړول چې چاپېريال ته ځواب ووايي.
- د خپلو دوديزو روبوټ چلندونو پراختیا له مخکې پروګرام شويو هاخوا.
هارډوير/برخې
د دې درس په هارډوير مثالونو کې د تعقيب لپاره، تاسو به لاندې برخو ته اړتيا ولرئ. دا ټول د سن فاونډر راسپبري پاي پيکو ۴WD سمارټ موټر کټ برخه ده، مګر د جلا تجربو لپاره په انفرادي ډول اخیستل کیدی شي.
- راسپبري پاي پيکو: د پروژې مایکروکنټرولر دماغ.
- يو LED: د ډيجيټل آوټ پوټ کنټرول د ښودلو لپاره کارول کيږي.
- يو ريزسټر (۱۵۰Ω - ۳۳۰Ω): د جريان محدودولو او د LED د ساتنې لپاره.
- جمپر تارونه: په برېډبورډ کې د اړيکو جوړولو لپاره.
- يو برېډبورډ: ستاسو د سرکټ پروټوټايپ کولو لپاره.
وائرينګ لارښود
د دې درس په هارډوير نندارې کې، موږ به د راسپبري پاي پيکو سره د LED کنټرول لپاره ساده سرکټ جوړ کړو. وائرينګ مستقيم دی او په فزيکي کمپيوټر کې کلاسيک لومړی ګام دی. کلیدي خبره دا ده چې د جريان محدودونکی ريزسټر وکاروئ ترڅو LED له سوځيدو څخه وساتئ. ريزسټر د LED سره په لړۍ کې نښلول شوی. د LED اوږده پښه (انود) مثبت اړيکه ده، او لنډه پښه (کاتود) منفي اړيکه ده.
په ويډيو کې، ښوونکی د ځمکني پن او د LED لنډې پښې سره نښلول شوی ريزسټر کاروي. اوږده پښه د GPIO پن ۲۲ سره نښلول شوې. دا ترتيب پيکو ته اجازه ورکوي چې پن ته لوړ (۳.۳V) سيګنال واستوي ترڅو LED چالان کړي او ټيټ (۰V) سيګنال واستوي ترڅو يې بند کړي.
یادونه: د وائرينګ ډياګرام په ويډيو کې ښودل شوی. د سم ځای پر ځای کولو لپاره بصري لارښود ته مراجعه وکړئ.
د کوډ تشريح
دا درس په اصلي پايتون سينټکس او منطق تمرکز کوي، کوم چې ستاسو د روبوټ کنټرول لپاره اړين دی. راځئ چې په ويډيو کې پوښل شوي کلیدي مفاهيم مات کړو. د کوډ مثالونه په مایکروپايتون کې ليکل شوي، د پايتون يوه نسخه چې د راسپبري پاي پيکو په څېر مایکروکنټرولرونو کې د چلولو لپاره ډيزاين شوې.
متغيرونه او د معلوماتو ډولونه
متغيرونه د ليبل شويو بکسونو په څېر دي چې تاسو پکې معلومات ذخيره کوئ. په پايتون کې، تاسو اړتيا نلرئ د متغير ډول اعلان کړئ؛ دا د هغه ارزښت څخه اټکل کيږي چې تاسو يې ټاکئ. (په ويډيو کې په ۰۳:۳۳)
age = 23 # دا يو انټيجر دی
name = "احمد" # دا يو سټرينګ دی (متن)
pi = 3.14 # دا يو فلوټ دی (اعشاري)
تاسو کولی شئ دا متغيرونه په محاسبو کې وکاروئ او د دوی ارزښتونه چاپ کړئ. د مثال په توګه، د يو ټاکلي عمر کې د ورځو شمېر محاسبه کولو لپاره، تاسو کولی شئ days = age * 365 وکاروئ. د print() فنکشن د کنسول ته د آوټ پوټ ښودلو لپاره کارول کيږي.
شرطي بيانونه (If/Else)
شرطي بيانونه ستاسو کوډ ته اجازه ورکوي چې پرېکړې وکړي. دا د روبوټ لپاره خورا مهم دی چې خپل چاپېريال ته غبرګون وښيي، لکه کله چې خنډ کشف کړي ودرېږي. (په ويډيو کې په ۰۷:۳۹)
age = 16
if age >= 17:
print("تاسو موټر چلولی شئ")
else:
print("د موټر چلولو لپاره ډېر ځوان ياست")
د if بيان يو شرط ګوري. که شرط True وي، لاندې انډينټ شوی کوډ بلاک اجرا کيږي. که False وي، د else بيان لاندې کوډ چليږي. انډينټيشن (د کرښې په پيل کې تشيالونه) په پايتون کې خورا مهم دی؛ دا ټاکي چې کوم کوډ د کوم بلاک پورې اړه لري.
لوپونه (For او While)
لوپونه د کوډ بلاک د تکرار لپاره کارول کيږي. دا د داسې کارونو لپاره مثالی دی لکه د سينسر ارزښتونو سکين کول یا د موټر د ګامونو له لړۍ څخه حرکت کول. (په ويډيو کې په ۰۹:۰۴)
For لوپ: دا لوپ يو ټاکلی شمېر ځلې تکرار کوي.
for x in range(5): # x به ۰، ۱، ۲، ۳، ۴ وي
print(x)
While لوپ: دا لوپ تر هغه پورې دوام کوي چې شرط سم وي. دا د اصلي پروګرام لوپ جوړولو لپاره ګټور دی چې تر هغه پورې روان وي تر څو يو ځانګړی پېښه رامنځته شي. (په ويډيو کې په ۱۲:۱۳)
x = 9
while x > 5:
print("د x ارزښت دا دی:", x)
x = x - 1 # x کم کړئ
print("لوپ پای ته ورسېد")
د while True: لوپونو سره محتاط اوسئ. دوی به تل لپاره روان وي پرته لدې چې تاسو د وتلو لپاره د break بيان وکاروئ یا پروګرام ودروئ.
فنکشنونه
فنکشنونه د کوډ د بيا کارونې وړ بلاکونه دي چې يو ځانګړی کار ترسره کوي. دوی ستاسو کوډ منظم ساتلو او د تکرار مخنيوي کې مرسته کوي. (په ويډيو کې په ۱۴:۵۲)
def calculate_days(years):
days = years * 365
return days
# اوس موږ کولی شو دا فنکشن څو ځلې وکاروو
days_in_10_years = calculate_days(10)
print("په ۱۰ کلونو کې ورځې:", days_in_10_years)
دلته، calculate_days یو فنکشن دی چې یو دلیل (years) اخلي او یو ارزښت بیرته راګرځوي. دا د همدغه محاسبې بیا بیا لیکلو په پرتله ډیر اغېزمن دی. ویډیو دا هم ښیي چې څنګه یو فنکشن بل فنکشن ته زنګ وهلی شي، چې تاسو ته اجازه درکوي له ساده او ازمایښت وړ برخو څخه پېچلي عملیات جوړ کړئ.
لیسټونه
لیسټونه د توکو د منظم ټولګې د ذخیره کولو لپاره کارول کیږي. دا ستاسو د روبوټ لپاره د لارښوونو د لړۍ ذخیره کولو لپاره ډیر مناسب دی، لکه "وړاندې"، "شاته"، "کیڼ"، او "ښي". (په ویډیو کې په 19:15)
move = ["وړاندې", "شاته", "کیڼ", "ښي", "درېږه"]
print(len(move)) # د لیسټ د توکو شمېر چاپوي (5)
print(move[0]) # لومړی توکی چاپوي، "وړاندې"
# تاسو کولی شئ توکي اضافه کړئ
move.append("ډګه")
# تاسو کولی شئ توکي لرې کړئ
move.pop() # "ډګه" لرې کوي
# تاسو کولی شئ توکي بدل کړئ
move[2] = "الوتل" # دریم توکی "الوتل" ته بدلوي
لیسټونه له صفر څخه شمېرل کیږي، پدې معنی چې لومړی توکی په شاخص 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] شرطي بیانات (که/که نه)
- [09:04] د For لوپونو پوهیدل
- [12:13] د While لوپونو سپړنه
- [14:52] د فنکشنونو تعریف او کارول
- [19:15] د لیسټونو او معلوماتو جوړښتونو سره کار کول
- [25:16] د MicroPython سره د GPIO پنونو کنټرول
- [29:54] عملي بیلګه: د LED چمکول
- [31:15] د Enumerate سره پرمختللی پن کنټرول
- [31:24] د وخت فنکشنونو سره کار کول
This tutorial is part of: SunFounder Rasberry Pi Pico Pico 4WD Smart Car Kit
- د کورس لومړی درس له ۱۰ څخه: د SunFounder لخوا د Raspberry Pi Pico 4WD سمارټ موټر کټ د Robojax لخوا
- د کورس درس 3 له 10: د SunFounder لخوا د Raspberry Pi Pico 4WD سمارټ موټر کټ راټولول د Robojax لخوا
- د کورس څلورم درس له ۱۰ څخه: د Raspberry Pi Pico پراختیايي بورډ د ۴WD سمارټ موټر کټ لپاره
- کورس درس ۵ له ۱۰: کنټرول کول د RGB LED WS2812B په کارولو سره د Raspberry Pi Pico
- کورس ۶ له ۱۰ څخه درس: د DC موټرو کنټرول د Raspberry Pi Pico 4WD سمارټ موټر کټ په کارولو سره
- د ۷م سبق له ۱۰: د کرښې تعقیب، د غاړې کشف د خړ رنګ سینسر کیلیبریشن د راسبیري پای پیکو موټر
- کورس لوست ۸ له ۱۰: راسپبري پای پیکو سمارټ موټر – لوست ۸: سروو موټور او د شیانو تعقیب
- کورس لوړ ۹ د ۱۰: د راسپبري پای پیکو ۴WD سمارټ موټر په کارولو سره د خنډ مخنیوی
- کورس ۱۰ له ۱۰ څخه درس: د 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
Resources & references
No resources yet.
Files📁
No files available.