Mualliflar

  • Rahimov Muzaffar Mirzohid o`g`li

DOI:

https://doi.org/10.71337/inlibrary.uz.tadqiqotlar.103260

Kalit so‘zlar:

Kalit so`zlar: Python Arduino Arduino IDE Servo Arduino Nano Otmega 328P controller putty.

Annotasiya

Annotatsiya: Python va Arduino dasturlash tillari haqida ma`lumotlar, ularning 
tarixi, afzallik va kamchiliklari haqida ko`rib chiqiladi. Ishlab chiqilgan sun`iy qo`lni 
afzalliklari va qanday maqsadda ishlatilishi haqida ma`lumotlar beriladi. 


background image

T A D Q I Q O T L A R

jahon ilmiy – metodik jurnali


https://scientific-jl.com

63-son_2-to’plam_Iyun-2025

309

ISSN:3030-3613

PYTHON VA ARDUINO DASTURLASH TILI YORDAMIDA SUN`IY

ROBOT QO`L YARATISH TEXNOLOGIYASI

Rahimov Muzaffar Mirzohid o`g`li

Andijon davlat universiteti talabasi


Annotatsiya:

Python va Arduino dasturlash tillari haqida ma`lumotlar, ularning

tarixi, afzallik va kamchiliklari haqida ko`rib chiqiladi. Ishlab chiqilgan sun`iy qo`lni
afzalliklari va qanday maqsadda ishlatilishi haqida ma`lumotlar beriladi.

Kalit so`zlar:

Python, Arduino, Arduino IDE, Servo, Arduino Nano, Otmega

328P, controller, putty.

ТЕХНОЛОГИЯ СОЗДАНИЯ ИСКУССТВЕННЫХ РУК РОБОТА С

ИСПОЛЬЗОВАНИЕМ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ PYTHON И

ARDUINO

Рахимов Музаффар Мирзохид угли Студент Андижанского

государственного университета


Аннотация:

Рассматривается информация о языках программирования

Python и Arduino, их истории, преимуществах и недостатках. Приведена
информация о преимуществах разработанного искусственного протеза руки и
его предполагаемом использовании.

Ключевые слова:

Python, Arduino, Arduino IDE, Servo, Arduino Nano,

Otmega 328P, контроллер, putty.

TECHNOLOGY FOR CREATING ARTIFICIAL ROBOT HANDS USING

PYTHON AND ARDUINO PROGRAMMING LANGUAGES

Rakhimov Muzaffar Mirzohid ugli Student of Andijan State University


Abctract:

Information about the Python and Arduino programming languages,

their history, advantages and disadvantages are reviewed. Information about the
advantages of the developed artificial hand and its intended use is provided.


background image

T A D Q I Q O T L A R

jahon ilmiy – metodik jurnali


https://scientific-jl.com

63-son_2-to’plam_Iyun-2025

310

ISSN:3030-3613

Keywords:

Python, Arduino, Arduino IDE, Servo, Arduino Nano, Otmega 328P,

controller, putty.


Kirish:

XXI asr – innovatsiyalar va zamonaviy texnologiyalar asri bo`lib

kelmoqda.

Bugungi dunyo tobora raqamli ko‘rinish kasb etib, hayotimizga yangi

texnologiyalar

jadal

kirib

kelmoqda.

Sun’iy

intellekt,

robototexnika,

avtomatlashtirilgan boshqaruv tizimlari, IoT (Internet of Things) kabi sohalarning
rivojlanishi inson mehnatini yengillashtirish bilan birga, sanoat, tibbiyot, ta’lim va
kundalik turmushda ham ulkan o‘zgarishlarni olib kelmoqda. Ayniqsa, robototexnika
sohasida katta yutuqlarga erishilmoqda va mexanik qo‘llar kabi aqlli tizimlar ishlab
chiqilayotgani bu borada katta e’tibor qaratilayotganini ko‘rsatadi.

Mexanik qo‘llar inson qo‘lining harakatlarini taqlid qilish uchun yaratilgan

bo‘lib, ular turli sohalarda qo‘llaniladi. Masalan, sanoatda og‘ir yuklarni ko‘tarish,
jarrohlik operatsiyalarida aniq harakatlarni amalga oshirish yoki nogironligi bor
insonlarga yordam berish uchun ishlatiladi. Ushbu robot qo‘llar odatda servo motorlar,
sensorlar va mikroprotsessorlar yordamida boshqariladi.

Robototexnika dunyosida dasturlash muhim o‘rin tutadi. Ayniqsa, Arduino va

Python tillari bu sohada juda keng qo‘llaniladi. Arduino platformasi yordamida servo
motorlarni boshqarish, turli sensorlardan ma’lumot olish va ushbu ma’lumotlarga
asoslanib harakatlarni aniqlash mumkin. Python esa ma’lumotlarni qayta ishlash, tahlil
qilish va Arduino bilan aloqa o‘rnatish uchun qulay vosita bo‘lib, oddiy dasturlardan
tortib, murakkab sun’iy intellekt tizimlariga qadar keng qo‘llaniladi.

Ushbu maqolada mexanik robot qo‘l yaratish jarayoni, uning ishlash tamoyillari,

dasturlash asoslari hamda Arduino va Python tillaridan foydalanish haqida batafsil
tushuncha beriladi. Shu orqali siz robototexnika olamiga bir qadam yaqinlashib,
o‘zingiz ham shunday loyihalarni yaratish imkoniyatiga ega bo‘lasiz.

Python daasturlash tili o`zi nima?

