/pcb-artist-sound-level-sensor-micropython

A micropython module for PCB Artist Sound Level sensor

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

A MicroPython library for obtaining measurements from Plantower PTQS1005 sensor - https://www.plantower.com/en/products_36/82.html

Usage:

import logging
import sys
import time

from i2c import I2CAdapter

from pcb_artist_sound_level import PCBArtistSoundLevel

logging.basicConfig(level=logging.INFO, stream=sys.stdout)


def pcb_artist_sound_level_measurements(sensor: PCBArtistSoundLevel):
    sensor_version = sensor.db_sensor_version()
    logging.debug(f"Sound level sensor version = 0x{sensor_version:02x}")
    sensor_id = sensor.db_sensor_id()
    logging.debug(f"Sound level sensor unique ID: 0x{sensor_id:02x}")

    return int.from_bytes(sensor.reg_read(), "big")


if __name__ == "__main__":
    i2c_adapter = I2CAdapter(scl=Pin(22), sda=Pin(21), freq=100000)
    sensor = PCBArtistSoundLevel(i2c=i2c_adapter)

    while True:
        sound_level = pcb_artist_sound_level_measurements(sensor)
        logging.info(f"Sound level: {sound_level} dB")
        time.sleep(2)