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



Teraz jest 22 gru 2024, o 09:19


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 
Autor Wiadomość
PostNapisane: 9 lut 2018, o 13:49 
Offline
Nowy

Dołączył(a): 08 lut 2018
Posty: 11
Pomógł: 0

Witajcie i Dzień Dobry
To mój pierwszy post na tym forum ale jesteście ostatnią deską ratunku- z racji, że nie jestem programistą bazując na dostępnej wiedzy w sieci z mniejszym lub większym sukcesem ogarniam arduino.
ale do rzeczy: zrobiłem jakiś czas temu kontroler do akwarium oparty na arduino nano i obsługujący: pomiar temperatury, pomiar pH, włączaniem/wyłączaniem wiatraka (stycznik), plus obsługa przez PWM diod Power Led z funkcją zmierzch/świt - wyniki były wyświetlane na LCD 20x4. I wszytko chodzi ale chciałem cały projekcik udoskonalić.
Wpadł mi w ręce (nie przez przypadek) wyświetlacz graficzny LCD 128x64 na kontrolerze ST7920 i tu zaczęły się schody. Jak poprzedni wyświetlacz nie stanowił problemu (dużo dostępnych przykładów w sieci) tak dla tego wyświetlacza jest kicha, a przykłady zawarte dla biblioteki U8glib.h są mało precyzyjne aby na nich coś więcej oprzeć.
I tu moje pytania i prośba o pomoc:
1) czy dostępne są gdzieś zbiory/wykaz/zestawienie funkcji/poleceń/komend które sterują tym wyświetlaczem? Chodzi mi przede wszystkim o obsługę czcionek/fontów (kroje, rozmiary, style), rysowanie tabel, dlaczego tyle przy oprogramowaniu void draw() (czy jest ich aż tyle potrzeba poza setup i loop).
2) poprzedni LCD (20x4) był obsługiwany przez konwerter I2C czterema przewodami natomiast LCD 128x64 na chwilę obecną podłączyłem bezpośrednio z arduino nano ośmioma przewodami (pomysł znaleziony w sieci). Czy jest możliwe i jakie korzyści/udogodnienia da podłączenie z konwerterem I2C (dostępne w sieci dla większych wyświetlaczy)? i czy to ma w ogóle sens wydawać ok. 5 dych na taki konwerter?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lut 2018, o 15:02 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 paź 2016
Posty: 105
Pomógł: 1

- jak sie czyta tę stronkę to nie wydaje sie to takie skomplikowane.
http://www.zonnepanelen.wouterlood.com/ ... -humidity/
- możliwe , że nie rozumiem twojego pytania.

Obrazek


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lut 2018, o 16:22 
Offline
Nowy

Dołączył(a): 08 lut 2018
Posty: 11
Pomógł: 0

spairo napisał(a):
- jak sie czyta tę stronkę to nie wydaje sie to takie skomplikowane.
http://www.zonnepanelen.wouterlood.com/ ... -humidity/
- możliwe , że nie rozumiem twojego pytania.

Obrazek


W skeczu z tego przykładu są podane 4 kroje czcionek:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

a pewnie jest ich więcej i pytanie czy jest jakiś wykaz dostępnych opcji np. kursywa, wyśrodkuj itp.

co do samego procesu wyświetlania też jest kilka wersji:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

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


więc jest kilka komend które mogą wyświetlać dane - czy to wszystkie, które lepsze i czy jest coś jeszcze?
jeżeli chodzi o rysowanie linii, ramek też spotkałem się w kilku skeczach z różnymi wariantami (nie mam ich zapisanych więc ich nie podam).
generalnie chodzi mi o to aby odkryć taki wykaz gdzie będą zawarte prawie wszystkie dostępne komendy dla tego wyświetlacza.
Z góry przepraszam za swoją dociekliwość ale lubię mieć kilka opcji do wyboru niż klepać jak wszyscy w kółko tylko jedno.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lut 2018, o 18:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 sty 2014
Posty: 336
Lokalizacja: Grodzisk Mazowiecki
Pomógł: 13

Cytuj:
1) czy dostępne są gdzieś zbiory/wykaz/zestawienie funkcji/poleceń/komend które sterują tym wyświetlaczem?

Według mnie w pliku nazwa_biblioteki.h


Autor postu otrzymał pochwałę

_________________
"Nie programuj w święta - bug się rodzi"



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lut 2018, o 18:16 
Offline
Nowy

