dht22 calculates temperature incorrectly at negative values
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 62/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 停滞
- 技術スタック
- python
- 領域
- embedded-iot
調査の方向性
dht.py の DHT22 温度計算から始め、提供された buffer の例を再現します。現在の結果を提案された計算と比較し、例が -2.2°C を示し、湿度が 69.0% のままであることを確認します。
索引モデルが issue の本文から書いたものです。
説明
I recently installed DHT22, and to my surprise, after a few days of frost, it showed a temperature of -3274.5.
The calculations performed by dht.py are consistent with the documentation, but they are incorrect.
Example and proposal for new calculation:
class DHTBase:
def xbuf(self, buf):
self.buf = buf
class DHT22(DHTBase):
def humidity(self):
return (self.buf[0] << 8 | self.buf[1]) * 0.1
def temperature(self):
t = (self.buf[2] & 0x7f) << 8 | self.buf[3]
if self.buf[2] & 0x80:
t = - t ^ 0x7fff
return t*0.1
def main():
# hum = 69, temp=-3274.5 = -2.2
cls = DHT22()
cls.xbuf([2, 183, 255, 233, 162])
temp = cls.temperature()
hum = cls.humidity()
print(f'temp={temp:.1f} hum={hum:.1f}')
main()
- 主要言語
- Python
- スター
- 2.9k
- フォーク
- 1.1k
- 平均マージ
- 7日 6時間
- マージ済み PR(30日)
- 3
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
micropython/micropython-lib のほかの issue
-
needs-info
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
micropython/micropython-lib#943 · コメント 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
micropython/micropython-lib#931 · コメント 1 件 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 62/100
micropython/micropython-lib#795 · コメント 2 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
micropython/micropython-lib#762 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
micropython/micropython-lib#342 ·
micropython/micropython-lib の issue をすべて見る
似ている issue
-
bug ci good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
-
documentation
難易度 2/5 半日 初心者へのやさしさ 62/100
inmanta/inmanta-core#10835 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
-
sponsored
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100