Script video @stan_koprowski

Craige Hales di JMP ha redatto un modo innovativo per leggere i dati in tempo reale con un Arduino. Volevo provare questo da solo, e con l'aiuto del mio collega Stan abbiamo apportato alcune modifiche alla versione attuale di JMP, sono felice di dire che ha avuto successo. È stato sinceramente divertente sperimentare e ho imparato molto di più sulla JSL. Lo script JMP e il codice Arduino sono entrambi collegati di seguito per poter sperimentare.
Quindi un Arduino è un microcomputer economico che si collega tramite USB che è possibile caricare il codice personalizzato per l'esecuzione. Può funzionare a batteria o utilizzare l'alimentazione di una USB. L'Arduino funziona senza un contenitore e questo ho collegato un sensore di luce al pin 0.
Questo non è un tutorial completo su come programmare in Arduino né JSL ma semplicemente e introduzione a questa connessione un sensore con JMP usando uno script JMP.
Prima di tutto, lascia che ti mostri che funziona, quindi ti spiego rapidamente come è stato realizzato. Con entrambi i programmi JMP e Arduino IDE attivi, selezionerò l'icona Esegui script nel banner in alto a nastro. Ciò creerà prima una tabella di dati con 2 colonne. Ci sono 2 script in attesa nel nostro pannello della tabella per iniziare le cose. Selezionerò run Connect e si aprirà la porta di comunicazione su cui si trova Arduino e avvierà lo script principale. A proposito, sto praticamente eseguendo Windows su un Mac Book Pro e il mio Arduino è su Com3 perché questo è ciò che ha indicato il menu a discesa nel software Arduino.
Come puoi vedere, inizia rapidamente a popolare la nostra 1a colonna con i dati di luce provenienti dal sensore IR collegato al mio Arduino. La seconda colonna è un timestamp creato da JMP. Avvia inoltre un generatore di diagrammi di controllo per consentirci di visualizzare i dati in tempo reale.
Ecco come funziona.


Arduino si accende e raccoglie attivamente le informazioni del sensore utilizzando il codice caricato collegato a questo video.
In JMP, The JSL Script crea una tabella di dati con 2 colonne, rilevamento e tempo. Il Baud rate è piuttosto alto, ma è un modo per non perdere nessun dato letto dal feed Arduino.
Lo script JSL crea lo script Connect, che si collega e ascolta la porta utilizzata da Arduino. Iniziamo l'ora, prendiamo la linea dal feed, finiamo l'ora quindi popoliamo la riga della tabella dei dati per rilevamento e tempo.
Successivamente, lanciamo un diagramma di controllo per visualizzare i dati in arrivo.
Questa parte va in loop fino a quando non eseguiamo lo Script per disconnettersi.
Potresti potenzialmente aggiungere qualsiasi sensore ad Arduino che desideri, compresa la lettura dai pin digitali.
In caso di domande o idee, si prega di commentare di seguito.
Ciao Ryan, bel lavoro 
Ho alcune idee per rendere questo più furbo e ancora più applicabile:
- Esegui alcuni controlli per l'utilizzo della RAM di tanto in tanto, solo per essere sicuro di non avere problemi di memoria esaurita e quindi un errore di runtime. Se è rimasta una quantità minima di RAM, arrestare automaticamente, riavviare JMP ed eseguire nuovamente lo script, aggiungendo una linea all'asse x della tabella di controllo che indica che è stato avviato un nuovo avvio
- Pubblica i risultati in JMP Live anziché nella tabella di controllo locale per fare in modo che gli altri vedano cosa succede
Cosa ne pensi?
balestruccio
Grazie Martin, buona idea sul controllo Ram. Il mio prossimo progetto sta esaminando più sensori alla volta. Nel caso d'uso di JMP Live, forse un controllo del sensore a intervalli più lunghi sarebbe una buona applicazione.
Alcuni (ovvi) esperimenti che potremmo provare.
- Applicazione di produzione di un dispositivo aperto o chiuso. (0 o 1)
- Pressione
- PH
- Temp
@martindemel Ho fatto funzionare il sensore durante la notte, nessun problema. Ecco i miei dati in JMP Live. Nessun script da pubblicare su Live ancora.
https://devpublic15.jmp.com/packages/Arduino-Light-Sensor-Office-Test-24hrs/js-p/0TtxmV153kwDMXylv40XZ
