Aktarma organları#
giriiş#
123 Robotu, hareket etmesini ve dönmesini sağlayan iki tekerlekli bir tahrik sistemine sahiptir. Tahrik sistemi yöntemleri, robotun nasıl hareket edeceğini kontrol eder.
Aktarma organı mesafeyi iki şekilde ölçebilir: adım ve mm (milimetre). Bir adım, 123 Field’da bir kareye eşittir.
Aktarma organlarını kodlamanın birçok yolu vardır. Aşağıda tüm aktarma organı kodlama yöntemlerinin listesi bulunmaktadır:
İşlemler — Robotu hareket ettir ve döndür.
drive— Robotu sonsuza dek ileri veya geri hareket ettirir.drive_for— Robotu belirli bir mesafe boyunca ileri veya geri hareket ettirir.drive_until— Robotu bir nesne, çarpışma veya çizgi algılayana kadar ileri veya geri hareket ettirir.turn— Robotu sonsuza dek sola veya sağa döndürür.turn_for— Robotu belirli sayıda derece sola veya sağa döndürür.turn_to_heading— Robotu -359 ile 359 derece arasında belirli bir yöne doğru çevirir.stop— Robotun hareketini durdurur.
Değiştiriciler — Aktarma organı ayarlarını düzenleyin.
set_timeout— Robotun bir hareketi bitirmek için ne kadar süre deneyeceğini ayarlar.set_heading— Robotun mevcut yönünü yeni bir yöne değiştirir.
Getter’lar — Hareket durumunu kontrol edin.
is_stopped— Robotun hareket etmeyi durdurup durdurmadığını Boolean değer olarak döndürür.get_heading— Robotun 0 ile 359 derece arasındaki mevcut yönünü döndürür.
Eylemler#
drive#
drive robotu sonsuza dek ileri veya geri hareket ettirir. Robot, dönme veya durma gibi başka bir işlem verilene kadar hareket etmeye devam edecektir.
Usage:
robot.drive(direction)
Parametreler |
Tanım |
|---|---|
|
Robotun hareket yönü: |
# Drive for 2 seconds.
robot.drive(FORWARD)
wait(2, SECONDS)
robot.stop()
drive_for#
drive_for komutu, robotu belirli bir mesafe boyunca ileri veya geri hareket ettirir. Proje, bir sonraki kod satırı çalışmadan önce robotun hareketini tamamlamasını bekleyecektir.
Usage:
robot.drive_for(direction, distance, unit)
Parametreler |
Tanım |
|---|---|
|
Robotun hareket yönü: |
|
Robotun kat ettiği mesafe. Bu bir tam sayı veya ondalık sayı olabilir. |
|
Mesafe birimi: |
# Drive back and forth.
robot.drive_for(FORWARD, 3, STEPS)
robot.drive_for(REVERSE, 3, STEPS)
drive_until#
drive_until komutu, robotu bir nesne, çarpışma veya çizgi algılayana kadar ileri veya geri hareket ettirir.
Usage:
robot.drive_until(direction)
Parametreler |
Tanım |
|---|---|
|
Robotun hareket yönü: |
# Reverse after a crash.
robot.drive_until(FORWARD)
robot.drive_for(REVERSE, 1, STEPS)
turn#
turn robotu sonsuza dek sola veya sağa döndürür. Robot, sürüş veya durma gibi başka bir işlem verilene kadar dönmeye devam edecektir.
Usage:
robot.turn(direction)
Parametreler |
Tanım |
|---|---|
|
Robotun dönüş yönü: |
# Turn for 2 seconds.
robot.turn(RIGHT)
wait(2, SECONDS)
robot.stop()
turn_for#
turn_for komutu, robotu belirli bir derece kadar sola veya sağa döndürür. Proje, bir sonraki kod satırı çalışmadan önce robotun dönüşünün tamamlanmasını bekleyecektir.
Usage:
robot.turn_for(direction, degrees)
Parametreler |
Tanım |
|---|---|
|
Robotun dönüş yönü: |
|
Döndürülecek derece sayısı. Bu bir tam sayı veya ondalık sayı olabilir. |
# Turn left, then turn around to the right.
robot.turn_for(LEFT, 90)
robot.turn_for(RIGHT, 180)
turn_to_heading#
turn_to_heading komutu, robotu -359 ile 359 derece arasında belirli bir yöne doğru döndürür. Robot, hedef yöne ulaşmak için en kısa yöne doğru dönecektir.
Başlangıç yönü 0 derecedir.
Proje, bir sonraki kod satırını çalıştırmadan önce robotun dönüş işlemini tamamlamasını bekleyecektir.
Usage:
robot.turn_to_heading(heading)
Parametreler |
Tanım |
|---|---|
|
Robotun bakması gereken yön, -359 ile 359 derece arasındadır. |
# Turn to face the cardinal directions.
robot.turn_to_heading(90)
wait(2, SECONDS)
robot.turn_to_heading(180)
wait(2, SECONDS)
robot.turn_to_heading(270)
wait(2, SECONDS)
robot.turn_to_heading(0)
wait(2, SECONDS)
stop#
stop robotun hareketini durdurur.
Usage:
robot.stop()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# Stop driving after 4 seconds.
robot.drive(FORWARD)
wait(4, SECONDS)
robot.stop()
Mutatörler#
set_timeout#
set_timeout , robotun bir hareketi tamamlamak için kaç saniye deneyeceğini belirler. Robot bu süre içinde hareketi tamamlayamazsa, denemeyi bırakır ve bir sonraki kod satırına geçer. Bu, robotun bir harekette takılıp kalmasını önler.
Usage:
robot.set_timeout(time, unit)
Parametreler |
Tanım |
|---|---|
|
Hareket için tanınan süre. Bu süre tam sayı veya ondalık sayı olabilir. |
|
Zaman birimi: |
# Turn right after driving for 1 second.
robot.set_timeout(1, SECONDS)
robot.drive_for(FORWARD, 1000, MM)
robot.turn_for(RIGHT, 90)
set_heading#
set_heading komutu, robotun mevcut yönünü yeni bir yön değerine değiştirir.
Örneğin, robot sağa doğru dönmüşse, yönü 0 dereceye ayarlamak, bu sağa dönük pozisyonu yeni 0 derece yapar.
Usage:
robot.set_heading(heading)
Parametreler |
Tanım |
|---|---|
|
Robot için ayarlanacak yön değeri (derece cinsinden). |
# Face the new 0 degree heading.
robot.set_heading(90)
robot.turn_to_heading(0)
Getters#
is_stopped#
is_stopped , robotun hareket etmeyi durdurup durdurmadığını bildiren bir Boolean döndürür.
True— Robot durduruldu.False— Robot hala hareket halinde.
Usage:
robot.is_stopped()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# Glow blue after a crash.
robot.drive_until(FORWARD)
while True:
if robot.is_stopped():
robot.led.glow(BLUE)
else:
robot.led.glow(GREEN)
wait(0.05, SECONDS)
get_heading#
get_heading fonksiyonu, robotun şu anda baktığı yönü 0 ile 359 derece arasında tam sayı olarak döndürür.
Robotun başlangıç yönü 0 derecedir.
Usage:
robot.get_heading()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# Display the heading after turning.
robot.turn_for(RIGHT, 450)
console.print(robot.get_heading())