lejos.nxt.addon
Class ColorHTSensor

java.lang.Object
  extended by lejos.nxt.I2CSensor
      extended by lejos.nxt.addon.ColorHTSensor
All Implemented Interfaces:
SensorConstants, ColorDetector

public class ColorHTSensor
extends I2CSensor
implements ColorDetector

HiTechnic color sensor.
www.hitechnic.com This class does support HiTechnic Color Sensor V2.

Author:
BB extended by A.T.Brask

Field Summary
 
Fields inherited from class lejos.nxt.I2CSensor
address, DEFAULT_I2C_ADDRESS, port, REG_PRODUCT_ID, REG_VENDOR_ID, REG_VERSION
 
Fields inherited from interface lejos.nxt.SensorConstants
BLACK, BLANK_INDEX, BLUE, BLUE_INDEX, GREEN, GREEN_INDEX, MAX_AD_RAW, MAX_TYPE, MIN_TYPE, MODE_ANGLESTEP, MODE_BOOLEAN, MODE_CELSIUS, MODE_FARENHEIT, MODE_PCTFULLSCALE, MODE_PERIODCOUNTER, MODE_RAW, MODE_TRANSITIONCNT, RED, RED_INDEX, TYPE_ANGLE, TYPE_COLORBLUE, TYPE_COLORFULL, TYPE_COLORGREEN, TYPE_COLORNONE, TYPE_COLORRED, TYPE_CUSTOM, TYPE_HISPEED, TYPE_LIGHT_ACTIVE, TYPE_LIGHT_INACTIVE, TYPE_LOWSPEED, TYPE_LOWSPEED_9V, TYPE_NO_SENSOR, TYPE_REFLECTION, TYPE_SOUND_DB, TYPE_SOUND_DBA, TYPE_SWITCH, TYPE_TEMPERATURE, WHITE, YELLOW
 
Constructor Summary
ColorHTSensor(I2CPort port)
           
 
Method Summary
 Color getColor()
          Return the Red, Green and Blue values together in one object.
 int getColorID()
          Returns the color index detected by the sensor.
 int getColorIndexNumber()
          Essentially the same as getColorNumber() but with a resolution of 6 bits.
 int getMode()
          Returns the value of the mode control register (0x41)
 int getRGBComponent(int color)
          Returns a single color component, specified by using an enumeration constant as a parameter.
 int getRGBNormalized(int color)
          Returns the normalized color component.
 int getRGBRaw(int color)
          Returns the raw saturation of the color.
 int initBlackLevel()
          Puts the sensor into black/ambient level calibration mode.
 int initWhiteBalance()
          Puts the sensor into white balance calibration mode.
 
Methods inherited from class lejos.nxt.I2CSensor
fetchString, getAddress, getData, getData, getPort, getProductID, getVendorID, getVersion, sendData, sendData, sendData, setAddress
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ColorHTSensor

public ColorHTSensor(I2CPort port)
Method Detail

getColorID

public int getColorID()
Returns the color index detected by the sensor.

Specified by:
getColorID in interface ColorDetector
Returns:
Color index.
  • 0 = red
  • 1 = green
  • 2 = blue
  • 3 = yellow
  • 4 = magenta
  • 5 = orange
  • 6 = white
  • 7 = black
  • 8 = pink
  • 9 = gray
  • 10 = light gray
  • 11 = dark gray
  • 12 = cyan

  • getColorIndexNumber

    public int getColorIndexNumber()
    Essentially the same as getColorNumber() but with a resolution of 6 bits. Red is bit 5-4, green is bit 3-2 and blue is bit 1-0.

    Returns:
    Color index number

    getRGBComponent

    public int getRGBComponent(int color)
    Returns a single color component, specified by using an enumeration constant as a parameter. e.g. Color.RED.

    Parameters:
    color - An integer obtained from Color, such as Color.RED, Color.GREEN or Color.BLUE
    Returns:
    The calibrated/normalized RGB value (0-255)

    getRGBNormalized

    public int getRGBNormalized(int color)
    Returns the normalized color component.

    Returns:
    component value (0 to 255).

    getRGBRaw

    public int getRGBRaw(int color)
    Returns the raw saturation of the color.

    Returns:
    component value (0 to 1023).

    getMode

    public int getMode()
    Returns the value of the mode control register (0x41)

    Returns:
    The value of the register or -1 if the operation fails.

    initWhiteBalance

    public int initWhiteBalance()
    Puts the sensor into white balance calibration mode. For best results the sensor should be pointed at a diffuse white surface at a distance of approximately 15mm before calling this method. After a fraction of a second the sensor lights will flash and the calibration is done. When calibrated, the sensor keeps this information in non-volatile memory.

    Returns:
    0 if it went well and -1 otherwise

    initBlackLevel

    public int initBlackLevel()
    Puts the sensor into black/ambient level calibration mode. For best results the sensor should be pointed in a direction with no obstacles for 50cm or so. This reading the sensor will use as a base level for other readings. After a fraction of a second the sensor lights will flash and the calibration is done. When calibrated, the sensor keeps this information in non-volatile memory.

    Returns:
    0 if it went well and -1 otherwise.

    getColor

    public Color getColor()
    Description copied from interface: ColorDetector
    Return the Red, Green and Blue values together in one object.

    Specified by:
    getColor in interface ColorDetector
    Returns:
    Color object containing the three RGB component values between 0-255.