This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

OPT3001: working in active high for low light sensing

Part Number: OPT3001

Hi all,

we have opt3001 as ALS in our prototype. The sensor is up and able to read/write configuration and result registers. Our requirement is to sense low light and enable high on INT pin. The INT pin is pulled up by a 10k resistor to 3.2V. We have written 0xCE0C to configuration register to enable (POL=1 and mask=1) active high. Issue we face is after the first detection of low light the INT pin stays HIGH. it will not go down to LOW if light is detected. If i read the configuration register again, it will go LOW.

We like to use the ALS with only low light sensing in active HIGH mode. Is there any configuration issue with the register configuration.

With regards

John

  • John,

    We have received your post and assigned the correct engineer. You should receive a response back soon.
  • Looking forward for this. Few more points in my setup. The INT pin is pulled up by a 10k resistor.
    I need the ALS to be operated in transparent Hysteresis mode. i.e no manual flag clearing. I have changed the value written in configuration register(0x01) to 0xCE00.
    Range number field : auto range
    Conversion time field: 800 ms
    Mode of conversion operation field : continuous
    Latch field : 0 (Transparent Hysteresis mode)
    Polarity field : 0 (Active Low)

    it could be very helpful how to set manual range range.
  • Hi John,

    If I understood correctly you want to have the INT pin going high when the light is below the low threshold right? 

    You can configure your device to run in a Hysteresis Mode as you mentionned. Don't forget to set the low_limit=high_limit in order to have the interrupt pin changing state as soon as you're out of the low light range. 

    Indeed this is how the Hysteresis mode looks like: if we have a light that goes above the threshold (with POL='0') then the INT pin goes low and remain low until we cross the low limit. So when the light is: low limit<actual light<high limit the INT pin remains in the same state than previously.

    EDIT: Changed POL='1' to POL='0'

    So it's important that you set the high_limit=low_limit so in that case the INT pin will go low when light < Low_limit. In that case the int pin will behave like follows:

    EDIT: Changed POL='1' to POL='0'

    In order to configure the device to work that way you can use these settings (0x3C00): 

    Best regards,

    Daniel

  • Hi Daniel,
    Thank you for the answer.
    I had to modify the configuration to POL=0. when POL=1 and light is above high limit , INT pin was high. Looks to me like the device was able to detect only high limit (As in Data sheet). So when POL=0 and high_limit=low_limit (0x0100) , the INT pin was high for low light.
    One suggestion is to add the figure.1 to the data sheet for better understanding