| Author
|
Matrix TSL
|
| Version
|
1.0
|
| Category
|
Light
|
Colour Sensor (Grove 101020341) component
Based on the color sensor TCS34725FN with digital output I2C. Based on the 8*2 array of filtered photodiodes and 16-bits analog-to-digital converters, you can gain the color chromaticity of ambient light or the color of objects. Of the 16 photodiodes, 4 have red filters, 4 have green filters, 4 have blue filters and 4 have no filter(clear). With the synchronization input pin, external pulsed light source can provides precise synchronous conversion control.
Component Source Code
Please click here to view the component source code (Beta): FC_Comp_Source_I2C_Colour_Sensor.fcfx
Detailed description
No detailed description exists yet for this component
Examples
No additional examples
Macro reference
|
ControlInterrupt
|
| Enables or Disables the Interrupt pin to fire when the light levels are inside the interrupt limits.
|
- BYTE
|
Enable
|
| Range: 0 to 1 - 0=Interrupt Off / 1=Interrupt On
|
- UINT
|
LowLevel
|
|
|
- UINT
|
HighLevel
|
|
|
- VOID
|
Return
|
|
SetGain
|
| Controls the gain. 0x00 = 1X 0x01 = 4X 0x02 = 16X 0x03 = 60X
|
- BYTE
|
Setting
|
| Range: 0 to 3
|
- VOID
|
Return
|
|
ClearInterrupt
|
| Clears the interrupt flag allowing the device to interrupt again.
|
- VOID
|
Return
|
|
CalculateTemp
|
| Uses the RGB values stored in RAM from the last Sample to calculate the colour temperature in degrees Kelvin.
|
- UINT
|
Return
|
|
EnableSensor
|
| Powers up the device ready for taking colour readings.
|
- VOID
|
Return
|
|
CalculateLux
|
| Uses the RGB values stored in RAM from the last Sample to calculate the luminance in lux.
|
- UINT
|
Return
|
|
SampleSensor
|
| Reads the raw colour channels from the sensor and stores the readings into RAM to be collected by the ReadDataChannel macro.
|
- VOID
|
Return
|
|
ReadDataChannel
|
| Returns the value of the selected colour channel from the last sample. The Red, Green and Blue channels have a colour filter to remove light of other colours. The Clear channel has no filter allowing the ambient light level to be easily collected.
|
- BYTE
|
ColourChannel
|
| Range: 0 to 3 - 0=Red, 1=Green, 2=Blue, 3=Clear
|
- UINT
|
Return
|
|
DisableSensor
|
| Powers down the device to save power.
|
- VOID
|
Return
|
|
SetIntegrationTime
|
| Controls the integration time. 0 = 700mS / 1 = 154mS / 2 = 101mS / 3 = 50mS / 4 = 24mS / 5 = 2.4mS
|
- BYTE
|
Setting
|
| Range: 0 to 5
|
- VOID
|
Return
|
|
Initialise
|
| Initialise the sensor configuration as set by the component properties. Sets the default intigration time and gain as well as enable the sensor.
|
- VOID
|
Return
|
Property reference
|
Properties
|
|
Sensor Settings
|
|
Integration Time
|
| Length of time period used to sample the sensor frequency (longer is more accurate)
|
|
Gain
|
| Length of time period used to sample the sensor frequency (longer is more accurate)
|
|
I2C Settings
|
|
Channel
|
| Channel selection
|
|
Baud Select
|
| Baud rate option selector
|
|
Baud Rate
|
| Baud rate to be used
|
|
Stop Delay
|
| On older microcontroller devices there is a potential for the I2C hardware channel to lock up if there is not a 10ms delay between an I2C stop event and the next I2C start event. Most modern microcontrollers will not have a problem so this property can be disabled to speed up the I2C communications.
|
|
SDA
|
| Pin used for SDA (data signal)
|
|
SCL
|
| Pin used for SCL (clock signal)
|
|
Simulation
|
|
Simulation Type
|
| Selects the simulation type for the component. Component GUI - Interacts with the panel to sense the colour of a object in close proximity to the sensor. I2C Injector - Performs the I2C commands allowing you to connect an injector component or view and debug the I2C communications.
|
==Macro reference==
|
ControlInterrupt
|
| Enables or Disables the Interrupt pin to fire when the light levels are inside the interrupt limits.
|
- BYTE
|
Enable
|
| Range: 0 to 1 - 0=Interrupt Off / 1=Interrupt On
|
- UINT
|
LowLevel
|
|
|
- UINT
|
HighLevel
|
|
|
- VOID
|
Return
|
|
SetGain
|
| Controls the gain. 0x00 = 1X 0x01 = 4X 0x02 = 16X 0x03 = 60X
|
- BYTE
|
Setting
|
| Range: 0 to 3
|
- VOID
|
Return
|
|
ClearInterrupt
|
| Clears the interrupt flag allowing the device to interrupt again.
|
- VOID
|
Return
|
|
CalculateTemp
|
| Uses the RGB values stored in RAM from the last Sample to calculate the colour temperature in degrees Kelvin.
|
- UINT
|
Return
|
|
EnableSensor
|
| Powers up the device ready for taking colour readings.
|
- VOID
|
Return
|
|
CalculateLux
|
| Uses the RGB values stored in RAM from the last Sample to calculate the luminance in lux.
|
- UINT
|
Return
|
|
SampleSensor
|
| Reads the raw colour channels from the sensor and stores the readings into RAM to be collected by the ReadDataChannel macro.
|
- VOID
|
Return
|
|
ReadDataChannel
|
| Returns the value of the selected colour channel from the last sample. The Red, Green and Blue channels have a colour filter to remove light of other colours. The Clear channel has no filter allowing the ambient light level to be easily collected.
|
- BYTE
|
ColourChannel
|
| Range: 0 to 3 - 0=Red, 1=Green, 2=Blue, 3=Clear
|
- UINT
|
Return
|
|
DisableSensor
|
| Powers down the device to save power.
|
- VOID
|
Return
|
|
SetIntegrationTime
|
| Controls the integration time. 0 = 700mS / 1 = 154mS / 2 = 101mS / 3 = 50mS / 4 = 24mS / 5 = 2.4mS
|
- BYTE
|
Setting
|
| Range: 0 to 5
|
- VOID
|
Return
|
|
Initialise
|
| Initialise the sensor configuration as set by the component properties. Sets the default intigration time and gain as well as enable the sensor.
|
- VOID
|
Return
|
Property reference
|
Properties
|
|
Sensor Settings
|
|
Integration Time
|
| Length of time period used to sample the sensor frequency (longer is more accurate)
|
|
Gain
|
| Length of time period used to sample the sensor frequency (longer is more accurate)
|
|
I2C Settings
|
|
Channel
|
| Channel selection
|
|
Baud Select
|
| Baud rate option selector
|
|
Baud Rate
|
| Baud rate to be used
|
|
Stop Delay
|
| On older microcontroller devices there is a potential for the I2C hardware channel to lock up if there is not a 10ms delay between an I2C stop event and the next I2C start event. Most modern microcontrollers will not have a problem so this property can be disabled to speed up the I2C communications.
|
|
SDA
|
| Pin used for SDA (data signal)
|
|
SCL
|
| Pin used for SCL (clock signal)
|
|
Simulation
|
|
Simulation Type
|
| Selects the simulation type for the component. Component GUI - Interacts with the panel to sense the colour of a object in close proximity to the sensor. I2C Injector - Performs the I2C commands allowing you to connect an injector component or view and debug the I2C communications.
|