Hallo, ich bins mal wieder.
Ich hätte eine kurze Frage.
Und zwar lese ich über den Arduino Werte ein, und zwar von einem Sensor (Lautsprecher für Sturzerkennung).
Die Daten werden auch schön im Signalverlaufsgraphen angezeigt.
Nun möchte ich aber, dass wenn der Wert, der im Graphen angezeigt wird, einen bestimmten Wert übersteigt (Schwellwert) eine LED (Boolsche Anzeige) aufleuchtet.
So, das Problem ist nur, dass der Datentyp des Signals, welches zum Graphen geht, ein 1D-Array Double ist.
Nun weiß ich leider nicht wie ich diesen Double Array-Datentyp am effizientesten nach Bool konvertieren kann.
Anbei lege ich noch mein derzeitiges VI dazu.
Ich danke schon im Voraus für eure Hilfe
P.S: Ich hoffe, dass ich nicht ins falsche Unterforum gepostet habe.
(11.12.2013 12:50 )and1_89 schrieb: [ -> ]Nun weiß ich leider nicht wie ich diesen Double Array-Datentyp am effizientesten nach Bool konvertieren kann.
am simpelsten könntest du dein 1D-Array auf einen Schwellwert hin überwachen. Das Ergebnis ist dann ein 1D-Array aus Boolwerten.
Gruß, Marko
quasi so:
Ach, danke für deine Hilfe. Das hab ich früher schon probiert, aber da habe ich anscheinend etwas falsch gemacht. Jetzt funktioniert es tadellos.
Vielen Dank
edit:
Ich hätte noch eine weitere Frage. Was ist wenn ich den Vergleich mit dem Schwellwert außerhalb der while-Schleife machen will?! Ich hab's schon mit den Tunneleinstellungen versucht, aber da gibt er mir den Wert nicht aus der Schleife hinaus.
Da brauchst Du das Array doch nur aus der Schleife herausführen (wie in Deinem Bsp. schon unten an der Schleife gemacht).
[
attachment=47752]
Gruß Markus
(11.12.2013 13:07 )and1_89 schrieb: [ -> ]Ich hätte noch eine weitere Frage. Was ist wenn ich den Vergleich mit dem Schwellwert außerhalb der while-Schleife machen will?! Ich hab's schon mit den Tunneleinstellungen versucht, aber da gibt er mir den Wert nicht aus der Schleife hinaus.
Ja, das habe ich schon probiert, aber da kamen keine Werte außerhalb der Schleife an. Hab dann mit der Highlight-Funktion gesehen, dass die Werte genau am Schleifenrand "verschwinden". Komisch.
das klingt ja voll spooky (schreibt man das so?)
also wenn die Daten am Schleifenrand "verschwinden", wird entweder die Schleife nicht beendet oder das zuletzt ausgelesene Array ist leer.
Gruß, marko
Naja, die Schleife läuft ja (meiner Meinung nach) kontinuierlich - da ja diese immer die Werte, welche vom Arduino kommen, verwertet.
Na, solange die Schleife läuft, kannste auch außerhalb keine Werte sehen - da isser ja noch nich angekommen.
Da greift wieder das Datenflussprinzip!
Gruß, Marko
Und quasi in Realtime die Werte nach "außen streamen" funktioniert dann auch nicht oder ? Denn wenn ich ein Anzeigeelement innerhalb der Schleife anlege, so werden mir die Daten angezeigt. Nur ich kann sie nicht für Funktionen außerhalb der Schleife verwenden.
Schon mal ein großes Danke für eure bisherige Hilfe
da gibt es mehrere Möglichkeiten.
Die einfachste ist sicher über ein Control innerhalb der Schleife, dessen lok. Variable du außerhalb auslesen kannst. Dabei kannst du aber Datensätze verlieren, wenn du nicht schnell genug liest.
Der sicherere Weg wäre über eine Queue, deren Elemente du außerhalb verlustfrei auslesen kannst.
Gruß, Marko