# SPDX-FileCopyrightText: Copyright (c) 2025 Tim C for Adafruit Industries # SPDX-License-Identifier: MIT """ This example reads color data from the OPT4048 sensor and outputs it in a format suitable for displaying on a web page using Web Serial API. It continuously measures CIE x,y coordinates, lux, and color temperature. This example works with the web interface in the /webserial directory of the gh-pages branch of the Arduino driver repo: https://github.com/adafruit/Adafruit_OPT4048/tree/gh-pages, which can be accessed at: https://adafruit.github.io/Adafruit_OPT4048/webserial/ """ import time from time import sleep import board from adafruit_opt4048 import OPT4048, ConversionTime, Mode, Range READ_INTERVAL = 0.1 # seconds i2c = board.I2C() # uses board.SCL and board.SDA # i2c = board.STEMMA_I2C() # For using the built-in STEMMA QT connector on a microcontroller sensor = OPT4048(i2c) sensor.range = Range.AUTO sensor.conversion_time = ConversionTime.TIME_100MS sensor.mode = Mode.CONTINUOUS last_read_time = 0 while True: if time.monotonic() > last_read_time + READ_INTERVAL: last_read_time = time.monotonic() x, y, lux = sensor.cie print("---CIE Data---") print(f"CIE x: {x}") print(f"CIE y: {y}") print(f"Lux: {lux}") print(f"Color Temperature: {sensor.calculate_color_temperature(x,y)} K") print("-------------")