Skip to main content

Lesson 1: Distance Sensor

In this Lesson, you will learn what the Distance Sensor is, and why you would use the Distance Sensor with a VR Robot. You will learn how the Distance Sensor works, and how to use the Distance Sensor in a VEXcode VR project.

Learning Outcomes

  • Identify that the Distance Sensor reports the distance between it and the nearest object.
  • Identify that the Distance Sensor determines distance by using the time it takes for ultrasonic waves to bounce off of an object and return to the sensor.
  • Identify that the <Distance found object> block is a Boolean reporter block that reports if the Distance Sensor has found an object.
  • Identify that the (Distance from) block reports the distance of the nearest object in millimeters or inches.
  • Describe why the Distance Sensor would be used in a VEXcode VR project.

Distance Sensor

The Distance Sensor reports the distance between the front of the Distance Sensor on the VR Robot and the nearest object. The Distance Sensor is located in the Front Eye on the VR Robot.

The VEXcode VR Robot with a red box highlighting its VR Front Eye and Distance Sensor.

The Distance Sensor calculates distance by using the time it takes for ultrasonic waves to bounce off of an object and return to the sensor.

A diagram showing the ultrasonic waves bouncing from the VR Distance Sensor, then to a far wall, and back to the VR Distance Sensor.

Read the article Distance Sensor - Robot Features - VEX VR for detailed information on how the Distance Sensor works, and how to use the Distance Sensor in a VEXcode VR project.

<Distance found object> block

The Distance Sensor detects if there is an object in front of it when the <Distance found object> block is used in a project. The <Distance found object> block is a Boolean reporter block that reports a TRUE or FALSE value.  This block is used inside blocks with hexagonal (six-sided) spaces.

VEXcode VR Distance Found Object block, reading 'Front Distance found an object?'.

  • <Distance found object> reports TRUE when the Distance Sensor detects an object or surface within its field of view, and within 3000 mm of the sensor.
  • <Distance found object> reports FALSE when the Distance Sensor does not detect an object or surface within 3000 mm.

(Distance from) block

The (Distance from) block is a numeric reporter block that reports the distance of the nearest object from the front of a VR Robot. The (Distance from) numeric reporter block is an oval block that is used inside blocks with oval input spaces. The following Knowledge Base article discusses the five different shapes of VEXcode VR blocks and what each shape of the blocks tells you about its role in VEXcode VR projects.

VEXcode VR Distance From block, reading 'Front Distance in millimeters'.

Choose whether the (Distance from) is reported in millimeters (mm) or inches (in).

VEXcode VR Distance From block, with a dropdown menu open to change the measuring unit from millimeters to inches.

The (Distance from) block can be used with other blocks in a project to instruct a VR Robot to drive a certain distance away from (or toward) an object, or to complete an action when a specific distance is reported.

In the following example, you can see how the (Distance from) block is used inside of a Boolean reporter block in a VEXcode VR project. In this project the VR Robot will drive forward until the distance reported is less than 50 millimeters (mm) from an object. Then, the VR Robot will stop.

VEXcode VR Blocks project to drive forward and wait until the front distance sensor detects an object less than 50 millimeters away, and then stop driving.

Note: This project uses a <Less than> block. You will learn more about the <Greater than> and <Less than> Boolean reporter blocks in this Unit.

Apply

The Distance Sensor can detect if there is an object in front of a VR Robot. This can be used to avoid or find a wall or object. The Distance Sensor can measure the distance between the front of the Distance Sensor and the front of the wall or object. 

Using the Distance Sensor will allow a VR Robot to drive up to an object without touching it. This can be helpful in navigating a maze without continuously bumping into the walls, to avoid an object, or to drive to an object or wall in the VEXcode VR Playgrounds.

This video below is an example of a VR Robot navigating the Wall Maze Playground using the Distance Sensor. Notice that the VR Robot does not touch any walls. The robot drives forward until a wall is detected, then turns left or right as it navigates from the start of the maze to the number 2.

Using Switch Blocks 

The table below compares the VEXcode and Switch <Distance found object> and (Distance from) blocks.

VEXcode Block  Switch Block 
VEXcode VR Distance Found Object block, reading 'Front Distance found an object?'. VEXcode VR switch block, with Python code reading front_distance.found_object().
VEXcode VR Distance From block, reading 'Front Distance in millimeters'. VEXcode VR switch block, with Python code reading front_distance.get_distance(MM).

 

Remember that you can change the unit parameter of the Switch (Distance from) block by typing "INCHES." As you type in the parameter, a suggestion will appear, and you may hit enter, the tab key, or click on the suggested unit to select it. 

VEXcode VR switch block, with Python code reading front_distance.get_distance(). The user is typing in the word 'Inches' as the parameter, and the program is auto-completing it.

Questions

Please select a link below to access the lesson quiz.

Google Doc / .docx / .pdf