Strona 1 z 3

Minutnik

: 13 lut 2013 09:59
autor: Soldier13
Witam wszystkich.
Dopiero zaczynam przygodę z LabView i chciałbym zrobić prosty minutnik na którym reguluje czas przyciskiem KNOB-czyli czas który pozostał do końca odliczania.
przyciskiem start/stop wł/wyłączam odliczanie albo resetuje

Lepiej do tego użyć Wait Until Next ms Multiple Function czy Wait (ms)

w załączniku zarys aplikacji, czyli praktycznie nic
szukałem w internecie i na forum ale nie znalazłem informacji

chodzi mi o to abym to zrozumiał a nie miał gotowca
czy da rade zrobić za pomocą tych funkcji?
chciałbym aby ten program był prosty w istocie.

Re: Minutnik

: 13 lut 2013 11:07
autor: dzojstik22
A w jakim zakresie ma działać te pokrętło? tylko w minutach? w minutach i sekundach?

Minutnik

: 13 lut 2013 11:44
autor: Soldier13
dzieki za zainteresowanie ;)
wystarczy w minutach na start
mysle ze knoba ustawie we właściwosciach od 1-10minut :)

Minutnik

: 13 lut 2013 12:41
autor: Soldier13
mysle ze to trzeba jakoś zrobić za pomocą iteracji, że np jest odliczanie od 0 i dodaje sie co sekunde o 1, a jak do leci do wartosci X spełnia sie warunek. Dalej to bym już umiał zrobić
tylko jak zrobić tą iteracje że do danej wartości 0 dodaje co sekunde o 1 :(
zrobiłem cos takiego jak w załączniku ale oczywiscie nie działa bo cały czas jest 1, wiem o co biega,

Minutnik

: 13 lut 2013 13:24
autor: ruda
Do tego użyj "shift rejestr", który przechowuje informacje z wcześniejszej iteracji pętli.
Obrazek

Do Twojego projektu mógłbyś użyć prostej maszyny stanów informacje o tej strukturze znajdziesz na stronie ni.com lub tutaj na forum jak dobrze poszukasz :)

Re: Minutnik

: 13 lut 2013 17:17
autor: dzojstik22
Możesz sam robić licznik- tak jak pokazała Ci ruda albo możesz skorzystać z gotowych rozwiązań tak jak w poniższym VI:

Minutnik

: 14 lut 2013 22:49
autor: Soldier13
rudaTwój projekt bardzo mi się podoba
tylko co to jest ten shift rejestr? bo jak wpisuje w lupce(szukaj) to nic mi nie wyskakuje :(
w google tez nic nie znalazło :(
wyskakuje tylko shift register :)
to to samo?
jak zrobić te cwane trójkąciki na linii? to jest ten shift rejestr?


dzojstik dziękuje za pomoc ale chce swój a nie gotowca :D

Minutnik

: 14 lut 2013 23:21
autor: Soldier13
Dobra zrobiłem mam :)

ale jeden problem :D

jak zapala się już ta upragniona lampka to zaczyna się wszystko od nowa liczyć

jak zrobić żeby się ten stoper zatrzymywał?
w załączniku aktualny program

zrobiłem taką próbę że pomnożyłem przez 2 czyli jak pomnoze przez 60 to bedzie w minutach mierzył a nie w sekundach dane z knoba :)
mysle ze rozumiecie :)

jeszcze jedno pytanie?
jakiej stuczku użyć żeby wsadzić tam jakieś MP3 może? da radę? :)
jakis alarm by się przydał bo nie wszyscy patrzą na diody :D

Minutnik

: 15 lut 2013 12:44
autor: Soldier13
użyłem sobie beep.vi
dzwiek za warunkiem działa tak jak dioda, ale wolał bym żeby to był jakiś dłuższy dzwiek :)


próbowałem play vaweform ale ciężko mi idzie :(

Minutnik

: 15 lut 2013 17:00
autor: ruda
Aby stoper się zatrzymał wystarczy podpiąć wynik porównania czasów do warunku zatrzymania pętli (zamiast kontrolki stop) i wtedy cała aplikacją się zatrzyma.

Minutnik

: 15 lut 2013 22:59
autor: Soldier13
dzięki
A jak z tymi dźwiękami?
i jeszcze chciałbym żeby mój knob przeskakiwał co minutę :) a nie 1,43424 albo 2,43342
tylko albo 1 albo 2 albo 3
szukam tego w ustawieniach ale nie moge znaleźć
skale zrobiłem na liczby całkowiete ale przeskakuje w liczbach rzeczywistych i tak :(

Minutnik

: 16 lut 2013 13:40
autor: ruda
Hej co do knoba to musisz ustawić w oknie properties (tej kontrolki) odpowiednie dane w zakładkach pokazanych na rysuknach
Obrazek

Obrazek
co do dźwięku to niestety nie pomoge Ci

Re: Minutnik

: 16 lut 2013 14:16
autor: Góras
No to ja Ci pomogę :)

Jest w LabVIEW gotowy przykład odtwarzania dźwięków 'Sound File to Sound Output.vi' - znajdziesz go w Help -> Find Examples...
Wygląda on jednak dosyć skomplikowanie.

Można to zrobić ciut prościej - używając bloczków z Sound Output.

Wydaje mi się jednak, że nie można w ten sposób odtworzyć plików mp3, ale dla .wav działa :)

Minutnik

: 18 lut 2013 22:29
autor: Soldier13
Dzięki za pomoc!
Ruda zrobiłem to co mi pokazałaś :) dziękuje -działa! :D

Góras
zrobiłem podobnie ale mam 2problemy
jak ten path skonfigurowac? tam podejrzewam musi być na stałe ustawiony plik wav
ja to zrobiłem tak jak w załączniku, ale za bardzo nie wiem jak to połączyć z moim programem to zrobiłem w środku :)
wiem ze to jest źle i nie będzie działać

czy mógł byś mnie jeszcze jakoś naprowadzić?
byłbym bardzo wdzięczny :)

dodaje w załączniku aktualny stan programu :)

Minutnik

: 18 lut 2013 23:07
autor: Góras
Co do ścieżki do pliku to używanie wartości stałej nie jest takie złe, ale jeżeli będziesz chciał uruchomić VI'a na innym komputerze, albo pozmieniasz sobie nazwy katalogów może to być lekki problem. Jeżeli nie przeszkadza Ci umieszczenie pliku "Drossel - Sexy Lala FULL 2009 NOWOŚĆ POLECAM!!!.wav" ( :D ) w tym samym folderze, co VI to możesz się do niego dostać składając ścieżkę do tegoż folderu (bloczek Current VI's Path) z nazwą pliku *.wav używając bloczka Build Path.

Co do kodu, to możesz to zrobić na kilka sposobów - umieścić kod z odtwarzaniem dźwięku w stanie True Case Structure i do selektora podpiąć wyjście 'Większe bądź równe'. Możesz ten kod umieścić za pętlą While i albo do wejścia bloczka Play Sound File podpiąć klaster błędu, który będzie przechodził przez tą dużą pętlę While, żeby zapewnić odpowiedni przepływ danych. Możesz też użyć struktury sekwencyjnej - w pierwszej ramce umieścić pętlę z minutnikiem, a w drugiej odtwarzanie dźwięku, w takim przypadku kod odpowiedzialny za odtworzenie dźwięku wykona się po zatrzymaniu minutnika.

Do wyboru, do koloru :)