Simple test¶
Ensure your device works with this simple test.
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
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
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
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)