Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 22 gru 2024, o 21:30


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 13 ] 
Autor Wiadomość
PostNapisane: 23 sty 2017, o 01:04 
Offline
Nowy

Dołączył(a): 08 kwi 2014
Posty: 16
Lokalizacja: KRK
Pomógł: 0

Witam,
Drodzy koledzy prosił bym was o popatrzenie fachowym okiem na załączony kod i pomoc mało doświadczonemu. Jest to kod pyłomierza opartego na czujniku PMS3003 Arduino Mega i mojej największej bolączki w tym projekcie wyświetlacza TFT opartym na SPFD5408.
Problem polega na tym że nie wiem dlaczego nie odświeżają się wartości pomiarów Wyniki tak jakby nadpisywały się na siebie nawzajem nie odwietrzając się tworząc po pewnym czasie świecące prostokąty tyle winiaków pomiarów nadpisuje na siebie.
Wersja Arduino którego używam to 1.64.
Prosił bym o pomoc
Dziękuje

Pozdrawiam.

kod:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.





Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sty 2017, o 12:05 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

Może to obejście tematu na około, ale jakbyś przed wyświetleniem wyniku wysłał trzy spacje i na to wynik??

żeby zdziałać więcej to trzeba zajrzeć do funkcji Serial.print();

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sty 2017, o 12:41 
Offline
Użytkownik

Dołączył(a): 08 mar 2014
Posty: 390
Lokalizacja: Głogów
Pomógł: 11

Albo narysować prostokąt w kolorze tła o wielkości większej niż fragment z danymi na wyświetlaczu. Rysując prostokąt przed każdym kolejnym zapisem danych, czyścimy poprzednie dane tak że zostają na ekranie tylko ostatnie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sty 2017, o 22:06 
Offline
Nowy

Dołączył(a): 08 kwi 2014
Posty: 16
Lokalizacja: KRK
Pomógł: 0

Witam,
Dziękuje bardzo za sugestię ale skalarro to nie zadziałało :

Cytuj:
Może to obejście tematu na około, ale jakbyś przed wyświetleniem wyniku wysłał trzy spacje i na to wynik??

żeby zdziałać więcej to trzeba zajrzeć do funkcji Serial.print();


Ponieważ on wartość tft.println(" "); nadpisuje wartością pomiaru idzie w pętli do początku i nie nadpisuje wartości pomiaru 3 spacjami pozostawiając puste pole tylko nakłada je na siebie!!!.
On taj jak by nie czyścił bufora pamięci wyświetlacza
Próbowałem na początku kodu dodać tft.fillScreen(YELLOW);
Działa wartości pokazuje poprawnie ale robi straszną dyskotekę odświeża ekran co 2 sekundy ( delay2000 ) rysując wszystko na nowo usuwając ten ostatni delay miga szybciej ale strasznie irytujące to jest.

Arek1111111111 - spróbuje

Pozdrawiam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sty 2017, o 22:30 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

ale zaraz zaraz, kolego...
a Nie działa Ci to jak sobie chcesz?? teraz mnie tym naprowadziłeś i się przyjrzałem bliżej
azbest napisał(a):
tft.fillScreen(YELLOW);

Ty Dajesz żółte!!! tło, potem na to niebieskie kwadraty i na to żółte napisy tak??
To jak to ma działać wg Ciebie? Robisz żółte tło, potem niebieska plama, zaś żółty napis i wszystko kasujesz zostaje co? żółte chyba nie? Zmień na chwilę kolor napisów na inny. Zobaczysz co się stanie. A najlepiej odwróć sytuację. Wymaż ekran na niebiesko i narysuj żółte kreski zamiast niebieskich kwadratów. Zyskasz na szybkości a i działać powinno. Chyba... Na telefonie ciężko się to ogląda...
------------------------------------
A tak wogóle... Nie masz kolorów odwróconych na negatyw?? zgubiłem się teraz ale chyba są odwrotnie co??

------------------------ [ Dodano po: 34 minutach ]

azbest napisał(a):
nadpisuje wartością pomiaru idzie w pętli do początku i nie nadpisuje wartości pomiaru 3 spacjami pozostawiając puste pole tylko nakłada je na siebie!!!.
Tego też nie rozumiem za bardzo...
Nie idzie zrobić zamiast
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
np tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

