Skocz do zawartości

Błąd podczas wyświetlania wartości z czujnika DHT 11 na wyświetlaczu LCD


Januszxd

Pomocna odpowiedź

Dzień dobry, mój kod do wyświetlania danych z czujnika DTH11 na wyświetlaczu LCD wygląda tak:

#include <Wire.h>
#include "rgb_lcd.h"
#include <DHT.h>

rgb_lcd lcd;
DHT dht;

void setup() 
{
   Serial.begin(9600);
   lcd.begin(16, 2);
   lcd.clear();
    
   dht.setup(2);
}

void loop() 
{
  int wilgotnosc = dht.getHumidity();
  int temperatura = dht.getTemperature();
  
  lcd.setCursor(0, 0);
  lcd.println("temperatura:");
  lcd.println(temperatura);
  lcd.println("*C");
 
  Serial.println(temperatura);

  lcd.setCursor(0, 1);
  lcd.print("wilgotnosc:");
  lcd.println(wilgotnosc);
  lcd.println("%");
  
  Serial.println(wilgotnosc);
  delay(500);
}

Natomiast efekt wygląda tak jak w załączniku. Do tego np. dmuchając na czujnik, nie zmienia się wartość wilgotności. Kiedyś ten sam czujnik działał poprawnie. Co może być przyczyną dziwnych symboli na ekranie i braku reakcji czujnika?

Z góry dzięki za pomoc.

261484787_2062852863878034_6706508307834198962_n.jpg

Link do komentarza
Share on other sites

@farmaceuta Nie mam miernika obecni, żeby sprawdzić napięcie, ale dla pewności wymieniłem przewody i dalej jest to samo. Sam LCD wyświetla dobrze litery ale problem pojawia się jak ma wyświetlić te dane z czujnika. 

@_LM_ Nie wiem czy dobrze rozumiem, ale no konsola nie wyświetla żadnego błędu, program ładuje się poprawnie.

 

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

@_LM_ Aaa to w takim razie w konsoli nie dzieje się nic podejrzanego. Najzwyczajniej zwraca dwie wartości liczbowe dwucyfrowe (jedną od temperatury drugą od wilgotności) bez żadnych dodatkowych znaków. Tylko same wskazania są wątpliwe raz pokazuje 21 stopni później jakieś kosmiczne 26 itd.

Link do komentarza
Share on other sites

Ok ja zawaliłem, miałem napisać w terminalu. Skoro nawet w terminalu masz niepewne wyniki może to świadczyć o uszkodzeniu czujnika, zakładam że połączenie jest prawidłowe. Najlepiej byłoby podmienić do na inny dla testów

Link do komentarza
Share on other sites

@_LM_ Podłączyłem cyfrowy czujnik ciśnienia i wysokości bmp388 i wgrałem taki program:

#include <Wire.h>
#include "rgb_lcd.h"
#include "DFRobot_BMP388_I2C.h"
DFRobot_BMP388_I2C bmp388;

rgb_lcd lcd;

void setup() {
  Serial.begin(9600);
  lcd.begin(16, 2);
  lcd.clear();
    while(bmp388.begin() != 0){
   Serial.println("Error initializing. Trying again..");
   delay(1000);
  }

}

void loop() {
  
    float cisnienie = bmp388.readPressure();
    float wysokosc = bmp388.readAltitude();
     
  lcd.setCursor(0, 0);
  lcd.println("cisnienie: ");
  lcd.println(cisnienie);
  lcd.println(" Pa");
  
  Serial.println(cisnienie);
  
  lcd.setCursor(0, 1);
  lcd.print("wysokosc :");
  lcd.println(wysokosc);
  lcd.println(" m");

  Serial.println(wysokosc);
   
  delay(1000);
}

Efekt jest taki, że nadal pokazują się krzaki, ale już tylko w pierwszej linijce. Po tym doświadczeniu wydaje mi się, że chyba problem musi leżeć po stronie samego wyświetlacza, na pewno później jeszcze wszystkie przewody posprawdzam.bmp.thumb.jpg.1af85856e854ea7a4af63662408a6e75.jpg

Link do komentarza
Share on other sites

2 minuty temu, farmaceuta napisał:

wyjscie...wykluczysz w razie czego uszkodzony lcd

Terminal też ma uszkodzony? Skoro tam również nieprawidłowe wartości są wyświetlane? 

Link do komentarza
Share on other sites

21 minut temu, _LM_ napisał:

Terminal też ma uszkodzony? Skoro tam również nieprawidłowe wartości są wyświetlane? 

Ja mowie o samym wyswietlaczu...a kolega napisal...

 

2 godziny temu, Januszxd napisał:

@_LM_ Aaa to w takim razie w konsoli nie dzieje się nic podejrzanego. Najzwyczajniej zwraca dwie wartości liczbowe dwucyfrowe (jedną od temperatury drugą od wilgotności) bez żadnych dodatkowych znaków.

Czyli jednak w monitorze wszystko ok, poza wyswietlana wartoscia...😉 ktora nic wspolnego nie ma raczej z krzakami na lcd...poprostu Ty mowisz o blednych danych a ja o krzakach na lcd...😅

Edytowano przez farmaceuta
Link do komentarza
Share on other sites

2 godziny temu, Januszxd napisał:

Najzwyczajniej zwraca dwie wartości liczbowe dwucyfrowe (jedną od temperatury drugą od wilgotności) bez żadnych dodatkowych znaków. Tylko same wskazania są wątpliwe raz pokazuje 21 stopni później jakieś kosmiczne 26 itd.

@farmaceuta cały cytat rozwiewa wątpliwości co do tego czy dane są poprawnie odczytywane. Manipulacja jak w tvpis 😉

  • Lubię! 1
Link do komentarza
Share on other sites

4 minuty temu, _LM_ napisał:

@farmaceuta cały cytat rozwiewa wątpliwości co do tego czy dane są poprawnie odczytywane. Manipulacja jak w tvpis 😉

Ty masz racje i ja mam racje...😉 Ty zwracasz uwage na dane z czujnika ktore skacza...(zgadza sie..21 a 26 to juz ewidentnie blad), ja natomiast mowie o wyswietlaniu krzakow na lcd i w tej materii nie zwracam uwagi na to czy wynikiem prawidlowym jest 20 czy 23 bo bez wzgledu na temperature wyskakuja krzaki, czyli duza szansa ze lcd tez sprawia bledy...😉

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.