Witam,
Proszę o pomoc z odczytem danych z czujnika wilgotności. Jestem na etapie inicjalizacji tzn. wysłania impulsu START do czujnika.
Wg noty katalogowej http://www.adafruit.com/datasheets/DHT22.pdf
czujnik powinien odpowiedzieć stanem niskim (1) przez 80us oraz stanem wysokim (0) przez 80us. Udało mi się to uzyskać. Wyniki otrzymuję w hyperterminal.
Nie rozumiem tylko jak odzyskać dane o wartości temp. i wilgotności.
"DATA=8 bit integral RH data+8 bit decimal RH data+8 bit integral T data+8 bit decimal T data+8 bit checksum"
Czyli należy odebrać 40bit danych.
Oto mój kod:
]Link[/url]
Edit:
Zrobiłem pętlę, która za każdym wywołaniem funkcji zwraca 8 bitów danych. Sprawdzany jest stan na linii 1 Wire, jeśli stan wysoki trwa 70us bit przesuwany jest w lewo.
Czy to dobry pomysł?
Proszę o pomoc z odczytem danych z czujnika wilgotności. Jestem na etapie inicjalizacji tzn. wysłania impulsu START do czujnika.
Wg noty katalogowej http://www.adafruit.com/datasheets/DHT22.pdf
czujnik powinien odpowiedzieć stanem niskim (1) przez 80us oraz stanem wysokim (0) przez 80us. Udało mi się to uzyskać. Wyniki otrzymuję w hyperterminal.
Nie rozumiem tylko jak odzyskać dane o wartości temp. i wilgotności.
"DATA=8 bit integral RH data+8 bit decimal RH data+8 bit integral T data+8 bit decimal T data+8 bit checksum"
Czyli należy odebrać 40bit danych.
Oto mój kod:
Kod: C / C++
Edit:
Zrobiłem pętlę, która za każdym wywołaniem funkcji zwraca 8 bitów danych. Sprawdzany jest stan na linii 1 Wire, jeśli stan wysoki trwa 70us bit przesuwany jest w lewo.
Kod: C / C++
Czy to dobry pomysł?
