Simple test

Ensure your device works with this simple test.

examples/vcnl4010_simpletest.py
import time
from machine import Pin, I2C
from micropython_vcnl4010 import vcnl4010

i2c = I2C(1, sda=Pin(2), scl=Pin(3))  # Correct I2C pins for RP2040
vcn = vcnl4010.VCNL4010(i2c)

while True:
    print(f"Proximity: {vcn.proximity}")
    print(f"Ambient light: {vcn.ambient} lux")
    print()
    time.sleep(1.0)

Proximity rate settings

Example showing the Proximity rate setting

examples/vcnl4010_proximity_rate.py
import time
from machine import Pin, I2C
from micropython_vcnl4010 import vcnl4010

i2c = I2C(1, sda=Pin(2), scl=Pin(3))  # Correct I2C pins for RP2040
vcn = vcnl4010.VCNL4010(i2c)

vcn.proximity_rate = vcnl4010.SAMPLERATE_31_25

while True:
    for proximity_rate in vcnl4010.proximity_rate_values:
        print("Current Proximity rate setting: ", vcn.proximity_rate)
        for _ in range(10):
            print(f"Proximity: {vcn.proximity}")
            print(f"Ambient light: {vcn.ambient} lux")
            print()
            time.sleep(0.5)
        vcn.proximity_rate = proximity_rate

Ambient light rate settings

Example showing the Ambient light rate setting

examples/vcnl4010_ambient_light_rate.py
import time
from machine import Pin, I2C
from micropython_vcnl4010 import vcnl4010

i2c = I2C(1, sda=Pin(2), scl=Pin(3))  # Correct I2C pins for RP2040
vcn = vcnl4010.VCNL4010(i2c)

vcn.ambient_light_rate = vcnl4010.AMBIENT_LIGHT_RATE2

while True:
    for ambient_light_rate in vcnl4010.ambient_light_rate_values:
        print("Current Ambient light rate setting: ", vcn.ambient_light_rate)
        for _ in range(10):
            light = vcn.light
            print(f"Proximity: {vcn.proximity}")
            print(f"Ambient light: {vcn.ambient} lux")
            print()
            time.sleep(0.5)
        vcn.ambient_light_rate = ambient_light_rate

Ambient light average settings

Example showing the Ambient light average setting

examples/vcnl4010_ambient_light_average.py
import time
from machine import Pin, I2C
from micropython_vcnl4010 import vcnl4010

i2c = I2C(1, sda=Pin(2), scl=Pin(3))  # Correct I2C pins for RP2040
vcn = vcnl4010.VCNL4010(i2c)

vcn.ambient_light_average = vcnl4010.AL_AVERAGE4

while True:
    for ambient_light_average in vcnl4010.ambient_light_average_values:
        print("Current Ambient light average setting: ", vcn.ambient_light_average)
        for _ in range(10):
            light = vcn.light
            print(f"Proximity: {vcn.proximity}")
            print(f"Ambient light: {vcn.ambient} lux")
            print()
            time.sleep(0.5)
        vcn.ambient_light_average = ambient_light_average