Python – bu yuqori darajadagi, obyektga

yo‘naltirilgan va interpretatsiya qilinadigan dasturlash tili bo‘lib, 1991-yilda Gvido van
Rossum tomonidan ishlab chiqilgan. Uning asosiy maqsadi oddiy, tushunarli va
o‘qilishi oson kod yozish uchun qulay muhit yaratishdir.

Pythonning afzalliklari

Oson sintaksis

– Python kodlari oddiy va tushunarli bo‘lib, yangi

boshlovchilar uchun qulay.

Kuchli kutubxonalar

– Keng kutubxona to‘plami tufayli turli sohalarda,

jumladan, sun’iy intellekt, ma’lumotlar tahlili va veb-ishlanmalarda ishlatiladi.

Ko‘p platformali

– Windows, macOS va Linux kabi operatsion

tizimlarda ishlaydi.


background image

T A D Q I Q O T L A R

jahon ilmiy – metodik jurnali


https://scientific-jl.com

63-son_2-to’plam_Iyun-2025

311

ISSN:3030-3613

Keng jamoatchilik yordami

– Python dunyo bo‘ylab millionlab

dasturchilar tomonidan qo‘llab-quvvatlanadi.

Python qo‘llaniladigan sohalar

1.

Veb-dasturlash

– Django va Flask kabi freymvorklar yordamida dinamik

veb-saytlar yaratish mumkin.

2.

Ma’lumotlar tahlili va sun’iy intellekt

– Pandas, NumPy, TensorFlow

va Scikit-learn kabi kutubxonalar ilmiy hisob-kitob va AI tizimlarida ishlatiladi.

3.

Robototexnika va avtomatlashtirish

– Arduino va Raspberry Pi bilan

bog‘lanib, avtomatlashtirilgan tizimlar ishlab chiqiladi.

4.

O‘yinlar ishlab chiqish

– Pygame kabi vositalar orqali oddiy 2D o‘yinlar

yaratish mumkin.

5.

Kiberxavfsizlik

– Penetratsion testlar va tarmoq xavfsizligi uchun Python

vositalaridan foydalaniladi.

Pythonning asosiy tushunchalari

O‘zgaruvchilar va ma’lumot turlari

: Butun sonlar (int), matn (str),

ro‘yxatlar (list), lug‘atlar (dict) va boshqalar.

Shartli operatorlar

: if-else orqali turli shartlarni tekshirish.

Sikllar

: for va while yordamida kodni takroriy bajarish.

Funksiyalar

: Kodni takrorlamaslik va qulay boshqarish uchun ishlatiladi.

Python dasturlash tili sun`iy robot qo`lni boshqarishda katta ahamiayt kasb etadi.

Uning asosiy maqsadi opencv ochiq kodli kutubxona yordamida obyektning
xarakatlarini to`g`ridan-to`g`ri aniqlab uni raqamli buyruq shaklida Arduino platasiga
uzatadi. Bunda asosiy vazifani fermata kutubxonasi bajaradi. Firmata Arduino va
Python daasturlaridagi kodlarni bir-biriga adaptatsiya qilish vazifasini bajaradi. Endi
python kodiga to`xtaladigan bo`lsak,

