eddy_em: (Default)
[personal profile] eddy_em
Сел после ужина, запаял гребенки к платкам с этими датчиками, и начал поочередно их втыкать в девборду на STM32G070. Командный аппарат и вычисление настолько примитивны, что решил даже скриптик не писать, так — на калькуляторе считал.

Китайцы ничего лучше не придумали, как всей линейке AHT дать один и тот же идентификатор — 0x38. Ну и принцип получения данных и вычисления температуры и влажности почти полностью одинаков у всех, разве что у AHT21B нужно команду init (0xe1) давать, лишь если чтение регистра status (0x71) не вернет 0x18. Спустя какие-то миллисекунды после команды init можно давать команду read (0xac). Можно сразу читать 6 байт из регистра 0xac, тогда получим статус нынешний (занят измерениями) а температуру — с предыдущего запроса.
В случае, если что-то с датчиком не то, можно его программно сбросить (0xba). После чтения просто читаем один байт: как только седьмой бит сброшен, можно читать шесть байт. Первая половина — влажность, вторая — температура. Влажность просто делим на 2²⁰, а температуру после деления умножаем на 200 и вычитаем 50.
Да, на все датчики документация — очень кривой перевод с китайского, так что посреди графиков и диаграмм много где попадаются иероглифы, а в пояснительном тексте ни хрена не рассказано, что это за хрень такая.
Все датчики минут по пять гонял, кроме пятнашки: пока я этот текст пишу, он включен, посмотрю, что будет ближе к концу текста.
AHT10 оказался самым тупым. Температура скакала туда-сюда от 25℃ до 28℃. Влажность показывал от 43% до 46%. Даже между соседними измерениями вполне могла выскочить разница в 1℃ или пару процентных пунктов по влажности.
AHT21b дал разброс по температуре от 24.7℃ до 25.5℃, что уже куда лучше. Влажность прыгала от 47.9% до 49.9%. Повторяемость уже лучше: между двумя соседними измерениями разброс температуры около 0.2℃, влажности около 1.5 процентных пунктов.
AHT15 в начале измерений дал разброс 24.4÷25.2℃ и 45.8÷48.1%. Сейчас (под конец этой писанины) показания температуры уже почти устаканились: вначале он показал 24.5℃, потом с каждым измерением все меньше, остановившись три раза подряд на 24.1℃ (что похоже на правду). А влажность так и скакала от 47.7% до 48.7%. В принципе, из всех трех у этого по влажности лучше всего получилось. Между соседними измерениями разброс около 0.5 процентного пункта по влажности и 0.1℃.

С первого взгляда они мне совершенно не понравились, так что, не думаю, что стоит писать софт под МК. Разве что, поподключать их поочередно к "апельсинке" и пособирать статистику. Но, подозреваю, все равно ничего хорошего не будет. Обычные показометры, но никак не серьезные датчики.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org

May 2025

S M T W T F S
    123
45678910
11121314151617
1819202122 2324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 23rd, 2025 10:12 pm
Powered by Dreamwidth Studios