DHT11不支持小数的, 手册中说明小数位会一直输出0,作为预留字段,可能后续产品会支持小数,所以无论你怎么做都小数部分都不会变化,一直是0。
楼下说传感器不支持是在误导。可以去看看DHT11的手册,明显是有小数部分的传输。有可能你是你引用的库文件不支持导致的(我Arduino上面就发现DHT11.h居然变量为int整数类型)所以你可以自己编写一下
今晚才写的这传感器。才干成功。也碰到这问题。
我可以很明确的告诉你。小数点是数据都为0.
我是直接用逻辑分析仪捕捉到的
处理部分temp=temp*100;
qian=temp/1000;
bai=temp%1000/100;
shi=temp%100/10;
ge=temp%10;
液晶部分
write_com(0x80);
write_data(qian+0x30);
write_data(bai+0x30);
write_data('.');
write_data(shi+0x30);
write_data(ge+0x30);
这样就可以实现了
温度的小数可以精确到0.1,湿度没有小数位。