Import cv2

import pyfirmata
import mediapipe as mp

Ushbu kodlar orqali Open CV, fermata va mediapipe kutubxonalarini chaqirib

olinadi,

Open CV

rasm va videolar bilan ishlash uchun eng mashxur kutubxona

xisoblanadi. Ushbu kutubxona asosan kompyuterli ko`rish ya`ni Computer vision
sohasida keng qo`llaniladi. Uning asosiy vazifalari yuzni aniqlash, obyektlarni kuzatish
va filtr qo`shish kabi funksiyalarni bajarish mumkin.

Pyfirmata

-Arduino va Pythonni o`zaro bog`lash uhun kerak bo`ladigan

kutubxona hisoblanadi. Ushbu kutubxona asosan Arduino platasiga buyruqlar yuborish
va undan ma`lumot olish uchun ishlatiladi. Firmata protokoli orqali Arduinoni
boshqarish imkonini beradi.

Mediapipe

-Google kompaniyasi tomonidan ishlab chiqarilgan mashinani

o`rganish (Machine Learning) kutubxonasi bo`lib, yuz, qo`l xarakatlari va tana


background image

T A D Q I Q O T L A R

jahon ilmiy – metodik jurnali


https://scientific-jl.com

63-son_2-to’plam_Iyun-2025

312

ISSN:3030-3613

xarakatlarini aniqlash uchun ishlatiladi. Bu kutubxonaning yuz aniqlash, barmoqlarni
kuzatish, poza baholash kabi funksiyalar mavjud.

board = pyfirmata.Arduino('COM5')

servo_pins = [2, 3, 4, 5]

Kodning ushbu qismi Arduino bog`langan kompyuter porti va barmoqlarni

xarakatga keltiruvchi servo motorlarni Arduinoga ulanishi kerak bo`lgan pinlarni
tanitish va tanib olish jarayoni uchun javobgar qismi hisoblanadi.

servo_angles[0] = 180 if thumb < index else 0

servo_angles[1] = 180 if thumb < middle else 0
servo_angles[2] = 180 if thumb < ring else 0
servo_angles[3] = 180 if thumb < pinky else 0

Ushbu qismda servo motorning xarakat burchaklari buyrug`I keltirib o`tilgan va

bu yerda asosan 4 ta barmoq uchun buyruq mavjud va servo 0 dan 180 gradusgacha
xarakatlanadi.

Python kodini asosiy qismlari shulardan iborat. Ushbu qismlar yaratilayotgan

texnologiyaning asosiy vazifalari haqida gapiradi va tusuhunarli shaklgan ega.

Arduino dasturlash tili haqida gapiradigan bo`lsak, Arduino – bu ochiq kodli

elektronika platformasi bo‘lib, oddiy apparat va dasturiy ta’minot kombinatsiyasi
orqali turli elektron qurilmalarni yaratish imkonini beradi. Arduino platformasi asosan
mikroprotsessorlarga asoslangan bo‘lib, u sensorlar, aktuatorlar va boshqa elektron
komponentlar bilan ishlashga mo‘ljallangan.

Arduino dasturlash tili asosan C va C++ dasturlash tillariga asoslangan. Uning

oddiy va tushunarli sintaksisi yangi boshlovchilar uchun ham qulay bo‘lib,
mikroprotsessorlar bilan ishlashni ancha osonlashtiradi. Dasturlash uchun rasmiy
Arduino IDE muhiti ishlatiladi va unda dasturlar yozilib, qurilmaga yuklanadi.

Arduino dasturlashda asosiy tushunchalar mavjud. Birinchi navbatda setup va

loop funksiyalari muhim rol o‘ynaydi. Setup funksiyasi dastur boshida bir marta
ishlaydi va qurilmaning dastlabki sozlamalarini bajaradi. Loop funksiyasi esa doimiy
ravishda takrorlanib turadi va qurilmaning asosiy ish jarayonlarini boshqaradi.

Arduino bilan turli loyihalar yaratish mumkin. Masalan, avtomatlashtirilgan

tizimlar, aqlli uy loyihalari, robototexnika, iqlim nazorati va boshqalar. Uning
modullar va sensorlar bilan moslashuvchanligi turli sohalarda qo‘llanilishiga imkon
yaratadi.

Arduino dasturlash tili oson sintaksisga ega bo‘lib, kichik kodlar bilan katta

funksionallikni ta’minlaydi. Masalan, oddiy LED chirog‘ini yoqish yoki harorat
sensoridan ma’lumot olish kabi jarayonlar bir necha qator kod orqali amalga oshiriladi.

Xulosa qilib aytganda, Arduino dasturlash tili elektron qurilmalar bilan ishlashni

osonlashtiruvchi qulay vosita hisoblanadi. Uning ochiq kodli ekotizimi va keng
jamoatchilik tomonidan qo‘llab-quvvatlanishi turli sohalarda innovatsion loyihalarni


background image

T A D Q I Q O T L A R

jahon ilmiy – metodik jurnali


https://scientific-jl.com

63-son_2-to’plam_Iyun-2025

313

ISSN:3030-3613

ishlab chiqish uchun keng imkoniyat yaratadi. Arduino dasturlash tilining robot qo`l
uchun foydalanishdan asosiy maqsad oson sintaksisga ega bo`lgan kod orqali servo
motorlarni oson va tushunarli tarzdan boshqarishdir. Servo motorlarga esa buyruqlar
Arduino nano platasi orqali jo`natiladi. Arduino nano platasi Otmega 328P
mikrokontrollerga ega bo`lib 30 ta kiritish va chiqarish portlarini o`z ichiga oladi.
Arduino nano platasi Arduino tilida yozilgan buyruqlarga asoslangan holda o`ziga
ulangan komponentlarni ya`ni servo motorlar, dc motorlar, sensorlar va boshqa
datchiklarni boshqaradi, ulardan ma`lumot qabul qiladi, qayta ishlaydi va chiqish
portlari orqali buyruq beradi. Sun`iy robot qo`l yaratishda Arduino nano dan
foydalanishdan asosiy maqsad shuki, uning kichik xajmdagi plataga ega ekanligi va
moslashtiruvchi controllerga ega ekanligi. Moslashtiruvchi kontrollerni asosiy afzalligi
shundaki, har portlar servo va dc motorlarga moslashtirilganligi va quvvat manbai
uchun aloxida yuqoriroq quvvat qabul qiluvchi port bilan jixozlanganligi. Qo`l yaratish
uchun o`z-o`zidan ko`p servo motorlardan foydalaniladi, shu sababdan ushbu qurilma
ko`proq quvvat talab qiladi, shu sababdan moslashtiruvchi controller ayni muddaodir.

Arduino dasturlash tilida yozilgan Arduino uchun yozilgan kodni tahlil qiladigan

bo`lsak,

#include <Servo.h>
#include <Firmata.h>

Arduino dasturlash tilida #include buyrug`i kutubxonalarni chaqirib olish uchun

ishlatiladi. Yuqoridagi kodning boshlang`ich qismida servo motorlar va Python va
Arduinoni bog`lovchi kutubxona chaqirib olingan va bundan asosiy maqsad python
tilidan yozilgan kodni Arduinoga adaptatsiya qilish va servo motorlarni Arduino
platasiga tanitib olish.

Servo servoThumb;
Servo servoIndex;
Servo servoMiddle;
Servo servoRing;
Servo servoPinky;

Ushbu 5 qatorli kod 5 ta servo uchun ishlatiladi va bu beshta servo motorlar

sun`iy qo`lning 5 ta barmog`I uchun javobgar hisoblanadi vas hu sababdan bu servo
motorlar ozi javob beruvchi barmoq nomi bilan nomlangan. Bundan asosiy maqsad
servo motorlar xarakatini boshqarishda yanglishib ketmaslikdir.

servoThumb.attach(7);
servoIndex.attach(9);
servoMiddle.attach(11);
servoRing.attach(8);


background image

T A D Q I Q O T L A R

jahon ilmiy – metodik jurnali


https://scientific-jl.com

63-son_2-to’plam_Iyun-2025

314

ISSN:3030-3613

servoPinky.attach(10);

Bu qismdagi “attach” buyrug`i servo motor ulangan Arduino portiga buyruq

