Video Script @stan_koprowski

Craige Hales von JMP hat eine innovative Methode zum Lesen von Echtzeitdaten mit einem Arduino entwickelt. Ich wollte es selbst ausprobieren, und mithilfe meines Kollegen Stan haben wir mit der aktuellen Version von JMP nur wenige Anpassungen vorgenommen. Ich bin froh zu sagen, dass dies erfolgreich war. Es hat aufrichtig Spaß gemacht zu experimentieren und ich habe eine Menge mehr über JSL gelernt. Das JMP-Skript und der Arduino-Code sind unten verlinkt, damit Sie experimentieren können.
Ein Arduino ist also ein kostengünstiger Mikrocomputer, der über USB angeschlossen wird und von dem Sie Ihren benutzerdefinierten Code hochladen können, damit er ausgeführt wird. Es kann mit einer Batterie betrieben werden oder die Leistung eines USB nutzen. Der Arduino kommt ohne Gehäuse und dieses habe ich einen Lichtsensor an Pin 0 angeschlossen.
Dies ist kein umfassendes Tutorial zum Codieren in Arduino oder JSL, sondern lediglich eine Einführung in diese Verbindung eines Sensors mit JMP mithilfe eines JMP-Skripts.
Lassen Sie mich zunächst zeigen, wie es funktioniert, und dann erläutern Sie kurz, wie es funktioniert. Wenn sowohl JMP als auch die Arduino IDE-Programme ausgeführt werden, wähle ich das Symbol Skript ausführen im oberen Menübanner aus. Dadurch wird zunächst eine Datentabelle mit 2 Spalten erstellt. In unserem Tabellenbereich warten 2 Skripte, um die Dinge anzufangen. Ich wähle run Connect und es öffnet den Kommunikationsport, auf dem das Arduino ist und startet das Hauptskript. Übrigens starte ich Windows virtuell auf einem Mac Book Pro und mein Arduino ist auf Com3, da dies in der Dropdown-Liste der Arduino-Software angegeben ist.
Wie Sie sehen, fängt es schnell an, unsere 1. Spalte mit den Lichtdaten des mit meinem Arduino verbundenen IR-Sensors zu füllen. Die zweite Spalte ist ein von JMP erstellter Zeitstempel. Außerdem wird ein Builder für Kontrolldiagramme gestartet, mit dem wir die Daten in Echtzeit visualisieren können.
So funktioniert das.


Das Arduino wird eingeschaltet und sammelt aktiv Sensorinformationen mithilfe des hochgeladenen Codes, der mit diesem Video verknüpft ist.
In JMP erstellt das JSL-Skript eine Datentabelle mit 2 Spalten, Sinn und Zeit. Die Baudrate ist recht hoch, aber es ist eine Möglichkeit, keine Daten aus dem Arduino-Feed auszulesen.
Das JSL-Skript erstellt das Connect-Skript, das eine Verbindung zum vom Arduino verwendeten Port herstellt und diesen überwacht. Wir beginnen die Zeit, greifen nach der Zeile im Feed, beenden die Zeit und füllen die Datentabellenzeile nach Sinn und Zeit.
Als nächstes starten wir ein Kontrolldiagramm, um die eingehenden Daten zu visualisieren.
Dieser Teil wird so lange wiederholt, bis das Skript zum Trennen der Verbindung ausgeführt wird.
Sie können möglicherweise jeden Sensor zum Arduino hinzufügen, den Sie möchten, einschließlich des Lesens von den Digital-Pins.
Wenn Sie irgendwelche Fragen oder Ideen haben, kommentieren Sie bitte unten.
Hallo Ryan, gute Arbeit 
Ich habe ein paar Ideen, um dies robuster und noch anwendbarer zu machen:
- Überprüfen Sie von Zeit zu Zeit die RAM-Auslastung, um sicherzustellen, dass Sie nicht auf Probleme mit zu wenig Arbeitsspeicher und damit auf einen Laufzeitfehler stoßen. Wenn nur noch wenig RAM zur Verfügung steht, stoppen Sie JMP automatisch, starten Sie es neu und führen Sie das Skript erneut aus. Fügen Sie der X-Achse des Steuerungsdiagramms eine Linie hinzu, die angibt, dass ein Neustart stattgefunden hat
- Veröffentlichen Sie die Ergebnisse in JMP Live anstelle des lokalen Steuerungsdiagramms, damit andere sehen, was passiert
Was denkst du?
Martin
Danke Martin, gute Idee zum Ramcheck. Mein nächstes Projekt befasst sich mit mehreren Sensoren gleichzeitig. Für den JMP Live-Anwendungsfall ist möglicherweise eine Sensorüberprüfung in längeren Intervallen eine gute Anwendung.
Einige (offensichtliche) Experimente, die wir versuchen könnten.
- Fertigungsanwendung eines Gerätes offen oder geschlossen. (0 oder 1)
- Druck
- PH
- Temp