è una prova.. e non so se sia possibile con SR04
in uno sketch faccio muovere delle figure in Processing usando un telecomando, utilizzando Firmata e IRremote,
e Firmata non ha i comandi IRremote.
ho modificato Firmata inserendo IRremote
dovresti provare ad inserire i comandi di SR04 in Firmata (come se fosse uno sketch in arduino) per poi riprenderli in Processing.
per non complicare troppo prova ad usare "simple digital firmata" che ha poche righe
Firmdata invia ogni singolo comando via seriale, e da tale ne legge la risposta. La seriale è lenta (57.600 baud = 5.760byte/s), e non permette una precisione così alta, o comunque sei molto a rischio.
Un consiglio: lascia stare firmadata, e fatti un tuo protocollo ad hoc. Tanto per quello che vuoi fare ora ti basta il serial monitor, poi leggere e scrivere via seriale da processing è una baggianata.
Altro problema:
Staio mettendo LOGICA del programma nel Thread di disegno ( draw() è chiamato da thread grafico ) cosa da non fare MAI! (mai avuto a che fare con quelle schemate di installazione che non rispondono ai comandi mentre installano? ecco.)
Infatti ho risolto non usando più la libreria Firmata ma inviando i dati da Arduino sulla seriale e poi da Processing con la sua libreria li leggo.
Solo che adesso mi è sorto un dubbio: per inviare e poi ricevere due dati contemporaneamente come dovrei fare?
l'hardware + libreria, sia lato PC che lato arduino, si occupa di ascoltare ed inviare dati anche in modo parallelo se necessario e possibile. Tu semplicemente fai read e write.
Forse il problema tuo è che ci sono delle funzioni di lettura che sono bloccanti, in tal caso fai attenzione ad usare quelle che non lo sono