Dołączył(a): 08 lut 2018
Posty: 11
Pomógł: 0

tomson5 napisał(a):
Cytuj:
1) czy dostępne są gdzieś zbiory/wykaz/zestawienie funkcji/poleceń/komend które sterują tym wyświetlaczem?

Według mnie w pliku nazwa_biblioteki.h


a jak wyedytować zawartość? programem do arduino czy czym innym ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lut 2018, o 18:25 
Offline
Użytkownik

Dołączył(a): 12 sty 2015
Posty: 80
Lokalizacja: Grudziądz
Pomógł: 2

nebari napisał(a):
a jak wyedytować zawartość? programem do arduino czy czym innym ?


Najlepiej chyba darmowym Notepad++


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 lut 2018, o 09:35 
Offline
Nowy

Dołączył(a): 08 lut 2018
Posty: 11
Pomógł: 0

po wczorajszych poszukiwaniach dzisiaj od rana walczę z przejściem z LCD 20x4 na LCD 128x64 i mam pytanie:
w kodzie na bazie którego robię rekonstrukcję mam tak:

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

i tu są treści wyświetlane na ekranie głównym a następnie jest:

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

nie chcę bezmyślnie przerabiać kodu ale poznać mechanizm działania.
1. Czy faktycznie trzeba najpierw robić operacje w odrębnych składach a następnie wyświetlać je w jakby główny void draw(void)?
2. jak poradzić sobie z ekranem powitalnym który wyświetlałby mi się przy starcie arduino? poprzednio było to proste ekran 1- czas wyświelania - ekran 2 a teraz ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 lut 2018, o 12:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sty 2016
Posty: 1164
Lokalizacja: Kraków
Pomógł: 93

Ale to nie do końca tak działa.
Tworzysz sobie osobne funkcje, np. do wyświetlania tekstu (void drawText(void)), podejrzewam, że podobne są do rysowania innych elementów. A następnie, w funkcji draw() wstawiasz tylko te, których chcesz użyć. Wstaw bibliotekę, której używasz tu na forum, łatwiej będzie cokolwiek podpowiedzieć (folder kompresujesz do .zip i wstawiasz jako załącznik).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 lut 2018, o 13:42 
Offline
Nowy

Dołączył(a): 08 lut 2018
Posty: 11
Pomógł: 0

Marhef napisał(a):
Ale to nie do końca tak działa.
Tworzysz sobie osobne funkcje, np. do wyświetlania tekstu (void drawText(void)), podejrzewam, że podobne są do rysowania innych elementów. A następnie, w funkcji draw() wstawiasz tylko te, których chcesz użyć. Wstaw bibliotekę, której używasz tu na forum, łatwiej będzie cokolwiek podpowiedzieć (folder kompresujesz do .zip i wstawiasz jako załącznik).


mam stworzone trzy funkcje draw:
pierwsza do strony powitalnej:

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

druga dotyczy zawartości tekstowej:

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

trzecia natomiast jest zarazem stroną główną i zawiera treść z funkcji drawText():
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

całość jest ustawiana w funkcji loop ():
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

i tu jest problem gdyż strony przełączają się/migają zamiast wyświetlić stronę Str_1 a następnie Str_2 i na tej pozostać. Coś robię nie tak ale nie wiem co :-(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 lut 2018, o 19:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 sty 2014
Posty: 336
Lokalizacja: Grodzisk Mazowiecki
Pomógł: 13

Stronę startową musisz umieścić w sekcji setup.

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


Autor postu otrzymał pochwałę

_________________
"Nie programuj w święta - bug się rodzi"



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 lut 2018, o 17:31 
Offline
Nowy

Dołączył(a): 08 lut 2018
Posty: 11
Pomógł: 0

tomson5 napisał(a):
Stronę startową musisz umieścić w sekcji setup.

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

co prawda całość zadziała gdy umieścimy to w komendzie u8g.firstPage () i nextPage ()
ale wielkie dzięki za sugestię - tego nigdzie nie wyczytałem :-(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 lut 2018, o 19:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 sty 2014
Posty: 336
Lokalizacja: Grodzisk Mazowiecki
Pomógł: 13

Ponieważ przykład funkcji który podałem nie zawiera inicjacji wyświetlacza. Chodziło mi tylko żeby pokazać o co mi chodzi.

_________________
"Nie programuj w święta - bug się rodzi"



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: 12 ] 

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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO