Simple test

Ensure your device works with this simple test.

examples/wsentids_simpletest.py
import time
from machine import Pin, I2C
from micropython_wsentids import wsentids

i2c = I2C(1, sda=Pin(2), scl=Pin(3))  # Correct I2C pins for RP2040
wsen = wsentids.WSENTIDS(i2c)

while True:
    temp = wsen.temperature
    print(f"Temperature: {temp:.1f}°C")
    print()
    time.sleep(0.5)

Data rate settings

Example showing the Data rate setting

examples/wsentids_data_rate.py
import time
from machine import Pin, I2C
from micropython_wsentids import wsentids

i2c = I2C(1, sda=Pin(2), scl=Pin(3))  # Correct I2C pins for RP2040
wsen = wsentids.WSENTIDS(i2c)

wsen.data_rate = wsentids.RATE_50_HZ

while True:
    for data_rate in wsentids.data_rate_values:
        print("Current Data rate setting: ", wsen.data_rate)
        for _ in range(10):
            wsen.data_rate = data_rate
            print(f"Temperature: {wsen.temperature:.1f}°C")
            print()
            time.sleep(0.5)
        wsen.data_rate = data_rate

Continuous mode settings

Example showing the Continuous mode setting

examples/wsentids_continuous_mode.py
import time
from machine import Pin, I2C
from micropython_wsentids import wsentids

i2c = I2C(1, sda=Pin(2), scl=Pin(3))  # Correct I2C pins for RP2040
wsen = wsentids.WSENTIDS(i2c)

wsen.continuous_mode = wsentids.CONTINUOUS_DISABLED

while True:
    for continuous_mode in wsentids.continuous_mode_values:
        print("Current Continuous mode setting: ", wsen.continuous_mode)
        for _ in range(10):
            wsen.continuous_mode = continuous_mode
            print(f"Temperature: {wsen.temperature:.1f}°C")
            print()
            time.sleep(0.5)
        wsen.continuous_mode = continuous_mode

Temperature Limits mode settings

Example showing the how to use sensor temperature limits

examples/wsentids_temperature_limits.py
import time
from machine import Pin, I2C
from micropython_wsentids import wsentids

i2c = I2C(1, sda=Pin(2), scl=Pin(3))  # Correct I2C pins for RP2040
wsen = wsentids.WSENTIDS(i2c)

wsen.low_limit = 20
wsen.high_limit = 26

print("High limit", wsen.high_limit)
print("Low limit", wsen.low_limit)

while True:
    print(f"Temperature: {wsen.temperature:.1f}°C")
    alert_status = wsen.alert_status
    if alert_status.high_alert:
        print("Temperature above high set limit!")
    if alert_status.low_alert:
        print("Temperature below low set limit!")
    print("Low alert:", alert_status.low_alert)
    print("High alert:", alert_status.high_alert)
    time.sleep(1)