• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 1 głosów - średnia: 1
  • 1
  • 2
  • 3
  • 4
  • 5
Wyświetlacz Arduino
#1
Witam wszystkich. Proszę o poradę odnośnie następującej sprawy : nie mogę sobie poradzić z tym aby dodać , w miejscu pętli , napisu do wyświetlenia typu " chlodzenie " wraz z napisami , które są już zawarte w "pętla obrazu" . Chodzi o to aby w miejscu zapoczątkowania się pętli na wyświetlaczu wyświetlały się wszystkie napisy z fragmentu kodu "pętla obrazu" + dodatkowo napis "chlodzenie". Ja robię to tak , iż : kopiuje cały fragment kodu z pętli obrazu do pętli warunku + dodaje frazę : u8g.drawStr(7, 3057, "Chlodzenie"). Wszystko się wyświetla lecz przekaźnik zaczyna mi "wariować" - załącza się i wyłącza wtedy co nie potrzeba. Czy wie ktoś w jaki inny sposób można "przerobić" ten kod wyświetlania na wyświetlaczu? 

Kod przedstawia się następująco :
Kod:
// petla obrazu
u8g.firstPage();              // PIERWSZY OBRAZ
do {
u8g.setFont(u8g_font_helvB08);               // ustaw mniejsza czcionke
u8g.drawStr( 2, 27, "Wilgotnosc :");             // w pozycji 2/47 wyswietl txt
u8g.drawStr( 80, 27, dtostrf(WILG, 5, 2, str));  // w pozycji 80/47 wartosc wilgotnosci
u8g.drawStr( 110, 27, "%");                      // w pozycji 120/47 dopisz symbol %

u8g.drawStr( 2, 42, "Temperatura :");            
u8g.drawStr( 80, 42, dtostrf(TEMP, 5, 2, str));
u8g.drawStr( 110, 42, "\260C");

u8g.drawStr( 2, 57, "Wilg. zad.:");            
u8g.drawStr( 80, 57, dtostrf(wartosc, 5, 2, str));
u8g.drawStr( 110, 57, "%");
} while( u8g.nextPage() );                       // koniec petli obrazu

// PETLA OD WARUNKOW
if(wartosc>= WILG) {
digitalWrite(relay_pin, LOW);  
digitalWrite(relay_pin2, HIGH);
digitalWrite(relay_pin3, LOW);
digitalWrite(relay_pin4, LOW);  
digitalWrite(led_info_generator, HIGH);
digitalWrite(led_info_promiennik, LOW);
digitalWrite(led_info_nic, LOW);
}
 
Odpowiedź
#2
Czemu tu jest 3057?
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#3
(05-10-2018, 11:41)avabuy napisał(a): (...)Wszystko się wyświetla lecz przekaźnik zaczyna mi "wariować" - załącza się i wyłącza wtedy co nie potrzeba. Czy wie ktoś w jaki inny sposób można "przerobić" ten kod wyświetlania na wyświetlaczu?

Spróbuję na przykładzie:
Mam program robiący tysiąc rzeczy, pokaże wam trzy linijki, napiszecie co jest źle?
 
Odpowiedź
#4
Bo reszta działa dobrze, w innym fragmencie kodu nie ma już nic o wyświetlaczu. Ciężko po prostu opisać problem. Jak dodaje do wyświetlania napis Chlodzenie to cały wyświetlacz miga lecz wyświetla wszystko . Więc zapytałem się Was czy jest możliwość innego skonstruowana tego fragmentu kodu z wyświetlaniem.
 
Odpowiedź
#5
u8g.drawStr(7, 3057, "Chlodzenie") ale skąd masz w Arduino LCD UHD?
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#6
(06-10-2018, 08:24)avabuy napisał(a): Bo reszta działa dobrze, w innym fragmencie kodu nie ma już nic o wyświetlaczu. Ciężko po prostu opisać problem. Jak dodaje do wyświetlania napis Chlodzenie to cały wyświetlacz miga lecz wyświetla wszystko .

To, że reszta działa, nie oznacza, że nie wpływa na kod wyświetlania. Możesz np zamazywać dane używane w procedurze wyświetlania. Kaczakat zadał pytanie, nie odpowiedziałeś, więc nie sprawdziłeś tego fragmentu kodu.
Niby chcesz pomocy ale jak ja dostajesz to masz ją w głębokim poważaniu.

Nie zdziw się, że nie otrzymasz więcej pomocy. Jesteś przecież ekspertem i doskonale wiesz, że błąd musi być w procedurze, którą pokazałeś i bzdurne 3057 ma być.Pewnie nawet nie wiesz,jaka role spełniają poszczególne parametry w "drawStr", jaki mogą mieć zakres wartości. Po co się męczyć, przeczytać o tym w dokumentacji? Niech frajerzy z forum napiszą co jest źle!
 
Odpowiedź
#7
Czytałem trochę o parametrach drawstr. Niewiem czemu jest to 3057- nie zastanawiałem się skoro działało. A czemu to jest bzdurne?
 
Odpowiedź
#8
(06-10-2018, 09:06)avabuy napisał(a): A czemu to jest bzdurne?
Inteligentny człowiek zastanowił by się, czy coś jest nie tak. Skoro wszędzie te wartości są 2-liczbowe a tu 4 to dlaczego?
Nieinteligentny, jak mu się wskazuje, że ta wartość jest z kosmosu, zrobił by to co napisałem i przeczytał dokumentację. Opis tej funkcji to kilka zdań, przykład użycia.
Jak nazwać osobnika, który mimo, że mu się wskazuje ewidentny błąd zadaje idiotyczne pytania i nie ma ochoty przeczytać dokumentacji ze zrozumieniem? Myślący inaczej? Mądry inaczej?
Jesteś człowieku niereformowalny! Czekasz na gotowce! Myślenie boli!
 
Odpowiedź
#9
Nie czekam na gotowca, nie wiem po co te najeżdżanie na mnie. Po prostu zadałem pytanie , skoro nie masz ochoty na nie odpowiadać to nie musisz , może znajdzie się ktoś inny bardziej życzliwy Smile nie zauważyłem tego , nacisnąłem po prostu dwie cyfry za dużo podczas pisania Smile a tu już, że czeka na gotowca, niereformowalny itd.
 
Odpowiedź
#10
(06-10-2018, 09:53)avabuy napisał(a): nie zauważyłem tego , nacisnąłem po prostu dwie cyfry za dużo podczas pisania

I trzy razy gdy była o tym mowa nie zauważyłeś tego?
Nie zauważyłeś tez tego, ze bez całego kody, prawdopodobnie nikt nie pomoże?

Ten program z LCD graficznym i nie wiadomo iloma jeszcze rozbudowanymi peryferiami, to pewnie trzeci w życiu?
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości