Robototexnika asoslari
1-dars / 15
Robo
Robot nima: sezish, o‘ylash, harakat
Sensor, kontroller, aktuator; robot-changyutgich misolida
1-bob. Robot qanday ishlaydi
15 daqiqa
Python
4 savol
Robot — atrofni sezadigan, qaror qabul qiladigan va harakat qiladigan mashina. Har qanday robot — zavoddagi qo'l-manipulyatordan tortib uydagi robot-changyutgichgacha — bitta sikl bo'yicha ishlaydi:
┌──────────┐ ┌──────────┐ ┌──────────┐
│ SEZISH │ ──▶ │ O'YLASH │ ──▶ │ HARAKAT │
│ sensorlar│ │ kontroller│ │ motorlar │
└──────────┘ └──────────┘ └──────────┘
▲ │
└──────────── qayta ──────────────┘
| Qism | Vazifasi | Misollar |
|---|---|---|
| Sensor | atrofni o'lchaydi | masofa (ultratovush), yorug'lik, harorat, kamera, tugma |
| Kontroller | dasturni bajaradi, qaror qiladi | Arduino, Raspberry Pi, ESP32 |
| Aktuator | harakat qiladi | motor, servo, dinamik, chiroq (LED) |
| Quvvat | hammasini ta'minlaydi | batareya, akkumulyator |
Robot-changyutgich qanday «o'ylaydi»
Oldidagi to'siqqacha masofani o'lchaydi va qaror qiladi:
CHEGARA = 20 # sm — bundan yaqin bo'lsa, burilish kerak
masofalar = [120, 80, 45, 18, 9, 60]
for m in masofalar:
harakat = "oldinga" if m > CHEGARA else "burilish"
print(f"{m} sm → {harakat}")
# Natija: 120 sm → oldinga
# Natija: 80 sm → oldinga
# Natija: 45 sm → oldinga
# Natija: 18 sm → burilish
# Natija: 9 sm → burilish
# Natija: 60 sm → oldinga
Bu — robotning «miyasi»: sensor qiymati → shart → harakat. Haqiqiy robotda bu sikl soniyasiga o'nlab marta takrorlanadi.
Robototexnikaga nimalar kerak
- Dasturlash — Python (simulyatsiya, sun'iy intellekt, Raspberry Pi) va C++ (Arduino, tezkor boshqaruv).
- Elektronika asoslari — kuchlanish, tok, qarshilik, sxemani o'qish.
- Matematika — geometriya va trigonometriya (burilish burchaklari, masofalar).
💡 Bu kursda haqiqiy temir shart emas: robotni Python simulyatorida boshqarasiz. Keyin xuddi shu mantiqni Arduino'ga ko'chirish oson (5-dars).
Amaliyot Python
Robot tezligini masofaga qarab tanlasin: 50 sm dan uzoq — "tez", 20–50 sm — "sekin", 20 sm dan yaqin — "to'xta":
120 sm: tez
50 sm: sekin
35 sm: sekin
12 sm: to'xta
input() uchun ma'lumotlar
Kodni yozib, «Ishga tushirish» ni bosing. Birinchi marta Python yuklanishi bir necha soniya oladi.
Yechimni ko'rish
def tezlik(masofa):
if masofa > 50:
return "tez"
if masofa >= 20:
return "sekin"
return "to'xta"
for m in [120, 50, 35, 12]:
print(f"{m} sm: {tezlik(m)}")