版上有人用过SHT系列的温湿度传感器吗,指教下
时间:12-13
整理:3721RD
点击:
最近在用SHT25,遇到了一个有点棘手的问题,这是一个IIC协议的温湿度传感器,根据手册,应该依次用单片机发送0x80,0xE3,0x81三个数据给SDA,每个数据发完之后传感器会拉低SDA做出ACK,之后传感器掌握总线控制权发送温度数据回来。
现在遇到的问题是,发送0x80根本没有ACK,所以后面的数据全部都不对。我在网上下载了SHT10的程序例程,也看了SHT10的手册,它的通信协议是发送0x03给SDA,传感器ACK之后直接回传数据,神奇的事情来了!我用这个程序,也就是发送0x03给传感器,结果传感器ACK然后回传数据了。。。。。。不过我发现回传的数据有点问题,应该是不太准确,所以现在比较纳闷是什么情况,有哪位板油用过的话,希望指点一下!
现在遇到的问题是,发送0x80根本没有ACK,所以后面的数据全部都不对。我在网上下载了SHT10的程序例程,也看了SHT10的手册,它的通信协议是发送0x03给SDA,传感器ACK之后直接回传数据,神奇的事情来了!我用这个程序,也就是发送0x03给传感器,结果传感器ACK然后回传数据了。。。。。。不过我发现回传的数据有点问题,应该是不太准确,所以现在比较纳闷是什么情况,有哪位板油用过的话,希望指点一下!
以前用过DHT11, 通讯挺麻烦
而且和成品湿度计对比, 误差有30%以上. 数据校验是对的, 所以应该是传感器本身不准
不知道SHT的是不是好些...
我打算试试这东西, HR202, 湿敏电阻
http://voron.ua/files/pdf/datchiki/Humidity/HR202.pdf
用着也简单, 可以用MCU的GPIO接RC充放电, 计数器测时间, 也可以用NE555之类接成振荡器, MCU测频率. 也有湿敏电容, 用法差不多.
好早以前用过,我记得是给ack的时钟,但是不用等待ack,然后直接读就可以了。也就是做成9bit就行
统一谢谢回复的两位!另外,ACK是要等的