Simple test

Ensure your device works with this simple test.

examples/as6212_simpletest.py
import time
from machine import Pin, I2C
from micropython_as6212 import as6212

i2c = I2C(1, sda=Pin(2), scl=Pin(3))  # Correct I2C pins for RP2040
as6 = as6212.AS6212(i2c)

while True:
    print(f"Temperature: {as6.temperature:.2f}°C")
    print()
    time.sleep(0.5)

Conversion rate settings

Example showing the Conversion rate setting

examples/as6212_conversion_rate.py
import time
from machine import Pin, I2C
from micropython_as6212 import as6212

i2c = I2C(1, sda=Pin(2), scl=Pin(3))  # Correct I2C pins for RP2040
as6 = as6212.AS6212(i2c)

as6.conversion_rate = as6212.RATE_8

while True:
    for conversion_rate in as6212.conversion_rate_values:
        print("Current Conversion rate setting: ", as6.conversion_rate)
        for _ in range(10):
            print(f"Temperature: {as6.temperature:.2f}°C")
            print()
            time.sleep(0.5)
        as6.conversion_rate = conversion_rate

Interrupt mode settings

Example showing the Interrupt mode setting

examples/as6212_interrupt_mode.py
import time
from machine import Pin, I2C
from micropython_as6212 import as6212

i2c = I2C(1, sda=Pin(2), scl=Pin(3))  # Correct I2C pins for RP2040
as6 = as6212.AS6212(i2c)

as6.interrupt_mode = as6212.COMPARATOR
as6.temperature_high_limit = 35
as6.temperature_low_limit = 30
print(f"Temperature High Limit: {as6.temperature_high_limit:.2f}°C")
print(f"Temperature Low Limit: {as6.temperature_low_limit:.2f}°C")

while True:
    for interrupt_mode in as6212.interrupt_mode_values:
        print("Current Interrupt mode setting: ", as6.interrupt_mode)
        for _ in range(10):
            print("Temperature: {:.2f}°C".format(as6.temperature))
            print(f"Alert Triggered: {as6.alert}")
            print()
            time.sleep(0.5)
        as6.interrupt_mode = interrupt_mode

Temperature Limits

Example showing the temperature limits settings

examples/as6212_temp_limits.py
import time
from machine import Pin, I2C
from micropython_as6212 import as6212

i2c = I2C(1, sda=Pin(2), scl=Pin(3))  # Correct I2C pins for RP2040
as6 = as6212.AS6212(i2c)

as6.temperature_high_limit = 35
as6.temperature_low_limit = 30
print(f"Temperature High Limit: {as6.temperature_high_limit:.2f}°C")
print(f"Temperature Low Limit: {as6.temperature_low_limit:.2f}°C")
print(f"Interrupt_mode: {as6.interrupt_mode}")

while True:
    print(f"Temperature: {as6.temperature:.2f}°C")
    print(f"Alert Triggered: {as6.alert}")
    print()
    time.sleep(1)