Electrical – Is it possible to read DHT22 through I2C ADC (i.e. PCF8591)

adci2csensor

In my application I'm required to read all sensors through I2C bus. No sensors should be connected to MCU directly.

At this moment I need to read temperature and humidity (DHT22 sensor).
In order to read data from DHT22 I need to switch data pin to output first and then after some high/low operations and delay I can switch it to input and read data from sensor.

As an ADC IC I have PCF8591. I don't quite understand how to achieve this with PCF8591. Is there a way to do so?
Maybe I should be using other ADC/I2C?

Best Answer

Not in any useful sense. The DHT22 communicates digitally, using a protocol described in the datasheet. It doesn't output an analog temperature signal; if you want that, use another part, like the LM35.

You can't use an ADC to read the DHT22 because:

  1. It's not an analog signal. (I mean, you could use an ADC to read a digital signal, but it'd be a huge waste.)

  2. The DHT22 doesn't start outputting its status until it receives a pulse from the host MCU. If you hooked it up to an ADC, it'd just sit there and not do anything.