nxtdevices – NXT Devices

Use LEGO® MINDSTORMS® NXT motors and sensors with the EV3 brick.

NXT Motor

This motor works just like a LEGO MINDSTORMS EV3 Large Motor. You can use it in your programs using the Motor class.

NXT Touch Sensor

_images/sensor_nxt_touch.png
class TouchSensor(port)

LEGO® MINDSTORMS® NXT Touch Sensor.

Parameters

port (Port) – Port to which the sensor is connected.

pressed()

Checks if the sensor is pressed.

Returns

True if the sensor is pressed, False if it is not pressed.

Return type

bool

NXT Light Sensor

_images/sensor_nxt_light.png
class LightSensor(port)

LEGO® MINDSTORMS® NXT Color Sensor.

Parameters

port (Port) – Port to which the sensor is connected.

NXT Color Sensor

_images/sensor_nxt_color.png
class ColorSensor(port)

LEGO® MINDSTORMS® NXT Color Sensor.

Parameters

port (Port) – Port to which the sensor is connected.

color()

Measures the color of a surface.

Returns

Color.BLACK, Color.BLUE, Color.GREEN, Color.YELLOW, Color.RED, Color.WHITE or None.

Return type

Color, or None if no color is detected.

ambient()

Measures the ambient light intensity.

Returns

Ambient light intensity, ranging from 0 (dark) to 100 (bright).

Return type

percentage: %

reflection()

Measures the reflection of a surface.

Returns

Reflection, ranging from 0 (no reflection) to 100 (high reflection).

Return type

percentage: %

rgb()

Measures the reflection of a surface using a red, green, and then a blue light.

Returns

Tuple of reflections for red, green, and blue light, each ranging from 0.0 (no reflection) to 100.0 (high reflection).

Return type

(percentage: %, percentage: %, percentage: %)

Built-in light

This sensor has a built-in light. You can make it red, green, blue, or turn it off.

light.on(color)

Turns on the light at the specified color.

Parameters

color (Color) – Color of the light.

light.off()

Turns off the light.

NXT Ultrasonic Sensor

_images/sensor_nxt_ultrasonic.png
class UltrasonicSensor(port)

LEGO® MINDSTORMS® NXT Ultrasonic Sensor.

Parameters

port (Port) – Port to which the sensor is connected.

NXT Sound Sensor

_images/sensor_nxt_sound.png
class SoundSensor(port)

LEGO® MINDSTORMS® NXT Sound Sensor.

Parameters

port (Port) – Port to which the sensor is connected.

NXT Temperature Sensor

_images/sensor_nxt_temp.png
class TemperatureSensor(port)

LEGO® MINDSTORMS® NXT Temperature Sensor.

Parameters

port (Port) – Port to which the sensor is connected.

NXT Energy Meter

_images/energymeter.png
class EnergyMeter(port)

LEGO® MINDSTORMS® Education NXT Energy Meter.

Parameters

port (Port) – Port to which the sensor is connected.

Vernier Adapter

class VernierAdapter(port, conversion=None)

LEGO® MINDSTORMS® Education NXT/EV3 Adapter for Vernier Sensors.

Parameters
  • port (Port) – Port to which the sensor is connected.

  • conversion (callable) – Function of the format conversion. This function is used to convert the raw analog voltage to the sensor-specific output value. Each Vernier Sensor has its own conversion function. The example given below demonstrates the conversion for the Surface Temperature Sensor.

Example: Using the Surface Temperature Sensor.

#!/usr/bin/env pybricks-micropython
from pybricks.parameters import Port
from pybricks.nxtdevices import VernierAdapter

from math import log


# Conversion formula for Surface Temperature Sensor
def convert_raw_to_temperature(voltage):

    # Convert the raw voltage to the NTC resistance
    # according to the Vernier Adapter EV3 block.
    counts = voltage/5000*4096
    ntc = 15000*(counts)/(4130-counts)

    # Handle log(0) safely: make sure that ntc value is positive.
    if ntc <= 0:
        ntc = 1

    # Apply Steinhart-Hart equation as given in the sensor documentation.
    K0 = 1.02119e-3
    K1 = 2.22468e-4
    K2 = 1.33342e-7
    return 1/(K0 + K1*log(ntc) + K2*log(ntc)**3)


# Initialize the adapter on port 1
thermometer = VernierAdapter(Port.S1, convert_raw_to_temperature)

# Get the measured value and print it
temp = thermometer.value()
print(temp)