Lewati ke konten
Bahasa Indonesia

Sensor jarak

Sensor jarak mengukur jarak, dalam meter, ke benda pertama di depannya, hingga 0,8 m. Robot pemula punya tiga sensor: leftDist, frontDist, dan rightDist, yang menghadap ke kiri, depan, dan kanan.

Tiga sensor jarak dilihat dari atas, menghadap ke kiri, depan, dan kanan

from controller import Robot
robot = Robot()
timeStep = int(robot.getBasicTimeStep())
frontDist = robot.getDevice("frontDist") # Get the sensor by name
frontDist.enable(timeStep) # Enable it
while robot.step(timeStep) != -1:
print("Front:", round(frontDist.getValue(), 3), "m")

Lebar satu ubin adalah 12 cm, jadi saat robot berada di tengah ubin, dinding di sampingnya berjarak sekitar 5 cm. Program ini memeriksa ketiga sensor, lalu mencetak sensor mana yang melihat dinding:

from controller import Robot
robot = Robot()
timeStep = int(robot.getBasicTimeStep())
# Keep the sensors in a dictionary, to use them by name
sensors = {}
for name in ["leftDist", "frontDist", "rightDist"]:
sensors[name] = robot.getDevice(name)
sensors[name].enable(timeStep)
WALL = 0.07 # Closer than 7 cm counts as a wall next to the robot
while robot.step(timeStep) != -1:
walls = [name for name, sensor in sensors.items() if sensor.getValue() < WALL]
print("Walls:", walls)

Sensor mengukur dari posisinya di robot, bukan dari tengah robot. Cetak nilainya saat robot berada di dekat dinding untuk menentukan nilai ambangmu sendiri.