Wykres z odebranych danych przez bluetooth
-
- Posty: 6
- Rejestracja: 05 paź 2013 23:53
- Wersja środowiska: LabVIEW 8.0
Wykres z odebranych danych przez bluetooth
Witam
Od jakiegoś czasu próbuję stworzyć aplikację która będzie odbierała dane z żyroskopu, wysyłane bluetooth-em i rysowała wykres w czasie rzeczywistym. Niestety nie mogę sobie z tym do końca poradzić. Odbieram dane przetwarzam ze string-a na użyteczną wartość liczbową w wprowadzam na waveform chart tylko ... wykres jest rysowany w następujący sposób: czyli wykreśla wartość i powraca do zera znowu wykreśla wartość i powraca do zera a mi się marzy żeby rysował ciągiem bez powracania do zera.
Wydaje mi się że dla większości z was to w zasadzie żaden problem - jest początkujący.
Pozdrawiam
Cezary
Od jakiegoś czasu próbuję stworzyć aplikację która będzie odbierała dane z żyroskopu, wysyłane bluetooth-em i rysowała wykres w czasie rzeczywistym. Niestety nie mogę sobie z tym do końca poradzić. Odbieram dane przetwarzam ze string-a na użyteczną wartość liczbową w wprowadzam na waveform chart tylko ... wykres jest rysowany w następujący sposób: czyli wykreśla wartość i powraca do zera znowu wykreśla wartość i powraca do zera a mi się marzy żeby rysował ciągiem bez powracania do zera.
Wydaje mi się że dla większości z was to w zasadzie żaden problem - jest początkujący.
Pozdrawiam
Cezary
- Załączniki
-
- Tuptuś_ver.1.vi
- (19.13 KiB) Pobrany 362 razy
Re: Wykres z odebranych danych przez bluetooth
Witam,
po pierwsze zamiast pętli FOR do nieskończoności, pętla While.
Ja bym to zrobił tak żeby wyświetlały się wartości "ciągłe" należy odebrane(wtedy kiedy są dostępne na porcie) wartości albo dodawać do tablicy i je kumulować i wyświetlać tablicę wartości, albo dodawać je do shift registera.
Pozdrawiam
Bartek
po pierwsze zamiast pętli FOR do nieskończoności, pętla While.
Ja bym to zrobił tak żeby wyświetlały się wartości "ciągłe" należy odebrane(wtedy kiedy są dostępne na porcie) wartości albo dodawać do tablicy i je kumulować i wyświetlać tablicę wartości, albo dodawać je do shift registera.
Pozdrawiam
Bartek
-
- Posty: 6
- Rejestracja: 05 paź 2013 23:53
- Wersja środowiska: LabVIEW 8.0
Wykres z odebranych danych przez bluetooth
Dzięki za podpowiedź tylko proszę trochę jaśniej jestem początkującym pojęcie "tablica" w tym programie to pojęcie względne
-
- Posty: 6
- Rejestracja: 05 paź 2013 23:53
- Wersja środowiska: LabVIEW 8.0
Wykres z odebranych danych przez bluetooth
Zauważyłem ciekawe zjawisko - jak włączę podgląd w block diagram (żarówkę) to rysuje tak jak chcę tylko bardzo wolno. Nie mogę zrozumieć mechanizmu działania tej aplikacji
Wykres z odebranych danych przez bluetooth
Tak jak juz pisał de80 pierwsze co zrób, to zmień pętle For na While. Zatrzymywanie aplikacji przez Abort, to ostateczność. Jak nie zamkniesz referencji do portu COM, to nie możesz jej później otworzyć od tak.
Druga sprawa, to chodzi o to, że nie sprawdzasz, czy odebrałeś cokolwiek. Jeżeli do bloczka VISA Read podepniesz 0 (czyli wtedy, kiedy niczego nie ma w buforze) wtedy dostajesz pusty string. Jeżeli pusty string chcesz przekonwertować na liczbę to za każdym razem otrzymujesz 0 i właśnie tu leży twój problem.
Musisz wiedzieć jak duża jest jedna ramka wysyłana z żyroskopu. Jeżeli na porcie pojawi się właśnie taka lub większa ilość bajtów, to odczytujesz tylko jedną ramkę z żyroskopu, konwertujesz i wyświetlasz na wykresie. Jeżeli ilość bajtów jest mniejsza niż rozmiar ramki, to po prostu czekasz (na przykład te 10 ms, które już tam masz).
Druga sprawa, to chodzi o to, że nie sprawdzasz, czy odebrałeś cokolwiek. Jeżeli do bloczka VISA Read podepniesz 0 (czyli wtedy, kiedy niczego nie ma w buforze) wtedy dostajesz pusty string. Jeżeli pusty string chcesz przekonwertować na liczbę to za każdym razem otrzymujesz 0 i właśnie tu leży twój problem.
Musisz wiedzieć jak duża jest jedna ramka wysyłana z żyroskopu. Jeżeli na porcie pojawi się właśnie taka lub większa ilość bajtów, to odczytujesz tylko jedną ramkę z żyroskopu, konwertujesz i wyświetlasz na wykresie. Jeżeli ilość bajtów jest mniejsza niż rozmiar ramki, to po prostu czekasz (na przykład te 10 ms, które już tam masz).
-
- Posty: 6
- Rejestracja: 05 paź 2013 23:53
- Wersja środowiska: LabVIEW 8.0
Wykres z odebranych danych przez bluetooth
słuszna uwaga z tym zerowym string-em
Ogólnie rzecz biorąc to ja nie wysyłam danych bezpośrednio z żyroskopu tylko to już są dane przetworzone przez uC który wysyła dane z jakąś konkretną częstotliwością (obecnie 10 Hz). uC wysyła dane w postaci string-ów które odbieram na komputerze z wykorzystaniem bluetooth-a. Wysyłam jeden bajt. Dotychczas odbierałem dane na terminalu, ale potrzebuję wykresu w real time w celu dostrojenia filtru.
Wybrałem LabView
Proszę o bardziej szczegółową pomoc, pętlę już zmieniłem po sugestii de80.
Ogólnie rzecz biorąc to ja nie wysyłam danych bezpośrednio z żyroskopu tylko to już są dane przetworzone przez uC który wysyła dane z jakąś konkretną częstotliwością (obecnie 10 Hz). uC wysyła dane w postaci string-ów które odbieram na komputerze z wykorzystaniem bluetooth-a. Wysyłam jeden bajt. Dotychczas odbierałem dane na terminalu, ale potrzebuję wykresu w real time w celu dostrojenia filtru.
Wybrałem LabView
Proszę o bardziej szczegółową pomoc, pętlę już zmieniłem po sugestii de80.
-
- Posty: 6
- Rejestracja: 05 paź 2013 23:53
- Wersja środowiska: LabVIEW 8.0
Re: Wykres z odebranych danych przez bluetooth
udało mi się metodą prób i błędów uruchomić rysowanie wykresów bez powrotu do zera. Teraz drugi problem jak zrobić żeby mi rysował dwa wykresy w jednym bloczku waveform chart.