Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Ich möchte die Amplitude des Funktionsgenerators automatisch und schrittweise erhöhen, dass heißt während der Ton ausgegeben wird, soll die Amplitude schrittweise ansteigen. Ich hab mir das mal so durchgedacht. Wenn ich die automatische Erhöhung in eine Case- Struktur einfüge und diese mit dem Button für die nächste Frequenz verbinde wird sie nicht schrittweise abgearbeitet. Wenn man sie nur in der while Schleife lässt, startet die Erhöhung aber schon bevor der Button gedrückt wird ...... Hat hierzu jemand eine Idee wie ich das am besten lösen könnte?
Hab in der Zeit, seit diesem Post, schon einiges verändert. Die Amplitude erhöht sich mittlerweile schon automatisch. Es gibt aber noch immer ein Problem.
Wenn der nächste Ton kommt, bzw. einer der 2 Buttons rechte/linke Seite gedrückt wird, soll die Amplitude wieder auf 0 gesetzt werden. Aufgrund der Ereignisstruktur hab ich versucht, es mit lokalen Variablen zu lösen, dass hat aber nicht so ganz geklappt. Hat jemand von euch eine Idee?
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
19.12.2011, 11:38 (Dieser Beitrag wurde zuletzt bearbeitet: 19.12.2011 11:40 von DOM88.)
Hab das aber eigentlich ein bisschen anders gemeint. Der Ton wird abgespielt und die Amplitude währenddessen automatisch bis maximal 0.5 erhöht. Wenn dann der Button "nächste Frequenz" oder "Linke" bzw "Rechte Seite" gedrückt wird, soll die Amplitude auf 0 zurückgesetzt werden, sodass der nächste Ton wieder bei einer Amplitude von 0.1 startet.
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
RE: Amplitude automatisch erhöhen
Dann solltest Du Dein Schieberegister mit 0 initialisieren. Wobei ich sehe gerade die Forschleife hat nur einen Durchlauf. Was soll das denn?
Ich hab' Dir das mal geändert.
Außerdem solltest Du dann in der Eventstruktur im Case "Linke Seite", bzw. "Rechte Seite" auch durch eine lokale Variable Deine Amplitude zurücksetzen.
Meinst Du so:
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Zu Anfang habe ich schon das Schieberegister mit 0 initialisiert, aber das hat dann nicht den gewünschten Effekt erzielt.
Ok, das mit der For-Schleife ist wirklich Quatsch, da ja die Äußere sowieso 5 Durchläufe hat.
Wie schon gesagt hab ich es auch schon mit lokalen Variablen verucht, aber auf eine etwas andere Art und deshalb hat das auch nicht funktioniert.
Danke, damit hast du mir sehr weitergeholfen.
Das Einzige was noch nicht funktioniert ist, dass wenn einer der beiden Buttons "Rechte" oder "Linke Seite" gedrückt wird, sollte der Ton gestoppt werden, dh wenn ich bei zB bei einer Amplitude von 0.3 auf den Button drücke, soll der Ton nicht mehr weiter ausgegeben werden. Habe ebenfalls versucht das mit Variablen zu lösen, bin aber daran gescheitert.
Hast du eventuell einen Tipp für mich, wie ich das schaffen könnte?
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
RE: Amplitude automatisch erhöhen
Da musst Du an Deinem Programmaufbau irgendwas anders machen, z.B. eine Statemachine verwenden:
1. Ton ausgeben
2. Prüfen ob Taste gedrückt wurde
3. Wenn ja, abbrechen. Wenn nein, nächsten Ton ausgeben......
Gruß Markus
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
ich hab mir das mit der state machine einmal angesehen. Im Prinzip ist es ja nur eine case-Struktur, in einer while-Schleife, mit einem Schieberegister. Ich habe jetzt schon öftere Male versucht, die state machine in mein Programm einzubaun, hat aber eigentlich nie geklappt.
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
RE: Amplitude automatisch erhöhen
Wieso? An was bist Du gescheitert?
(29.12.2011 14:20 )DOM88 schrieb: Ich habe jetzt schon öftere Male versucht, die state machine in mein Programm einzubaun, hat aber eigentlich nie geklappt.
Gruß Markus
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------