Blocks: tüm sayfalar

FTC blok listesi

Bu sayfa FTC Blocks'taki kategorileri ve içlerindeki blokları listeler. Bloklar FTC'nin kendi Blocks editöründen alınmıştır ve İngilizcedir; Control Hub'daki aynı adlı bloklarla aynı çalışır. Ayrıntılı açıklama için FTC dokümanına bak: FTC Docs: Blocks.

Araç kutusunda yalnız okul robotu için gereken bloklar vardır. Cihaz türleri DcMotor, Servo, CRServo ve IMU ile sınırlıdır; renk, mesafe ve dokunma sensörleri yoktur.

Ürettiği kod sütunu, bloğun OnBot Java bölümünde ürettiği satırı gösterir. <ad> yerine Robot yapılandırmasındaki cihaz adı yazılır.

Cihaz kategorileri nasıl oluşur

Actuators ve Sensors altındaki kategoriler Robot yapılandırmasından kurulur. Her cihaz için kendi adıyla bir kategori çıkar. Yapılandırmada o türde cihaz yoksa kategori görünmez. Bkz. Robot yapılandırmasını ayarla.

LinearOpMode

Blok Ne yapar Ürettiği kod
call waitForStart START'a basılana kadar bekler. waitForStart();
call idle Döngüde işlemciyi kısa süre bırakır. idle();
call sleep 1000 Verilen milisaniye kadar bekler. sleep(1000);
call opModeInInit INIT ile START arasındaysa doğru verir. opModeInInit()
call opModeIsActive Program çalışıyorsa doğru verir. Ana döngünün koşuludur. opModeIsActive()
call isStarted / call isStopRequested START'a basıldı mı / STOP istendi mi. isStarted() / isStopRequested()
call getRuntime / call resetRuntime OpMode süresini verir / sıfırlar. getRuntime() / resetRuntime();
call requestOpModeStop Programı durdurur. requestOpModeStop();

Gamepad

Grup Bloklar Ürettiği kod
Çubuk ve tetik (sayı) gamepad1.LeftStickX, LeftStickY, RightStickX, RightStickY, LeftTrigger, RightTrigger gamepad1.left_stick_x, gamepad1.left_stick_y, gamepad1.left_trigger
Tuşlar (doğru/yanlış) A, B, X, Y, LeftBumper, RightBumper, DpadUp, DpadDown, DpadLeft, DpadRight, Back, Start, LeftStickButton, RightStickButton gamepad1.a, gamepad1.left_bumper, gamepad1.dpad_up
Pressed AWasPressed ... DpadRightWasPressed: tuşa yeni basıldıysa bir kez doğru verir. gamepad1.a_was_pressed()
Rumble rumble (500 ms), rumbleBlips (3), isRumbling, stopRumble: kumandayı titretir. gamepad1.rumble(500);, gamepad1.rumbleBlips(3);, gamepad1.isRumbling(), gamepad1.stopRumble();

Tüm Gamepad blokları gamepad1 ile gelir. İkinci kumanda için bloktaki listeden gamepad2'yi seç. Bloğun özellik listesinde araç kutusunda olmayan seçenekler de vardır: AWasReleased gibi bırakma seçenekleri, Circle, Cross gibi PlayStation adları ve Touchpad.

Actuators

Alt kategori Bloklar Ürettiği kod
DcMotor > <ad> Power yaz (1 ve 0), Power oku. <ad>.setPower(1);, <ad>.getPower()
DcMotor > <ad> Direction, ZeroPowerBehavior, Mode (RunMode) yaz. <ad>.setDirection(DcMotor.Direction.REVERSE);, <ad>.setZeroPowerBehavior(DcMotor.ZeroPowerBehavior.BRAKE);, <ad>.setMode(DcMotor.RunMode.RUN_WITHOUT_ENCODER);
DcMotor > <ad> CurrentPosition oku, TargetPosition yaz ve oku, isBusy. <ad>.getCurrentPosition(), <ad>.setTargetPosition(0);, <ad>.isBusy()
DcMotor > <ad> İki motora aynı anda Power veren blok. Yapılandırmada en az iki motor varsa çıkar. <ad1>.setPower(1); ve <ad2>.setPower(1);
DcMotor > <ad> > Extended Velocity yaz ve oku, getCurrent. ((DcMotorEx) <ad>).setVelocity(0);, ((DcMotorEx) <ad>).getVelocity()
Servo > <ad> Position yaz (0.5) ve oku, Direction, scaleRange (0.2-0.8). <ad>.setPosition(0.5);, <ad>.getPosition(), <ad>.setDirection(Servo.Direction.REVERSE);, <ad>.scaleRange(0.2, 0.8);
CRServo > <ad> Power yaz (1 ve 0), Direction. <ad>.setPower(1);, <ad>.setDirection(CRServo.Direction.REVERSE);

Sensors

Alt kategori Bloklar Ürettiği kod
IMU > <ad> initialize (REV hub yönüyle), resetYaw. <ad>.initialize(new IMU.Parameters(...));, <ad>.resetYaw();
IMU > <ad> RobotYawPitchRollAngles, Yaw (açı birimiyle). <ad>.getRobotYawPitchRollAngles(), orientation.getYaw(AngleUnit.DEGREES)
IMU > <ad> getRobotAngularVelocity, ZRotationRate. <ad>.getRobotAngularVelocity(AngleUnit.DEGREES), angularVelocity.zRotationRate

Utilities

Alt kategori Bloklar Ürettiği kod
ElapsedTime Zamanlayıcı oluştur, Seconds, Milliseconds, reset. new ElapsedTime(), myElapsedTime.seconds(), myElapsedTime.milliseconds(), myElapsedTime.reset();
Range clip (değeri sınırlar), scale (değeri başka aralığa çevirir). Range.clip(0, -1, 1), Range.scale(0, 0, 1, 0, 100)
Telemetry addData (sayı), addData (metin), addLine, update. telemetry.addData("key", 123);, telemetry.addData("key", "text");, telemetry.addLine("text");, telemetry.update();
Time currentTimeMillis, nanoTime. System.currentTimeMillis(), System.nanoTime()

Genel programlama blokları

Kategori Bloklar
Logic if, if-else, if-else if-else, karşılaştırma, and / or, not, true / false, üçlü seçim.
Loops repeat 10 times, repeat while, count with (1-10), for each item, break out of loop (listeden continue with next iteration of loop seçilebilir).
Math Sayı, + − × ÷ ^, eksi, mutlak değer, karekök, trigonometri, atan2, sabitler, yuvarlama, min / max, kalan, sınırlama, rastgele sayı.
Text Metin, birleştirme, uzunluk, formatNumber.
Lists Boş liste, liste oluştur, uzunluk, öğe al, öğe yaz.
Variables Create variable... ve değişken blokları.
Functions Fonksiyon tanımlama (to do something), değer döndüren fonksiyon, if return, çağırma blokları.

Bu blokların ürettiği kodu OnBot Java bölümünde görürsün.

Bu sayfada
Cihaz kategorileri nasıl oluşurLinearOpModeGamepadActuatorsSensorsUtilitiesGenel programlama blokları