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



Teraz jest 5 gru 2024, o 01:34


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 24 lut 2016, o 16:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 sty 2013
Posty: 435
Lokalizacja: Rybnik
Pomógł: 6

Hejka,

Chciałbym rysować wykres w funkcji temperatury w funkcji czasu z pobieranych danych przez serial port.
Po przeczytaniu kursu kolegi MichalXY z tematu topic1226.html .
Nadal mam problemy... w funkcji która parsuje mi nadlatujące dane umieściłem taki kod:

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


Wszystko ok , wykres się rysuje , ale tak szybko, że jest tylko na nim kreska prosta...
chciałbym aby punkt na wykres był dodawany z częstotliwością powiedzmy 3 sec.

więc dodałem timer
enabled ustawiłem na true oraz interval na 3000. W funkcji timer tick umieściłem :

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


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


zmodyfikowałem kod.

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



No ale niestety tak to nie działa jak chce.. na wykresie jest tylko jeden punkt zaznaczony i tyle... jak dam rozlacz i polacz to rysuje się drugi ...

Jak to ogarnąć ?
Oraz jak ustawić autoscrolowanie wykresu ??



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lut 2016, o 16:33 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27315
Lokalizacja: Szczecin
Pomógł: 1041

Czy kolega nie widzi odpowiednich działów na forum aby umieszczać takie wątki ?

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lut 2016, o 16:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 sty 2013
Posty: 435
Lokalizacja: Rybnik
Pomógł: 6

No tak, pomyliłem się z przyzwyczajenia wszystko daję do działu "Luźne dyskusję".
Proszę o przeniesie do działu : "Programowanie w C#"
Dziękuję i przepraszam za utrudnienia.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lut 2016, o 17:57 
Offline
Użytkownik

Dołączył(a): 05 lut 2014
Posty: 252
Lokalizacja: obok Częstochowy
Pomógł: 14

Morcinek92 napisał(a):
if (n < 20 | n == 20)

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

A dla spokoju ducha to nawet
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: 24 lut 2016, o 20:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 sty 2013
Posty: 435
Lokalizacja: Rybnik
Pomógł: 6

Hm.. no chyba jest blad.. sprawdze jakk bd mial dostep do PC. Ale identycznie jest w kursie



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 lut 2016, o 10:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 mar 2014
Posty: 36
Pomógł: 0

A czy tego:
Kod:
    if ((n<20) || (n==20))

nie można zastąpić :
Kod:
    if (n <= 20)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 lut 2016, o 15:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 sty 2013
Posty: 435
Lokalizacja: Rybnik
Pomógł: 6

Hej, Dziękuje za odpowiedzi :)

Kolega MichalXY podpowiedział mi abym rysowanie umieścił w timerze a nie funkcji odbierającej i działa to super, punkty dodają się co 3 sec.


Mam jeszcze pytanie :

1) chciałbym aby po włączeniu programu ( przed połączeniem z portem COM ) wykres był widoczny jak to włączyć ??
2) Po najechaniu kursorem na punkt pomiarowy chciałbym widzieć "dymek " w którym napiszę sobie jakąś informację czy jest to możliwe ??

-----------
Odpowiedź

1) Aby był widoczny wykres po włączeniu aplikacji należy :
w zdarzeniu Load naszej formatki umieścić taki kawałek kodu :

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



2) Dymka nie ma... nie znalazłem jak to zrobić , ale można inaczej !
np. pod wykresem naszym wstawić dwa labely i dodać bibiotekę
Składnia: [ Pobierz ] [ Ukryj ]
język csharp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


w zdarzeniu mousemove naszego wykresu wpisać :

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


Pomocny bardzo był link :
https://www.youtube.com/watch?v=H0Kpx8Wafnw

No i wyświetlaja nam się wartości pkt po najechaniu kursorem na nie ..


No ale tutaj chciałbym aby po najechaniu wyświetlała się godz w której nastąpił pomiar ... a nie wartości 1,2,3,4... muszę jeszcze pomyśleć jak to zrobić... może ktoś pomoże ?:)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 lut 2016, o 20:45 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8587
Pomógł: 337

Przeniosłem ...
to sobie zobacz :)
https://msdn.microsoft.com/library/hh297119(v=vs.100).aspx

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lut 2016, o 11:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 sty 2013
Posty: 435
Lokalizacja: Rybnik
Pomógł: 6

Dzięki SUN , przyda się :)

miałem problemy z wyświetlaniem czasu po najechaniu kursorem na punkt pomiarowy i w powyższym kodzie trzeba zmienić jedną linię :)

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


na:

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


No i nie dopisałem że w ustawieniach series należy zmienić aby oś X przyjmowała wartości związane z czasem



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

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