Motor#
giriiş#
Motorlar ve motor grupları, bir robotun parçalarının nasıl hareket ettiğini kontrol eder. Bir Motor yapılandırılmış bir IQ Akıllı Motoru kontrol ederken, bir MotorGroup birden fazla yapılandırılmış IQ Akıllı Motoru birlikte kontrol ederek eş zamanlı olarak hareket etmelerini sağlar. Motorlar ve motor grupları, bir kolu kaldırmak, bir pençeyi döndürmek, bir tekerleği döndürmek veya bir yapının başka bir parçasını hareket ettirmek için kullanılabilir. İki motor, tüm robotu hareket ettirmek ve döndürmek için bir tahrik sistemi olarak birlikte çalışabilir.
Her motor veya motor grubu, Aygıtlar penceresinde yapılandırılır. Sürüme bağlı olarak, motor ve motor grubu adları değişebilir. Bu sayfada örnek adlar olarak motor_1 ve motor_group_1 kullanılmıştır. Bunları gerektiğinde kendi yapılandırdığınız adlarla değiştirin.
Varsayılan olarak, FORWARD motoru saat yönünün tersine, REVERSE ise saat yönünde döndürür. Bir motor ters yönde çalışacak şekilde ayarlanırsa, bu yönler değiştirilir.
Motorları ve motor gruplarını kodlamanın birçok yolu vardır. Aşağıda tüm Motor ve MotorGrubu yöntemlerinin listesi bulunmaktadır:
İşlemler — Motorları ve motor gruplarını durdurun ve döndürün.
spin— Bir motoru veya motor grubunu sonsuza dek ileri veya geri yönde döndürür.spin_for— Bir motoru veya motor grubunu belirtilen bir mesafe boyunca döndürür.spin_to_position— Bir motoru veya motor grubunu belirli bir konuma döndürür.stop— Bir motorun veya motor grubunun dönmesini durdurur.
Değiştiriciler — Motor ve motor grubu ayarlarını düzenleyin.
set_velocity— Bir motora veya motor grubuna ne kadar hızlı döneceğini söyler.set_max_torque— Bir motorun veya motor grubunun dönerken ne kadar sert itme kuvveti uygulayabileceğini ayarlar.set_position— Motorun veya motor grubunun mevcut konumunu yeni bir değere değiştirir.set_stopping— Bir motorun veya motor grubunun hareket etmeyi nasıl durduracağını ayarlar: frenleme, serbest sürüş veya tutma yoluyla.set_timeout— Bir motorun veya motor grubunun bir hareketi bitirmek için ne kadar süre deneyeceğini ayarlar.set_reversed— Bir motorun dönüş yönünün tersine çevrilip çevrilmeyeceğini değiştirir.reset_position— Bir motorun veya motor grubunun mevcut konumunu 0’a değiştirir.
Getter’lar — Motor ve motor grubu durumunu kontrol edin.
position— Motorun veya motor grubunun mevcut konumunu döndürür.velocity— Motorun veya motor grubunun ne kadar hızlı döndüğünü döndürür.current— Motorun veya motor grubunun ne kadar elektrik akımı kullandığını döndürür.is_done— Motorun veya motor grubunun hareketinin tamamlanıp tamamlanmadığını Boolean değer olarak döndürür.is_spinning— Motorun veya motor grubunun dönüp dönmediğini Boolean değer olarak döndürür.direction— Motorun veya motor grubunun dönme yönünü döndürür.power— Motorun veya motor grubunun ne kadar güç kullandığını döndürür.torque— Motorun veya motor grubunun ne kadar tork kullandığını döndürür.efficiency— Motorun veya motor grubunun gücü ne kadar verimli kullandığını döndürür.temperature— Motorun veya motor grubunun sıcaklığını döndürür.count— Bir motor grubundaki motor sayısını döndürür.get_timeout— Motorun veya motor grubunun geçerli zaman aşımı süresini döndürür.
Yapıcılar — Motorları ve motor gruplarını manuel olarak başlatın ve yapılandırın.
Motor— Bir motor oluşturur.MotorGroup— Bir motor grubu oluşturur.
Eylemler#
spin#
spin bir motoru veya motor grubunu sonsuza kadar ileri veya geri yönde döndürür. Motor veya motor grubu, farklı bir yönde dönme veya durma gibi başka bir işlem verilene kadar dönmeye devam edecektir.
Usage:
motor_1.spin(direction, velocity, units)
Parametreler |
Tanım |
|---|---|
|
Motorun veya motor grubunun dönüş yönü: |
|
Optional. The velocity to spin with from 0% to 100% when using |
|
İsteğe bağlı. Hız birimi:
|
# Spin the motor forward, then stop
motor_1.spin(FORWARD)
wait(1, SECONDS)
motor_1.stop()
spin_for#
spin_for komutu, bir motoru veya motor grubunu belirli bir mesafe boyunca döndürür. Dönme, motorun veya motor grubunun mevcut konumuna göre belirlenir. Proje, bir sonraki kod satırı çalışmadan önce motorun veya motor grubunun dönmesini bekleyecektir.
Usage:
motor_1.spin_for(direction, angle, units, velocity, units_v, wait)
Parametreler |
Tanım |
|---|---|
|
Motorun veya motor grubunun dönüş yönü: |
|
Motorun veya motor grubunun dönme mesafesi. Bu, |
|
İsteğe bağlı. Mesafe birimi: |
|
Optional. The velocity to spin with from 0% to 100% when using |
|
İsteğe bağlı. Hız birimi:
|
|
İsteğe bağlı.
|
# Spin the motor forward, then put it
# at 90 degrees
motor_1.spin(FORWARD)
wait(2, SECONDS)
motor_1.spin_to_position(90, DEGREES)
# Spin the motor at different velocities
# Using default velocity
motor_1.spin_for(FORWARD, 150, MM)
wait(1, SECONDS)
# Spin slower
motor_1.spin_for(REVERSE, 150, MM, 20, PERCENT)
wait(1, SECONDS)
# Spin faster
motor_1.spin_for(FORWARD, 150, MM, 100, PERCENT)
spin_to_position#
spin_to_position , bir motoru veya motor grubunu belirli bir konuma döndürür.
Bir motorun veya motor grubunun konumu, DEGREES veya TURNScinsinden ölçülen ne kadar döndüğünü gösterir. Bir tur 360 dereceye eşittir. Bir projenin başlangıcında, motor veya motor grubunun konumu 0 dereceye ayarlanır. Motor veya motor grubunun konumu ayrıca set_position yöntemi kullanılarak da ayarlanabilir.
Pozisyon değerleri mutlaktır. Bu, dönüş yönünün motorun veya motor grubunun mevcut konumuna bağlı olduğu anlamına gelir.
Örneğin, motor veya motor grubu 0 dereceden başlayıp 720 dereceye kadar dönerse, iki tur ileri dönecektir. Daha sonra 360 dereceye kadar dönerse, 360, 720’den küçük olduğu için bir tur geri dönecektir.
Usage:
motor_1.spin_to_position(rotation, units, velocity, units_v, wait)
Parametreler |
Tanım |
|---|---|
|
Motorun veya motor grubunun döneceği konum değeri. Bu |
|
Konum birimi: |
|
Optional. The velocity to spin with from 0% to 100% when using |
|
İsteğe bağlı. Hız birimi:
|
|
İsteğe bağlı.
|
# Spin the motor forward, then
# put it at 90 degrees
motor_1.spin(FORWARD)
wait(2, SECONDS)
motor_1.spin_to_position(90, DEGREES)
# Spin forward then quickly reverse
# to 0 degrees
motor_1.spin(FORWARD)
wait(2, SECONDS)
motor_1.spin_to_position(0, DEGREES, 100, PERCENT, wait=True)
stop#
stop durdurma, bir motorun veya motor grubunun dönmesini durdurur.
Usage:
motor_1.stop(mode)
Parametreler |
Tanım |
|---|---|
|
İsteğe bağlı. Motorun veya motor grubunun nasıl duracağı:
|
# Spin the motor forward, then stop
motor_1.spin(FORWARD)
wait(1, SECONDS)
motor_1.stop()
# Spin the motor and coast to a stop
motor_1.set_velocity(100, PERCENT)
motor_1.spin(FORWARD)
wait(2, SECONDS)
motor_1.stop(COAST)
Mutatörler#
set_velocity#
set_velocity komutu, bir motora veya motor grubuna ne kadar hızlı döneceğini söyler. Daha yüksek bir yüzde, motorun veya motor grubunun daha hızlı dönmesini, daha düşük bir yüzde ise daha yavaş dönmesini sağlar.
Her proje, her bir motorun veya motor grubunun varsayılan olarak %50 hızda dönmesiyle başlar.
Not: Daha yüksek hız, motorun veya motor grubunun daha hızlı dönmesini sağlar, ancak hassasiyeti azaltabilir. Daha düşük hız ise motorun veya motor grubunun daha yavaş dönmesini sağlar, ancak hassasiyeti artırabilir.
Usage:
motor_1.set_velocity(velocity, units)
Parametreler |
Tanım |
|---|---|
|
The velocity to spin with from 0% to 100% when using |
|
İsteğe bağlı. Hız birimi:
|
# Spin the motor at different velocities
# Using default velocity
motor_1.spin_for(FORWARD, 150, MM)
wait(1, SECONDS)
# Spin slower
motor_1.set_velocity(20, PERCENT)
motor_1.spin_for(REVERSE, 150, MM)
wait(1, SECONDS)
# Spin faster
motor_1.set_velocity(100, PERCENT)
motor_1.spin_for(FORWARD, 150, MM)
set_max_torque#
Tork, bir motorun veya motor grubunun dönerken ne kadar kuvvet uygulayabileceğini veya çekebileceğini gösterir.
set_max_torque , bir motorun veya motor grubunun kullanmasına izin verilen maksimum torku belirler.
Daha yüksek bir yüzde, motorun veya motor grubunun daha fazla itme gücü uygulamasını sağlar, örneğin ağır bir nesneyi kaldırırken olduğu gibi. Daha düşük bir yüzde ise motorun veya motor grubunun ne kadar sert itme gücü uygulayabileceğini sınırlar. Bu, motor veya motor grubu sıkışırsa veya hareket edebileceği sınırın sonuna ulaşırsa robotu korumaya yardımcı olabilir.
Her proje, varsayılan olarak her motorun veya motor grubunun torkunun %50’sinde başlar.
Usage:
motor_1.set_max_torque(value, units)
Parametreler |
Tanım |
|---|---|
|
Motorun veya motor grubunun kullanabileceği maksimum tork. Bu, |
|
Tork birimi:
|
# Spin the motor at different torque values
# Default
motor_1.spin_to_position(45, DEGREES)
# Spin at a lower torque
motor_1.set_max_torque(20, PERCENT)
motor_1.spin_to_position(0, DEGREES)
# Spin at the max torque
motor_1.set_max_torque(100, PERCENT)
motor_1.spin_to_position(45, DEGREES)
set_position#
Bir motorun veya motor grubunun konumu, DEGREES veya TURNScinsinden ölçülen ne kadar döndüğünü gösterir. Bir tur 360 dereceye eşittir. set_position komutu, motorun veya motor grubunun mevcut konumunu yeni bir değere değiştirir.
Örneğin, bir motor veya motor grubu 180 derece döndüyse, pozisyonu 0 dereceye ayarlamak, bu pozisyonu 180 dereceden 0 dereceye sıfırlar. Ardından motor veya motor grubu, bu yeni değere göre pozisyonlara dönebilir.
Usage:
motor_1.set_position(position, units)
Parametreler |
Tanım |
|---|---|
|
Motor veya motor grubu için ayarlanacak konum değeri. Bu |
|
Konum birimi: |
# Position the motor at the
# new 0 degrees
motor_1.set_position(180, DEGREES)
motor_1.spin_to_position(0)
set_stopping#
set_stopping , bir motorun veya motor grubunun hareket etmeyi nasıl durduracağını belirler: frenleme, serbest sürüş veya bekleme yoluyla.
Usage:
motor_1.set_stopping(mode)
Parametreler |
Tanım |
|---|---|
|
Motorun veya motor grubunun nasıl duracağı:
|
# Spin the motor and coast to a stop
motor_1.set_velocity(100, PERCENT)
motor_1.set_stopping(COAST)
motor_1.spin(FORWARD)
wait(2, SECONDS)
motor_1.stop()
set_timeout#
set_timeout parametresi, bir motorun veya motor grubunun bir hareketi tamamlamak için ne kadar süre deneyeceğini belirler. Motor veya motor grubu bu süre içinde hareketi tamamlayamazsa, denemeyi bırakır ve bir sonraki kod satırına geçer. Bu, motorun veya motor grubunun bir harekette takılı kalmasını önler.
Usage:
motor_1.set_timeout(value, units)
Parametreler |
Tanım |
|---|---|
|
Motorun veya motor grubunun bir hareketi tamamlamaya çalışabileceği süre. Bu, pozitif bir tamsayı |
|
İsteğe bağlı. Zaman birimi:
|
# Set a 0.5 second timeout for motor actions
motor_1.set_timeout(0.5, SECONDS)
# Try a long move that will time out early
motor_1.spin_for(FORWARD, 2, TURNS)
motor_1.spin_to_position(0, DEGREES)
set_reversed#
set_reversed bir motorun dönüş yönünün tersine çevrilip çevrilmeyeceğini değiştirir. Bu yöntem, bir Motor oluştururken reverse parametresini True olarak ayarlamakla aynı şekilde çalışır.
Not: Bu yöntem sadece tek bir motorla çalışır, motor grubuyla çalışmaz.
Usage:
motor_1.set_reversed(value)
Parametreler |
Tanım |
|---|---|
|
Motorun yönünün tersine çevrilip çevrilmediği:
|
# Change the reverse direction while spinning
motor_1.spin_for(FORWARD, 45)
motor_1.set_reversed(True)
motor_1.spin_for(FORWARD, 45)
reset_position#
reset_position komutu, motorun veya motor grubunun mevcut konumunu 0’a değiştirir.
Usage:
motor_1.reset_position()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# Spin to 360 degrees, then reset the encoder
motor_1.spin_to_position(360, DEGREES)
motor_1.reset_position()
# Move again to 90 degrees from new zero point
motor_1.spin_to_position(90, DEGREES)
Getters#
position#
Bir motorun veya motor grubunun konumu, DEGREES veya TURNScinsinden ölçülen ne kadar döndüğünü gösterir. Bir tur 360 dereceye eşittir. position motorun veya motor grubunun mevcut konumunu döndürür.
Bir projenin başlangıcında, motorun veya motor grubunun konumu 0 dereceye ayarlanır. Motor veya motor grubu bir tur ileri dönerse, konum 360 derece veya 1 tur olur. Motor veya motor grubu ters yöne dönerse, konum negatif olur.
Usage:
motor_1.position(units)
Parametreler |
Tanım |
|---|---|
|
İsteğe bağlı. Motor veya motor grubu pozisyonunu döndürmek için kullanılan ünite: |
# Spin the motor and display the
# ending position
motor_1.spin(FORWARD)
wait(1, SECONDS)
motor_1.stop()
brain.screen.print(motor_1.position())
velocity#
velocity motorun veya motor grubunun ne kadar hızlı döndüğünü gösterir.
Pozitif bir değer, motorun veya motor grubunun ileri yönde döndüğünü, negatif bir değer ise ters yönde döndüğünü gösterir.
Usage:
motor_1.velocity(units)
Parametreler |
Tanım |
|---|---|
|
İsteğe bağlı. Döndürülecek hız birimi:
|
current#
current motorun veya motor grubunun kullandığı elektrik akımının miktarını 0,0 ile 1,2 A arasında amper cinsinden ölçerek verir. Akım, motordan veya motor grubundan geçen elektrik miktarıdır.
Daha yüksek akım değeri, motorun veya motor grubunun daha fazla elektrik akımı kullandığı anlamına gelir. Bu durum, motor veya motor grubu ağır bir şeyi kaldırırken, bir cisme karşı itme kuvveti uygularken veya sıkışmışken hareket etmeye çalışırken meydana gelebilir.
Bu, motorun veya motor grubunun hareket sırasında zorlanıp zorlanmadığını kontrol etmek için kullanılabilir. Akım yüksek kalırsa, motor ısınabilir veya gücü daha az verimli kullanabilir.
Usage:
motor_1.current(units)
Parametreler |
Tanım |
|---|---|
|
İsteğe bağlı. Döndürülecek mevcut birim:
|
is_done#
is_done , motorun veya motor grubunun hareketinin tamamlanıp tamamlanmadığını Boolean bir değer olarak döndürür. Bu, motorun hareketine bağlı olarak diğer davranışların zamanlamasını kontrol etmek için kullanılabilir.
True— Motor veya motor grubu hareket etmeyi bitirdi.False— Motor veya motor grubu hala hareket halinde.
Bu yöntem, wait parametresine sahip aşağıdaki Hareket yöntemleriyle birlikte çalışır: spin_for ve spin_to_position.
Usage:
motor_1.is_done()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
is_spinning#
is_spinning , motorun veya motor grubunun dönüp dönmediğini Boolean değer olarak döndürür. Bu, motorun hareketine bağlı olarak diğer davranışların zamanlamasını kontrol etmek için kullanılabilir.
True— Motor veya motor grubu dönüyor.False— Motor veya motor grubu dönmüyor.
Bu yöntem, wait parametresine sahip aşağıdaki Hareket yöntemleriyle birlikte çalışır: spin_for ve spin_to_position.
Usage:
motor_1.is_spinning()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
direction#
direction bir motorun veya motor grubunun dönmekte olduğu mevcut yönü döndürür.
FORWARDREVERSE
Usage:
motor_1.direction()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
power#
power , motorun veya motor grubunun watt cinsinden ne kadar güç kullandığını gösterir. Güç, motorun veya motor grubunun enerjiyi ne kadar hızlı kullandığını gösterir.
Daha yüksek güç değeri, motorun veya motor grubunun enerjiyi daha hızlı kullandığı anlamına gelir. Bu durum, motor veya motor grubu ağır bir şeyi kaldırırken, bir cisme karşı itme kuvveti uygularken veya sıkışmışken hareket etmeye çalışırken ortaya çıkabilir.
Bu, hareketleri karşılaştırmak veya motorun veya motor grubunun zorlanıp zorlanmadığını kontrol etmek için kullanılabilir. Güç yüksek kalırsa, motor daha fazla ısınabilir veya enerjiyi daha az verimli kullanabilir.
Usage:
motor_1.power()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
torque#
Tork, bir motorun veya motor grubunun dönerken ne kadar güçlü bir şekilde bükme, itme veya çekme uyguladığını gösterir.
torque motorun veya motor grubunun ne kadar tork kullandığını gösterir.
Daha yüksek tork değeri, motorun veya motor grubunun daha fazla itme veya çekme kuvveti uyguladığı anlamına gelir. Bu durum, motor veya motor grubu ağır bir şeyi kaldırırken, bir cisme karşı itme kuvveti uygularken veya sıkışmış bir şeyi hareket ettirmeye çalışırken ortaya çıkabilir.
Bu yöntem, motorun veya motor grubunun zorlanıp zorlanmadığını kontrol etmek veya farklı hareketlerin ne kadar itme gerektirdiğini karşılaştırmak için kullanılabilir.
Bir motorun veya motor grubunun torkunu ayarlamak için set_max_torque kullanın.
Usage:
motor_1.torque(units)
Parametreler |
Tanım |
|---|---|
|
Döndürülecek tork birimi:
|
efficiency#
efficiency motorun veya motor grubunun gücü ne kadar verimli kullandığını %0 ile %100 arasında bir yüzde olarak gösterir.
Verimlilik, motorun veya motor grubunun gücünün ne kadarının hareket için kullanıldığını gösterir. Daha yüksek bir verimlilik değeri, motorun veya motor grubunun gücünün daha fazlasının hareket için kullanıldığı anlamına gelir. Daha düşük bir verimlilik değeri, motor veya motor grubu çok çalışırken ancak fazla hareket etmediğinde, örneğin sıkıştığında veya bir nesneye karşı itme yaptığında ortaya çıkabilir.
Bu özellik, hareketleri karşılaştırmak veya motorun ya da motor grubunun hareket için kullanmak yerine güç israf edip etmediğini kontrol etmek için kullanılabilir.
Usage:
motor_1.efficiency()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
temperature#
temperature , motorun veya motor grubunun sıcaklığını döndürür.
Motor sıcaklığı, motorun veya motor grubunun ne kadar sıcak olduğunu gösterir. Daha yüksek sıcaklık, motorun veya motor grubunun çalışırken daha çok ısındığı anlamına gelir. Motorun tam performansla çalışmaya devam etmesi için 55 santigrat derecenin altında kalması gerekir.
Motor veya motor grubu aşırı ısınırsa, kendini korumak için maksimum akımını düşürür. 70 derece Celsius’ta motor soğuyana kadar çalışmayı durdurur.
Bu özellik, motorun veya motor grubunun tekrarlanan hareketler, uzun çalışma süreleri veya bir cisme karşı itme kuvveti uygularken aşırı ısınıp ısınmadığını kontrol etmek için kullanılabilir.
Usage:
motor_1.temperature(units)
Parametreler |
Tanım |
|---|---|
|
İsteğe bağlı. Döndürülecek sıcaklık birimi:
|
count#
count bir motor grubundaki motor sayısını döndürür.
Not: Bu yöntem sadece motor grupları için geçerlidir, tek bir motor için geçerli değildir.
Usage:
motor_group_1.count()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
get_timeout#
get_timeout fonksiyonu, motorun veya motor grubunun mevcut zaman aşımını milisaniye cinsinden döndürür.
Not: Bu yöntem sadece tek bir motorla çalışır, motor grubuyla çalışmaz.
Usage:
motor_1.get_timeout()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
İnşaatçılar#
Yapıcılar, Aygıtlar penceresinin dışında Motor ve MotorGroup nesnesini manuel olarak oluşturmak için kullanılır.
Motor#
Motor bir motor oluşturur.
Usage:
motor_1 = Motor(smartport, gears, reverse)
Parametre |
Tanım |
|---|---|
|
Motorun bağlı olduğu Akıllı Bağlantı Noktası, |
|
İsteğe bağlı. Motorun dişli oranı:
|
|
İsteğe bağlı. Motorun dönüş yönünün tersine çevrilip çevrilmeyeceğini ayarlar:
|
# Create a reversed motor
motor_1 = Motor(Ports.PORT1, 1.0, True)
Motor Group#
MotorGroup bir motor grubu oluşturur.
Usage:
motor_group_1 = MotorGroup(motors)
Parametre |
Tanım |
|---|---|
|
Motor grubuna eklenecek önceden oluşturulmuş |
# Create two motors
motor_group_1_motor_a = Motor(Ports.PORT1, False)
motor_group_1_motor_b = Motor(Ports.PORT6, True)
# Create a motor group with those motors
motor_group_1 = MotorGroup(motor_group_1_motor_a, motor_group_1_motor_b)