uzatadi va ko`ringanidek 7, 9, 11, 8 va 10 chi portlarga ulangan servo motorlarga
buyruq uzatilmoqda.

Arduino kodining xam asosiy qismlari shundan iborat va boshqa qislarda python

mediapipe kutubxonasidan olingan buyruqqa asoslangan xolda servo motorlarga
buyruq uzatish qismlari yoziladi.

1-rasm. Robot sun`iy qo`l

Ushbu suratda ishlab chiqilayotgan sun`iy qo`lning to`g`ridan tog`ri ko`rinishi.

Ushbu prototiv boshlanish qismi ya`ni o`z nomidan kelib chiqib prototiv xoli uchun
3D printer yordamida (PLA) filament materialidan tashkil topgan xolda 3D formati
realizatsiya qilingan. Ushbu texnologiya ishlatilish joyi, muhiti va xizmatiga qarab
ishlab chiqiluvchi material turi va xarakat aniqliklari chuqurroq va qayta ishlab
chiqiladi.

Ushbu ishlab chiqiladigan robot sun`iy qo`l ko`plab sohalarda keng qo`llanilishi

mumkin. Masalan qurilish sohasida, o`g`il bo`lgan yuklarni bir joydan boshqa joyga
ko`chirish imkonini beradi. Bu texnologiyasi yanada mukammalroq ishlab chiqish
orqali tibbiyot soxasida, nozik operatsiyalarni yuqori aniqlikda bajarish uchun ham
qo`llash mumkin. Harbiy soxada esa, juda xavfli bo`lgan topshiriqlar, jumladan


background image

T A D Q I Q O T L A R

jahon ilmiy – metodik jurnali


https://scientific-jl.com

63-son_2-to’plam_Iyun-2025

315

ISSN:3030-3613

sapyorlik ya`ni mina va bombalarni zararsizlantirishda ushbu texnologiyadan
foydalanish bir insonning xayotini saqlab qolishiga yaqqol misol bo`lishi mumkin.
Sun`iy qo`llar kelajak texnologiyasi uchun eng asosiy misollar hsioblanadi. Ushbu
texnologiyani nerv tizimi bilan adaptatsiya qilish bilan baxtsiz hodisa oqibatida yoki
tug`ma qo`lsiz tug`ilgan insonlar uchun protez qo`l vazifasini bajaruvchi qurilma ishlab
chiqish ham mumkin va bu yo`l orqali bunday turdagi nogiron insonlarni hayotini
qisman bo`lsada osonlashtirish imkoni mavjuddir.

FOYDALANILGAN ADABIYOTLAR:

1.

"Mechatronic Hands: Prosthetic and Robotic Design" – Paul H. Chappell

2.

URL:

https://www.amazon.com/Mechatronic-Hands-Prosthetic-robotic-

Robotics/dp/1785611542

3.

"The Human Hand as an Inspiration for Robot Hand Development" – Ravi
Balasubramanian va Veronica J. Santos (tahrirchilar)

4.

https://www.amazon.com/Inspiration-Development-Springer-Advanced-
Robotics/dp/3319030167

5.

"Prosthetic Robotic Hand: Mechanical Design, Contact-Mechanics Modeling
and Experiments" – Osman H. O. Hasan

6.

https://www.amazon.com/Prosthetic-Robotic-Hand-Contact-Mechanics-
Investigations/dp/3659645796

7.

"Design of Humanoid Robotic Hand Based on Link Underactuation" – IEEE
Conference Publication

8.

http://ieeexplore.ieee.org/document/9907550

9.

"Design and Fabrication of an Affordable, High-Performance Life-Size
Humanoid Robotic Hand with Integrated Nanocomposite Strain Sensors" –
Ahmed Attaoui va boshqalar

10.

https://link.springer.com/article/10.1007/s00170-024-14918-5

Bibliografik manbalar

FOYDALANILGAN ADABIYOTLAR:

"Mechatronic Hands: Prosthetic and Robotic Design" – Paul H. Chappell

Robotics/dp/1785611542

"The Human Hand as an Inspiration for Robot Hand Development" – Ravi

Balasubramanian va Veronica J. Santos (tahrirchilar)

Robotics/dp/3319030167

"Prosthetic Robotic Hand: Mechanical Design, Contact-Mechanics Modeling

and Experiments" – Osman H. O. Hasan

Investigations/dp/3659645796

"Design of Humanoid Robotic Hand Based on Link Underactuation" – IEEE

Conference Publication

"Design and Fabrication of an Affordable, High-Performance Life-Size

Humanoid Robotic Hand with Integrated Nanocomposite Strain Sensors" –

Ahmed Attaoui va boshqalar