Sensor

class Sensor(varargin)
List of methods:

High-level class to work with sensors.

The Sensor-class facilitates the communication with sensors. This mainly consists of reading the sensor's type and current value in a specified mode.

Notes

  • You don't need to create instances of this class. The EV3-class automatically creates instances for each sensor port, and you can work with them via the EV3-object.
  • The Sensor-class represents sensor ports, not individual sensors!
  • When an input argument of a method is marked as optional, the argument needs to be 'announced' by a preceding 2nd argument, which is a string containing the name of the argument. For example, Motor.setProperties may be given a power-parameter. The syntax would be as follows: brickObject.motorA.setProperties('power', 50);
mode

DeviceMode.{Type} – Sensor mode in which the value will be read. By default, mode is set to DeviceMode.Default.Undefined. See also type. [WRITABLE]
Once a physical sensor is connected to the port and the physical Brick is connected to the EV3-object, the allowed mode and the default mode for a Sensor-object are the following (depending on the sensor type):

  • Touch-Sensor:
    • DeviceMode.Touch.Pushed [Default]
    • DeviceMode.Touch.Bumps
  • Ultrasonic-Sensor:
    • DeviceMode.UltraSonic.DistCM [Default]
    • DeviceMode.UltraSonic.DistIn
    • DeviceMode.UltraSonic.Listen
  • Color-Sensor:
    • DeviceMode.Color.Reflect [Default]
    • DeviceMode.Color.Ambient
    • DeviceMode.Color.Col
  • Gyro-Sensor:
    • DeviceMode.Gyro.Angular [Default]
    • DeviceMode.Gyro.Rate
  • Infrared-Sensor:
    • DeviceMode.InfraRed.Prox [Default]
    • DeviceMode.InfraRed.Seek
    • DeviceMode.InfraRed.Remote
  • NXTColor-Sensor:
    • DeviceMode.NXTColor.Reflect [Default]
    • DeviceMode.NXTColor.Ambient
    • DeviceMode.NXTColor.Color
    • DeviceMode.NXTColor.Green
    • DeviceMode.NXTColor.Blue
    • DeviceMode.NXTColor.Raw
  • NXTLight-Sensor:
    • DeviceMode.NXTLight.Reflect [Default]
    • DeviceMode.NXTLight.Ambient
  • NXTSound-Sensor:
    • DeviceMode.NXTSound.DB [Default]
    • DeviceMode.NXTSound.DBA
  • NXTTemperature-Sensor
    • DeviceMode.NXTTemperature.C [Default]
    • DeviceMode.NXTTemperature.F
  • NXTTouch-Sensor:
    • DeviceMode.NXTTouch.Pushed [Default]
    • DeviceMode.NXTTouch.Bumps
  • NXTUltraSonic-Sensor:
    • DeviceMode.NXTUltraSonic.CM [Default]
    • DeviceMode.NXTUltraSonic.IN
  • HTAccelerometer-Sensor:
    • DeviceMode.HTAccelerometer.Acceleration [Default]
    • DeviceMode.HTAccelerometer.AccelerationAllAxes
  • HTCompass-Sensor:
    • DeviceMode.HTCompass.Degrees [Default]
  • HTColor-Sensor:
    • DeviceMode.HTColor.Col [Default]
    • DeviceMode.HTColor.Red
    • DeviceMode.HTColor.Green
    • DeviceMode.HTColor.Blue
    • DeviceMode.HTColor.White
    • DeviceMode.HTColor.Raw
    • DeviceMode.HTColor.Nr,
    • DeviceMode.HTColor.All
debug

bool – Debug turned on or off. In debug mode, everytime a command is passed to the sublayer ('communication layer'), there is feedback in the console about what command has been called. [WRITABLE]

value

numeric – Value read from hysical sensor. What the value represents depends on mode. [READ-ONLY]

type

DeviceType – Type of physical sensor connected to the port. Possible types are: [READ-ONLY]

  • DeviceType.NXTTouch
  • DeviceType.NXTLight
  • DeviceType.NXTSound
  • DeviceType.NXTColor
  • DeviceType.NXTUltraSonic
  • DeviceType.NXTTemperature
  • DeviceType.LargeMotor
  • DeviceType.MediumMotor
  • DeviceType.Touch
  • DeviceType.Color
  • DeviceType.UltraSonic
  • DeviceType.Gyro
  • DeviceType.InfraRed
  • DeviceType.HTColor
  • DeviceType.HTCompass
  • DeviceType.HTAccelerometer
  • DeviceType.Unknown
  • DeviceType.None
  • DeviceType.Error
reset(sensor)

Resets sensor value.

Notes

  • This clears ALL the sensors right now, no other Op-Code available... :(
setProperties(sensor, varargin)

Sets multiple Sensor properties at once using MATLAB's inputParser.

Parameters:
  • debug (bool) – [OPTIONAL]
  • mode (DeviceMode.{Type}) – [OPTIONAL]

Example

b = EV3(); %
b.connect('bt', 'serPort', '/dev/rfcomm0'); %
b.sensor1.setProperties('debug', 'on', 'mode', DeviceMode.Color.Ambient); %
% Instead of: b.sensor1.debug = 'on';
% b.sensor1.mode = DeviceMode.Color.Ambient;