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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 18 maja 2025, o 23:27


    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 ] [ Zaznacz wszystko ]
    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: 398
    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 ] [ Zaznacz wszystko ]
    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 ] [ Zaznacz wszystko ]
    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 2 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:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO