|
|
| (5 intermediate revisions by the same user not shown) |
| Line 5: |
Line 5: |
| | |- | | |- |
| | | width="20%" style="color:gray;" | Version | | | width="20%" style="color:gray;" | Version |
| − | | 1.0 | + | | 8.0 |
| | |- | | |- |
| | | width="20%" style="color:gray;" | Category | | | width="20%" style="color:gray;" | Category |
| Line 15: |
Line 15: |
| | 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. | | 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== | + | ==Version information== |
| | | | |
| − | Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_I2C_Colour_Sensor.fcfx FC_Comp_Source_I2C_Colour_Sensor.fcfx]
| + | Library Version, Component Version, Date, Author, Info |
| | + | |
| | | | |
| − | Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_I2C_Colour_Sensor.fcfx FC_Comp_Source_I2C_Colour_Sensor.fcfx]
| |
| | | | |
| | ==Detailed description== | | ==Detailed description== |
| | + | |
| | + | |
| | | | |
| | | | |
| Line 38: |
Line 40: |
| | | | |
| | ==Examples== | | ==Examples== |
| | + | |
| | + | |
| | | | |
| | | | |
| Line 55: |
Line 59: |
| | | | |
| | | | |
| − | ==Macro reference==
| |
| | | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ControlInterrupt'''
| |
| − | |-
| |
| − | | colspan="2" | Enables or Disables the Interrupt pin to fire when the light levels are inside the interrupt limits.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| |
| − | | width="90%" | Enable
| |
| − | |-
| |
| − | | colspan="2" | Range: 0 to 1 - 0=Interrupt Off / 1=Interrupt On
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| |
| − | | width="90%" | LowLevel
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| |
| − | | width="90%" | HighLevel
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| | | | |
| | | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetGain'''
| |
| − | |-
| |
| − | | colspan="2" | Controls the gain. 0x00 = 1X 0x01 = 4X 0x02 = 16X 0x03 = 60X
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| |
| − | | width="90%" | Setting
| |
| − | |-
| |
| − | | colspan="2" | Range: 0 to 3
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| | | | |
| | | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ClearInterrupt'''
| |
| − | |-
| |
| − | | colspan="2" | Clears the interrupt flag allowing the device to interrupt again.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| | | | |
| | | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CalculateTemp'''
| |
| − | |-
| |
| − | | colspan="2" | Uses the RGB values stored in RAM from the last Sample to calculate the colour temperature in degrees Kelvin.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| | | | |
| | | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''EnableSensor'''
| |
| − | |-
| |
| − | | colspan="2" | Powers up the device ready for taking colour readings.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| | | | |
| | + | ==Macro reference== |
| | | | |
| | + | ===CalculateLux=== |
| | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
| | |- | | |- |
| Line 155: |
Line 85: |
| | | | |
| | | | |
| | + | ===CalculateTemp=== |
| | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
| | |- | | |- |
| | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SampleSensor''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CalculateTemp''' |
| | |- | | |- |
| − | | colspan="2" | Reads the raw colour channels from the sensor and stores the readings into RAM to be collected by the ReadDataChannel macro. | + | | colspan="2" | Uses the RGB values stored in RAM from the last Sample to calculate the colour temperature in degrees Kelvin. |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − | | |
| − | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadDataChannel'''
| |
| − | |-
| |
| − | | colspan="2" | 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.
| |
| | |- | | |- |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| |
| − | | width="90%" | ColourChannel
| |
| − | |-
| |
| − | | colspan="2" | Range: 0 to 3 - 0=Red, 1=Green, 2=Blue, 3=Clear
| |
| | |- | | |- |
| | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT | | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT |
| Line 186: |
Line 99: |
| | | | |
| | | | |
| | + | ===ClearInterrupt=== |
| | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
| | |- | | |- |
| | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DisableSensor''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ClearInterrupt''' |
| | |- | | |- |
| − | | colspan="2" | Powers down the device to save power. | + | | colspan="2" | Clears the interrupt flag allowing the device to interrupt again. |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − | | |
| − | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetIntegrationTime'''
| |
| − | |-
| |
| − | | colspan="2" | Controls the integration time. 0 = 700mS / 1 = 154mS / 2 = 101mS / 3 = 50mS / 4 = 24mS / 5 = 2.4mS
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| |
| − | | width="90%" | Setting
| |
| − | |-
| |
| − | | colspan="2" | Range: 0 to 5
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − | | |
| − | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
| |
| − | |-
| |
| − | | colspan="2" | Initialise the sensor configuration as set by the component properties. Sets the default intigration time and gain as well as enable the sensor.
| |
| | |- | | |- |
| | |- | | |- |
| Line 230: |
Line 113: |
| | | | |
| | | | |
| − | | + | ===ControlInterrupt=== |
| − | | |
| − | ==Property reference== | |
| − | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| |
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Sensor Settings
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Integration Time
| |
| − | |-
| |
| − | | colspan="2" | Length of time period used to sample the sensor frequency (longer is more accurate)
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Gain
| |
| − | |-
| |
| − | | colspan="2" | Length of time period used to sample the sensor frequency (longer is more accurate)
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| |
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | I2C Settings
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Channel
| |
| − | |-
| |
| − | | colspan="2" | Channel selection
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Baud Select
| |
| − | |-
| |
| − | | colspan="2" | Baud rate option selector
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| |
| − | | width="90%" | Baud Rate
| |
| − | |-
| |
| − | | colspan="2" | Baud rate to be used
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| |
| − | | width="90%" | Stop Delay
| |
| − | |-
| |
| − | | colspan="2" | 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.
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| |
| − | | width="90%" | SDA
| |
| − | |-
| |
| − | | colspan="2" | Pin used for SDA (data signal)
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| |
| − | | width="90%" | SCL
| |
| − | |-
| |
| − | | colspan="2" | Pin used for SCL (clock signal)
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| |
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Simulation Type
| |
| − | |-
| |
| − | | colspan="2" | 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==
| |
| − | | |
| | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
| | |- | | |- |
| Line 326: |
Line 142: |
| | | | |
| | | | |
| | + | ===DisableSensor=== |
| | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
| | |- | | |- |
| | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetGain''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DisableSensor''' |
| | |- | | |- |
| − | | colspan="2" | Controls the gain. 0x00 = 1X 0x01 = 4X 0x02 = 16X 0x03 = 60X | + | | colspan="2" | Powers down the device to save power. |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| |
| − | | width="90%" | Setting
| |
| − | |-
| |
| − | | colspan="2" | Range: 0 to 3
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − | | |
| − | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ClearInterrupt'''
| |
| − | |-
| |
| − | | colspan="2" | Clears the interrupt flag allowing the device to interrupt again.
| |
| | |- | | |- |
| | |- | | |- |
| Line 357: |
Line 156: |
| | | | |
| | | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| + | ===EnableSensor=== |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CalculateTemp'''
| |
| − | |-
| |
| − | | colspan="2" | Uses the RGB values stored in RAM from the last Sample to calculate the colour temperature in degrees Kelvin.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − | | |
| − | | |
| | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
| | |- | | |- |
| Line 383: |
Line 170: |
| | | | |
| | | | |
| | + | ===Initialise=== |
| | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
| | |- | | |- |
| | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CalculateLux''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise''' |
| | |- | | |- |
| − | | colspan="2" | Uses the RGB values stored in RAM from the last Sample to calculate the luminance in lux. | + | | colspan="2" | Initialise the sensor configuration as set by the component properties. Sets the default intigration time and gain as well as enable the sensor. |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − | | |
| − | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SampleSensor'''
| |
| − | |-
| |
| − | | colspan="2" | Reads the raw colour channels from the sensor and stores the readings into RAM to be collected by the ReadDataChannel macro.
| |
| | |- | | |- |
| | |- | | |- |
| Line 409: |
Line 184: |
| | | | |
| | | | |
| | + | ===ReadDataChannel=== |
| | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
| | |- | | |- |
| Line 427: |
Line 203: |
| | | | |
| | | | |
| | + | ===SampleSensor=== |
| | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
| | |- | | |- |
| | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DisableSensor''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SampleSensor''' |
| | |- | | |- |
| − | | colspan="2" | Powers down the device to save power. | + | | colspan="2" | Reads the raw colour channels from the sensor and stores the readings into RAM to be collected by the ReadDataChannel macro. |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − | | |
| − | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetIntegrationTime'''
| |
| − | |-
| |
| − | | colspan="2" | Controls the integration time. 0 = 700mS / 1 = 154mS / 2 = 101mS / 3 = 50mS / 4 = 24mS / 5 = 2.4mS
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| |
| − | | width="90%" | Setting
| |
| − | |-
| |
| − | | colspan="2" | Range: 0 to 5
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − | | |
| − | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
| |
| − | |-
| |
| − | | colspan="2" | Initialise the sensor configuration as set by the component properties. Sets the default intigration time and gain as well as enable the sensor.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − | | |
| − | | |
| − | | |
| − | | |
| − | ==Property reference==
| |
| − | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| |
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Sensor Settings
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Integration Time
| |
| − | |-
| |
| − | | colspan="2" | Length of time period used to sample the sensor frequency (longer is more accurate)
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Gain
| |
| − | |-
| |
| − | | colspan="2" | Length of time period used to sample the sensor frequency (longer is more accurate)
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| |
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | I2C Settings
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Channel
| |
| − | |-
| |
| − | | colspan="2" | Channel selection
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Baud Select
| |
| − | |-
| |
| − | | colspan="2" | Baud rate option selector
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| |
| − | | width="90%" | Baud Rate
| |
| − | |-
| |
| − | | colspan="2" | Baud rate to be used
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| |
| − | | width="90%" | Stop Delay
| |
| − | |-
| |
| − | | colspan="2" | 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.
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| |
| − | | width="90%" | SDA
| |
| − | |-
| |
| − | | colspan="2" | Pin used for SDA (data signal)
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| |
| − | | width="90%" | SCL
| |
| − | |-
| |
| − | | colspan="2" | Pin used for SCL (clock signal)
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| |
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Simulation Type
| |
| − | |-
| |
| − | | colspan="2" | 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==
| |
| − | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ControlInterrupt'''
| |
| − | |-
| |
| − | | colspan="2" | Enables or Disables the Interrupt pin to fire when the light levels are inside the interrupt limits.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| |
| − | | width="90%" | Enable
| |
| − | |-
| |
| − | | colspan="2" | Range: 0 to 1 - 0=Interrupt Off / 1=Interrupt On
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| |
| − | | width="90%" | LowLevel
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| |
| − | | width="90%" | HighLevel
| |
| | |- | | |- |
| − | | colspan="2" |
| |
| | |- | | |- |
| | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID |
| Line 567: |
Line 217: |
| | | | |
| | | | |
| | + | ===SetGain=== |
| | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
| | |- | | |- |
| Line 585: |
Line 236: |
| | | | |
| | | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| + | ===SetIntegrationTime=== |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ClearInterrupt'''
| |
| − | |-
| |
| − | | colspan="2" | Clears the interrupt flag allowing the device to interrupt again.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − | | |
| − | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CalculateTemp'''
| |
| − | |-
| |
| − | | colspan="2" | Uses the RGB values stored in RAM from the last Sample to calculate the colour temperature in degrees Kelvin.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − | | |
| − | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''EnableSensor'''
| |
| − | |-
| |
| − | | colspan="2" | Powers up the device ready for taking colour readings.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − | | |
| − | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CalculateLux'''
| |
| − | |-
| |
| − | | colspan="2" | Uses the RGB values stored in RAM from the last Sample to calculate the luminance in lux.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − | | |
| − | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SampleSensor'''
| |
| − | |-
| |
| − | | colspan="2" | Reads the raw colour channels from the sensor and stores the readings into RAM to be collected by the ReadDataChannel macro.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − | | |
| − | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadDataChannel'''
| |
| − | |-
| |
| − | | colspan="2" | 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.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| |
| − | | width="90%" | ColourChannel
| |
| − | |-
| |
| − | | colspan="2" | Range: 0 to 3 - 0=Red, 1=Green, 2=Blue, 3=Clear
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − | | |
| − | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DisableSensor'''
| |
| − | |-
| |
| − | | colspan="2" | Powers down the device to save power.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − | | |
| − | | |
| | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
| | |- | | |- |
| Line 697: |
Line 253: |
| | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | | | width="90%" style="border-top: 2px solid #000;" | ''Return'' |
| | |} | | |} |
| − |
| |
| − |
| |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
| |
| − | |-
| |
| − | | colspan="2" | Initialise the sensor configuration as set by the component properties. Sets the default intigration time and gain as well as enable the sensor.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − |
| |
| − |
| |
| | | | |
| | | | |
| Line 737: |
Line 278: |
| | |- | | |- |
| | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] | | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] |
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | I2C Settings | + | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Connections |
| | |- | | |- |
| | |- | | |- |
| Line 746: |
Line 287: |
| | |- | | |- |
| | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] |
| − | | width="90%" | Baud Select | + | | width="90%" | Mode |
| − | |-
| |
| − | | colspan="2" | Baud rate option selector
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| |
| − | | width="90%" | Baud Rate
| |
| − | |-
| |
| − | | colspan="2" | Baud rate to be used
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| |
| − | | width="90%" | Stop Delay
| |
| | |- | | |- |
| − | | colspan="2" | 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. | + | | colspan="2" | Defines if the component will be used for Master or Slave communications. Master mode supports a software bitbanged I2C channel. Slave mode requires a hardware I2C peripheral to catch the communications from the Master. |
| | |- | | |- |
| | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]] |
| Line 764: |
Line 295: |
| | |- | | |- |
| | | colspan="2" | Pin used for SDA (data signal) | | | colspan="2" | Pin used for SDA (data signal) |
| | + | |- |
| | + | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] |
| | + | | width="90%" | SDA Remap Pin |
| | + | |- |
| | + | | colspan="2" | |
| | |- | | |- |
| | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]] |
| Line 769: |
Line 305: |
| | |- | | |- |
| | | colspan="2" | Pin used for SCL (clock signal) | | | colspan="2" | Pin used for SCL (clock signal) |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| |
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
| |
| − | |-
| |
| | |- | | |- |
| | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] |
| − | | width="90%" | Simulation Type | + | | width="90%" | SCL Remap Pin |
| − | |-
| |
| − | | colspan="2" | 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==
| |
| − | | |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ControlInterrupt'''
| |
| − | |-
| |
| − | | colspan="2" | Enables or Disables the Interrupt pin to fire when the light levels are inside the interrupt limits.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| |
| − | | width="90%" | Enable
| |
| − | |-
| |
| − | | colspan="2" | Range: 0 to 1 - 0=Interrupt Off / 1=Interrupt On
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| |
| − | | width="90%" | LowLevel
| |
| | |- | | |- |
| | | colspan="2" | | | | colspan="2" | |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| |
| − | | width="90%" | HighLevel
| |
| − | |-
| |
| − | | colspan="2" |
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − |
| |
| − |
| |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetGain'''
| |
| − | |-
| |
| − | | colspan="2" | Controls the gain. 0x00 = 1X 0x01 = 4X 0x02 = 16X 0x03 = 60X
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| |
| − | | width="90%" | Setting
| |
| − | |-
| |
| − | | colspan="2" | Range: 0 to 3
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − |
| |
| − |
| |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ClearInterrupt'''
| |
| − | |-
| |
| − | | colspan="2" | Clears the interrupt flag allowing the device to interrupt again.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − |
| |
| − |
| |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CalculateTemp'''
| |
| − | |-
| |
| − | | colspan="2" | Uses the RGB values stored in RAM from the last Sample to calculate the colour temperature in degrees Kelvin.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − |
| |
| − |
| |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''EnableSensor'''
| |
| − | |-
| |
| − | | colspan="2" | Powers up the device ready for taking colour readings.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − |
| |
| − |
| |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CalculateLux'''
| |
| − | |-
| |
| − | | colspan="2" | Uses the RGB values stored in RAM from the last Sample to calculate the luminance in lux.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − |
| |
| − |
| |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SampleSensor'''
| |
| − | |-
| |
| − | | colspan="2" | Reads the raw colour channels from the sensor and stores the readings into RAM to be collected by the ReadDataChannel macro.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − |
| |
| − |
| |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadDataChannel'''
| |
| − | |-
| |
| − | | colspan="2" | 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.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| |
| − | | width="90%" | ColourChannel
| |
| − | |-
| |
| − | | colspan="2" | Range: 0 to 3 - 0=Red, 1=Green, 2=Blue, 3=Clear
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − |
| |
| − |
| |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DisableSensor'''
| |
| − | |-
| |
| − | | colspan="2" | Powers down the device to save power.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − |
| |
| − |
| |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetIntegrationTime'''
| |
| − | |-
| |
| − | | colspan="2" | Controls the integration time. 0 = 700mS / 1 = 154mS / 2 = 101mS / 3 = 50mS / 4 = 24mS / 5 = 2.4mS
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| |
| − | | width="90%" | Setting
| |
| − | |-
| |
| − | | colspan="2" | Range: 0 to 5
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − |
| |
| − |
| |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
| |
| − | |-
| |
| − | | colspan="2" | Initialise the sensor configuration as set by the component properties. Sets the default intigration time and gain as well as enable the sensor.
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| |
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
| |
| − | |}
| |
| − |
| |
| − |
| |
| − |
| |
| − |
| |
| − | ==Property reference==
| |
| − |
| |
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
| |
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| |
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Sensor Settings
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Integration Time
| |
| − | |-
| |
| − | | colspan="2" | Length of time period used to sample the sensor frequency (longer is more accurate)
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Gain
| |
| − | |-
| |
| − | | colspan="2" | Length of time period used to sample the sensor frequency (longer is more accurate)
| |
| − | |-
| |
| − | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| |
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | I2C Settings
| |
| − | |-
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Channel
| |
| − | |-
| |
| − | | colspan="2" | Channel selection
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| − | | width="90%" | Baud Select
| |
| − | |-
| |
| − | | colspan="2" | Baud rate option selector
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| |
| − | | width="90%" | Baud Rate
| |
| − | |-
| |
| − | | colspan="2" | Baud rate to be used
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| |
| − | | width="90%" | Stop Delay
| |
| − | |-
| |
| − | | colspan="2" | 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.
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| |
| − | | width="90%" | SDA
| |
| − | |-
| |
| − | | colspan="2" | Pin used for SDA (data signal)
| |
| − | |-
| |
| − | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| |
| − | | width="90%" | SCL
| |
| − | |-
| |
| − | | colspan="2" | Pin used for SCL (clock signal)
| |
| | |- | | |- |
| | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] | | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] |
| Line 1,020: |
Line 320: |
| | | colspan="2" | 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. | | | colspan="2" | 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. |
| | |} | | |} |
| | + | |
| | + | ==Component Source Code== |
| | + | |
| | + | Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_Colour_Sensor_I2C_Grove.fcfx FC_Comp_Source_Colour_Sensor_I2C_Grove.fcfx] |
| | + | |
| | + | Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_Colour_Sensor_I2C_Grove.fcfx FC_Comp_Source_Colour_Sensor_I2C_Grove.fcfx] |