Script vidéo @stan_koprowski

Craige Hales de JMP a mis au point un moyen novateur de lire des données en temps réel avec un Arduino. Je voulais essayer cela moi-même et, avec l'aide de mon collègue Stan, nous avons apporté quelques modifications à la version actuelle de JMP. Je suis heureux de pouvoir dire que cela a été un succès. C'était vraiment amusant d'expérimenter et j'ai appris beaucoup plus de JSL. Le script JMP et le code Arduino sont tous deux liés ci-dessous pour que vous puissiez les expérimenter.
Ainsi, un Arduino est un micro-ordinateur peu coûteux qui se connecte via USB et vous pouvez télécharger votre code personnalisé pour l’exécuter. Il peut fonctionner sur une batterie ou utiliser la puissance d'un port USB. L’Arduino fonctionne sans boîtier et j’ai connecté un capteur de lumière à la broche 0.
Ce n'est pas un tutoriel complet sur la façon de coder dans Arduino ni JSL, mais simplement et une introduction à cette connexion d'un capteur avec JMP utilisant un script JMP.
Tout d’abord, laissez-moi vous montrer que cela fonctionne, puis j’expliquerai rapidement comment cela a été accompli. Avec les programmes JMP et Arduino IDE actifs, je sélectionnerai l’icône de script d’exécution dans la bannière du ruban supérieur. Cela va d'abord créer une table de données avec 2 colonnes. Il y a 2 scripts en attente dans notre tableau pour commencer. Je choisirai Exécuter Connect pour ouvrir le port de communication sur lequel l’Arduino est activé et lancer le script principal. En passant, j'utilise virtuellement Windows sur un Mac Book Pro et mon Arduino est sur Com3 parce que c'est ce qui est indiqué dans la liste déroulante du logiciel Arduino.
Comme vous pouvez le constater, il commence rapidement à remplir notre 1ère colonne avec les données de lumière provenant du capteur infrarouge connecté à mon Arduino. La deuxième colonne est un horodatage créé par JMP. Il lance également un générateur de graphique de contrôle pour nous permettre de visualiser les données en temps réel.
Voilà comment cela fonctionne.


L’Arduino est mis sous tension et collecte activement les informations du capteur à l’aide du code téléchargé lié à cette vidéo.
Dans JMP, le script JSL crée une table de données avec 2 colonnes, sens et heure. Le débit en bauds est assez élevé, mais c’est un moyen de ne manquer aucune donnée lue dans le flux Arduino.
Le script JSL crée le script Connect, qui connecte et écoute le port utilisé par Arduino. Nous commençons l'heure, saisissons la ligne dans le fil, finissons l'heure puis remplissons la ligne du tableau de données pour le sens et l'heure.
Ensuite, nous lançons une carte de contrôle pour visualiser les données entrantes.
Cette partie est en boucle jusqu'à ce que nous exécutions le script pour déconnecter.
Vous pouvez potentiellement ajouter n'importe quel capteur à l'Arduino de votre choix, y compris en lisant à partir des broches numériques.
Si vous avez des questions ou des idées, veuillez commenter ci-dessous.
Salut Ryan, bon travail 
J'ai quelques idées pour rendre cela plus robnust et encore plus applicable:
- Faites des vérifications de temps en temps pour l'utilisation de la RAM, juste pour vous assurer de ne pas rencontrer de problèmes de manque de mémoire et donc d'une erreur d'exécution. S'il reste trop peu de RAM, arrêtez-vous automatiquement, redémarrez JMP et relancez le script en ajoutant une ligne sur l'axe des x du graphe de contrôle pour signaler un nouveau départ.
- Publiez les résultats dans JMP Live au lieu du tableau de contrôle local pour que les autres voient ce qui se passe.
Qu'est-ce que tu penses?
Martin
Merci Martin, bonne idée sur Ram Check. Mon prochain projet porte sur plusieurs capteurs à la fois. Pour le cas d'utilisation de JMP Live, une vérification du capteur à des intervalles plus longs constituerait une bonne application.
Quelques expériences (évidentes) que nous pourrions essayer.
- Application de fabrication d'un appareil ouvert ou fermé. (0 ou 1)
- Pression
- PH
- Temp