powinno chyba zrobić spacje i wrócić do właściwego miejsca

albo pokaż funkcję Serial.print, Serial.println i wszystkie w nich użyte.

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 sty 2017, o 00:11 
Offline
Nowy

Dołączył(a): 08 kwi 2014
Posty: 16
Lokalizacja: KRK
Pomógł: 0

Tak kolory są odwrócone nie wiem dlaczego kodowanie barw jest poprawne.
Przepraszam że nie wspomniałem o tym wcześniej ale wydało mi się to nie istotne
Tło w kodzie
Składnia: [ Pobierz ] [ Ukryj ]
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
linie i wartości jako BLUE a wszystko wyświetla się w negatywie.
W miedzy czasie jedną z wartości zastawiłem prostokątem
Składnia: [ Pobierz ] [ Ukryj ]
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
w negatywie niebieskim prostokątem.
Wartości są już czytelne tylko że wartość miga zgodnie z opóźnieniem delay (2000);

Zmieniłem kolor tekstu na czerwony i elekt jest ten sam czyli zielony tekst (negatyw )
Jak mogę odwrócić te kolory bardzo ciężko się rozmawia.
Przerobie kod żeby zamiast kwadratów były linie i dam znać.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 sty 2017, o 06:30 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

azbest napisał(a):
Jak mogę odwrócić te kolory bardzo ciężko się rozmawia.

Jeżeli to jest adafruitowa biblioteka to szukaj czegoś w stylu
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

w funkcji inicjalizacji lcd

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 sty 2017, o 09:47 
Offline
Użytkownik

Dołączył(a): 29 cze 2013
Posty: 209
Lokalizacja: Tarnowskie Góry
Pomógł: 0

Zdaje się że miałem podobny problem z nadpisywaniem wyników na siebie dopiero zmiana biblioteki pomogła.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 sty 2017, o 21:40 
Offline
Nowy

Dołączył(a): 08 kwi 2014
Posty: 16
Lokalizacja: KRK
Pomógł: 0

Witam,
W pliku SPFD5408_Adafruit_TFTLCD.cpp
Znalazłem taki wpis
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
po od-komentowaniu (był za-komentowany )
Po zmianie na INVERTON kolory są już normalne :)
Jeden problem z głowy
dzięki walczymy z kolejnymi problemami



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 sty 2017, o 23:06 
Offline
Nowy

Dołączył(a): 08 kwi 2014
Posty: 16
Lokalizacja: KRK
Pomógł: 0

Sprawdziłem wątek z tymi spacjami i niestety też nie wypaliło :(
Wpadłem na pomysł żeby napisać prosty programik odczytujący napięcie z pinu A9.
Przedstawia on wartość normalną którą spróbowałem zasłonić spacjami
oraz 2 wartość którą specjalnie do pomiaru dodaje na sztywno wartość 2 i jest niebieskiego koloru ( w celu identyfikacji ) w 2 przypadku wartość zastawiona jest kwadratem w kolorze tła pulpitu.
Programik jest bardzo prosty bez żadnych zbędnych rzeczy i niestety wynik jest taki sam czyli 1 pomiar ciągle jest nadpisywany ( normalny ) a 2 pomiar ( wartość + 2 ) miga ! :(

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Program testowy jak się na nim uda to już pójdzie


Czy to możliwe że coś z tą biblioteką jest nie tak ?
Czy ja coś robię źle :(
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 sty 2017, o 23:12 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

To jest już ptaktycznie pewne, ale Ty uparcie ją chowasz dla siebie, mimo kilku próśb o pokazanie funkcji rysujących piksele

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 sty 2017, o 23:35 
Offline
Nowy

Dołączył(a): 08 kwi 2014
Posty: 16
Lokalizacja: KRK
Pomógł: 0

Cytuj:
pokazanie funkcji rysujących piksele


Nie bardzo wiem o co chodzi ? co masz dokładnie na myśli ?
Pozdrawiam.



czy chodzi o kod po modyfikacji z naniesionymi zmianami Serial.print(); ?

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 sty 2017, o 10:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

Zapomniałem,że w arduino to tam wszystko jakoś dziwnie jest. Nie wiem gdzie to się tam wgrywa ale musisz spojrzeć na zawartość biblioteki od obsługi wyświetlacza. Albo poszukać innej i podmmienić

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 13 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO