5
私は現在、DHT11 humidity and temperature sensorを読む必要があるプロジェクトに取り組んでいます。 MCUとシリアルデバイス間の通信は非常に低レベルですが、測定値(湿度+温度)を長さ4のバイト配列(5番目のバイトはチェックサム)として受け取ります。2バイトから浮動小数点数を組み立てるには?
今温度フロートと同じにbyte[0]
とbyte[1]
を変換したい
- byte[0] = humidity integer part
- byte[1] = humidity decimal part
- byte[2] = temperature integer part
- byte[3] = temperature decimal part
- byte[4] = checksum of the first four bytes
(バイト[2]及びバイト[3]):私はDHT11センサから受け取ります。 C/C++でArduino Mega 2560でこれを達成する効率的な方法は何ですか?
例:
byte[0] = 20 and byte[1] = 12 => 20.12 [float]
良いチャンスがありますDHT11の場合、小数部は常に0です。いくつかの図書館はそれを全く読んでいない。 DHT11とDHT22を区別するために0値(湿度と温度の両方)を使用するものもあります。 –
クイック返信ありがとう。うまく動作しますが、Andreyが述べたように、小数部分は実際には常にゼロです。しかし、私は確かに私のプロジェクトの別の部分でそれを使用します。ありがとう! – salocinx