DHT22 + Atmega328P-PU

Masz problem, z którym nie możesz sobie poradzić? Pisz śmiało!
ODPOWIEDZ
sh4rkyq
Młodszy majsterkowicz
Posty: 6
Rejestracja: 14 sty 2013, 01:04

DHT22 + Atmega328P-PU

Post autor: sh4rkyq » 24 wrz 2013, 00:53

Witam, zrobiłem mały termometr:

2x dallas ds18b20
1x DHT 22
1x LCD 2x16

Mam 3 pomiary temp. T1, T2 (ds18b20) oraz T3 (DHT22) i jeden pomiar wilgotności W1 (DHT22)
To wszystko rozmieszczone na LCD.

Na arduino Uno R3 działa to pięknie - jednak po przeniesieniu na osobną Atmega328P-PU temperatury (ds18b20) są ok, a pomiar z DHT22 T3 wynosi "0.00" oraz W1 również wynosi "0.00"
Zmieniałem po kilka razy miejsce pinów, wracałem z podłączeniem do Uno R3 i tam działa a na zewnętrznej atmedze DHT 22 nie działa.

Jak to ugryżć?

---------------------------- Rozwiązanie znalezione. -----------------

Znalazłem, poczytałem, chodzi o taktowanie - domyślnie ustawione za wysoko.

Znalazłem na pewnej stronie ......... niestety nie mogę dodać linku ale jej tytuł brzmi "Pierwsza produkcyjna implementacja - dołożenie czujnika DHT22"

"Okazało się jednak, że wystarczy nieco inaczej zainicjować obiekt DHT.
//DHT dht(DHT_PIN, DHT22);
DHT dht(DHT_PIN, DHT22, 4);
mianowicie zmienić trzeci domyślny parametr z 6 na nieco mniej, np 4 i już."

W moim przypadku nawet wartość "2" nie nadążała czytać pomiaru i wartość "1" załatwiła sprawę.


Może się przyda.
Pozdrawiam

Co miesiąc do wygrania nagrody o wartości ponad 1600 zł!


Awatar użytkownika
Janus
Majsterkowicz
Posty: 110
Rejestracja: 3 gru 2012, 07:48
Lokalizacja: Mikołów

Re: DHT22 + Atmega328P-PU

Post autor: Janus » 24 wrz 2013, 06:17

Jestem ciekawy jakiej biblioteki używasz.
W tej której ja używam nie ma możliwości podania drugiego parametru.
Natomiast też spotkałem się z problemem odczytu wartości 0.
Używana przez mnie biblioteka zwraca, przy odczycie, kod błędu.
Wtedy wystarczył kod

Kod: Zaznacz cały

 
do
  {
    errorCode = myDHT22.readData();
    temperature = myDHT22.getTemperatureC();
    humidity = myDHT22.getHumidity();    
  }
  while(errorCode!=DHT_ERROR_NONE);
Oczywiście cały układ, ze względu na zasilanie 3.3V, działa na 8MHz
sh4rkyq
Młodszy majsterkowicz
Posty: 6
Rejestracja: 14 sty 2013, 01:04

Re: DHT22 + Atmega328P-PU

Post autor: sh4rkyq » 24 wrz 2013, 10:45

Posiadałem już wcześniej, ale znalazłem ;) adafruit "DHT-sensor-library" teraz widzę, że jest napisane "Support for non 16mhz devices". Ważne, że działa
Awatar użytkownika
jacek
Młodszy majsterkowicz
Posty: 47
Rejestracja: 28 mar 2013, 22:17
Kontakt:

Re: DHT22 + Atmega328P-PU

Post autor: jacek » 10 paź 2013, 12:14

sh4rkyq pisze: Znalazłem na pewnej stronie ......... niestety nie mogę dodać linku ale jej tytuł brzmi "Pierwsza produkcyjna implementacja - dołożenie czujnika DHT22"

"Okazało się jednak, że wystarczy nieco inaczej zainicjować obiekt DHT.
//DHT dht(DHT_PIN, DHT22);
DHT dht(DHT_PIN, DHT22, 4);
mianowicie zmienić trzeci domyślny parametr z 6 na nieco mniej, np 4 i już."

W moim przypadku nawet wartość "2" nie nadążała czytać pomiaru i wartość "1" załatwiła sprawę.

Ooo, to mój artykuł :)

jeżeli potrzebna dalsza pomoc to chętnie jej udzielę, np podeślę bibliotekę której używam
pozdrawiam
Jacek
ODPOWIEDZ

Strony partnerskie: