MBC Ranger 2-Way × EV3 Classroom

Read the Ranger with EV3 Classroom in three steps

In EV3 Classroom, the Ranger 2-Way shows up as a LEGO Infrared Sensor. So you do not import a library or add an extension: you read it with the Infrared Sensor blocks. Work through the steps on the left and the blocks on the right grow with you. These block pictures were built in EV3 Classroom 1.5.3 and exported straight from the software, so they look exactly like it.

1

Start: program start + repeat forever

You need to read the sensor again and again. A new project already has the yellow "when program starts" block. Attach "forever" under it and put "wait 0.1 seconds" inside, so it reads every 0.1 seconds.

  1. Open EV3 Classroom and press "New Project".
  2. Drag "forever" from "Control" and attach it under "when program starts".
  3. Drag a "wait 1 seconds" block into forever and change the number to 0.1.
2

Meet the reading blocks (Infrared Sensor)

On the EV3, the Ranger 2-Way shows up as a LEGO Infrared Sensor. So you read it with the Infrared Sensor blocks in "Sensors"; no extension needed. The number at the front of each block is the port: choose 1 (the sensor is in port 1). The product puts different values in different blocks:

BlockWhat you getRange
proximityAverage distance0 to 100 (1 step = 1.2 cm, 100 = nothing in front)
heading to beacon 1Left eye distance0 to 100 (1 step = 1.2 cm)
proximity to beacon 1Right eye distance0 to 100 (1 step = 1.2 cm)

Use blocks of only one mode in a program (Proximity, Beacon or Remote). Every mode change makes the EV3 pause for about 1.1 seconds.

3

Show it on the EV3 screen

Put the reading block into "write … at line …" from "Display", use "join" from "Operators" to put a name in front (for example POS), and start the program with "clear display". Click a function and the blocks and result change to its example.

Sensor simulator (seen from above, front of the robot facing up): drag the left and right obstacle distances and watch the output on the right change

The simulator is only a sketch: it turns the obstacle distance on screen into the EV3 number (cm × 100 ÷ 120); it is not the sensor's own method.

Block example for each function

Every value EV3 Classroom can read has a small program you can copy (sensor in port 1). Press "Try it" to jump to step 3.

What EV3 Classroom cannot read: distances in millimetres, the nearer distance, laser start-up and fault status, device ID and firmware version. The modes 3 to 6 added in firmware v4.0 (for example millimetre distances, bitmaps, connection state, device ID) cannot be read with EV3 Classroom blocks either. For these, use Pybricks (the EV3 needs a different microSD card) or clev3r.

Things to know

  1. Plug the sensor into port 1. If you use another port, change the port number on the block. Switch the EV3 on first, then plug in the sensor; if the number never changes, unplug it and plug it in again.
  2. Use one mode per program. Each change between Proximity, Beacon and Remote makes the EV3 pause for about 1.1 seconds, and a racing robot can lose control.
  3. When the sensor is unplugged: the EV3 cannot read it, the number becomes "not a number" and the screen shows ----. Each reading also waits about 1.2 seconds. The program does not stop, and it works again when you plug the sensor back in.
  4. Units: on the EV3, 1 step = 1.2 cm and 100 = nothing in front (or that laser failed). For millimetres use Pybricks or clev3r (modes 3 and 5).
  5. Left and right: stand behind the robot and look forward; the left eye is on the left.
  6. English blocks: EV3 Classroom has only English and Simplified Chinese interfaces; this page uses English.
  7. For complete projects (line following, avoiding obstacles, driving …) see the EV3 examples page; most examples have an EV3 Classroom file to download.