Skip to content

octaprog7/AHT21

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MicroPython AHT21 Driver

Библиотека на MicroPython для работы с датчиком температуры и влажности AHT21 через шину I2C. Поддерживает работу через адаптер шины и учитывает аппаратные особенности китайских клонов и noname-модулей.

Особенности

  • Полная совместимость: Разработано специально для экосистемы MicroPython.
  • Адаптер шины: Использует bus_service.I2CAdapter для абстракции интерфейса.
  • Обход проблемы с CRC: Возможность отключения проверки контрольной суммы (check_crc=False) для noname-модулей, у которых байт CRC жестко зашит как 0xFF.

Зависимости

Для работы драйвера требуются следующие модули на плате:

  • machine.I2C и machine.Pin
  • Пакет sensor_pack_2 (а именно sensor_pack_2.bus_service)
  • Файл самого драйвера aht21mod.py

Быстрый старт

Минимальный пример для проверки работы датчика (на примере пинов 6 и 7):

from time import sleep_ms
from machine import I2C, Pin
from sensor_pack_2.bus_service import I2CAdapter
from aht21mod import aht21

i2c_bus = I2C(id=1, scl=Pin(7), sda=Pin(6), freq=400_000)
sensor = aht21(adapter=I2CAdapter(i2c_bus), address=0x38, check_crc=False)
cycle = sensor.get_conversion_cycle_time()

while True:
    sensor.start_measurement()
    sleep_ms(cycle)
    if sensor.wait_busy_clear(50):
        temp, rh = sensor.get_measurement_value(aht21.INDEX_BOTH)
        print(f"T: {temp:.2f} C | RH: {rh:.2f} %")
    sleep_ms(1000)

Важное замечание по железу

Многие доступные на рынке модули AHT21 отдают статичное значение CRC (0xFF). Это известная программно-аппаратная особенность чипов из неофициальных поставок, а не признак брака. Данные температуры и влажности в таких чипах полностью корректны. При работе с такими платами всегда инициализируйте класс с параметром check_crc=False.

Лицензия

Проект распространяется под лицензией MIT. Вы можете свободно использовать и модифицировать его.

Данные

Посмотреть пример сохраненных данных можно в файле data.txt.

About

Драйвер на MicroPython для датчика температуры и влажности AHT21 через I2C с поддержкой модулей без динамического расчета CRC.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages