Minutnik

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
Awatar użytkownika
Soldier13
Posty: 15
Rejestracja: 13 lut 2013 07:44
Wersja środowiska: LabVIEW 2011
Lokalizacja: Czajków k.Kalisz

Minutnik

Post 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.
Załączniki
minutnik.vi
(6.01 KiB) Pobrany 386 razy
dzojstik22
Posty: 103
Rejestracja: 17 gru 2011 21:33
Wersja środowiska: LabVIEW 2011

Re: Minutnik

Post autor: dzojstik22 »

A w jakim zakresie ma działać te pokrętło? tylko w minutach? w minutach i sekundach?
Awatar użytkownika
Soldier13
Posty: 15
Rejestracja: 13 lut 2013 07:44
Wersja środowiska: LabVIEW 2011
Lokalizacja: Czajków k.Kalisz

Minutnik

Post autor: Soldier13 »

dzieki za zainteresowanie ;)
wystarczy w minutach na start
mysle ze knoba ustawie we właściwosciach od 1-10minut :)
Awatar użytkownika
Soldier13
Posty: 15
Rejestracja: 13 lut 2013 07:44
Wersja środowiska: LabVIEW 2011
Lokalizacja: Czajków k.Kalisz

Minutnik

Post 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,
Załączniki
minutnik.vi
(8.43 KiB) Pobrany 391 razy
ruda
Posty: 23
Rejestracja: 18 sty 2012 15:29
Wersja środowiska: LabVIEW 2011

Minutnik

Post 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 :)
Obrazek
Extensa - certyfikowani programiści LabVIEW z Krakowa.
dzojstik22
Posty: 103
Rejestracja: 17 gru 2011 21:33
Wersja środowiska: LabVIEW 2011

Re: Minutnik

Post 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:
Załączniki
czas.vi
(23.2 KiB) Pobrany 420 razy
Awatar użytkownika
Soldier13
Posty: 15
Rejestracja: 13 lut 2013 07:44
Wersja środowiska: LabVIEW 2011
Lokalizacja: Czajków k.Kalisz

Minutnik

Post 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
Awatar użytkownika
Soldier13
Posty: 15
Rejestracja: 13 lut 2013 07:44
Wersja środowiska: LabVIEW 2011
Lokalizacja: Czajków k.Kalisz

Minutnik

Post 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
Załączniki
minutnik.vi
aktualny minutnik :)
(28.34 KiB) Pobrany 402 razy
Awatar użytkownika
Soldier13
Posty: 15
Rejestracja: 13 lut 2013 07:44
Wersja środowiska: LabVIEW 2011
Lokalizacja: Czajków k.Kalisz

Minutnik

Post 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 :(
ruda
Posty: 23
Rejestracja: 18 sty 2012 15:29
Wersja środowiska: LabVIEW 2011

Minutnik

Post 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.
Obrazek
Extensa - certyfikowani programiści LabVIEW z Krakowa.
Awatar użytkownika
Soldier13
Posty: 15
Rejestracja: 13 lut 2013 07:44
Wersja środowiska: LabVIEW 2011
Lokalizacja: Czajków k.Kalisz

Minutnik

Post 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 :(
ruda
Posty: 23
Rejestracja: 18 sty 2012 15:29
Wersja środowiska: LabVIEW 2011

Minutnik

Post 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
Obrazek
Extensa - certyfikowani programiści LabVIEW z Krakowa.
Awatar użytkownika
Góras
Posty: 88
Rejestracja: 13 sie 2012 10:15
Wersja środowiska: LabVIEW 2012

Re: Minutnik

Post 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 :)
Załączniki
sound2.png
sound2.png (3.81 KiB) Przejrzano 15300 razy
sound.png
sound.png (4.67 KiB) Przejrzano 15300 razy
Awatar użytkownika
Soldier13
Posty: 15
Rejestracja: 13 lut 2013 07:44
Wersja środowiska: LabVIEW 2011
Lokalizacja: Czajków k.Kalisz

Minutnik

Post 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 :)
Załączniki
minutnik.vi
(13.9 KiB) Pobrany 367 razy
Awatar użytkownika
Góras
Posty: 88
Rejestracja: 13 sie 2012 10:15
Wersja środowiska: LabVIEW 2012

Minutnik

Post 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 :)
ODPOWIEDZ