interfaccia Processing

Ciao a tutti, Grazie a tutti voi per l'aiuto che mi avete dato nella realizzazione del controllo temperatura per il processo di cottura della birra. La parte arduino funziona correttamente e mi consente di inserire, tramite serial monitor, i dati di temperatura e tempo. Adesso vorrei capire come realizzare una interfaccia in processing che mi eviti di usare il serial monitor. Per ora in maniera abbastanza confusa sono riuscito a leggere i valori in uscita dalla seriale e scriverli su una finestra. Non sono riuscito a trovare una guida decente che mi indichi come creare una casella di input in processing. qualcuno mi aiuta? Grazie :)

Cosa intendi una casella di input?

In Processing non ci sono oggetti visuali classici (come in visual basic) ad esempio caselle di testo, button, combo. etc. Devi affidarti a librerie fatte da altri, al esempio interfascia o controlP5. Vedi qui: http://processing.org/reference/libraries/ sezione Graphic Interface

grazie mille credo che sia proprio quello che cercavo. Ma è una mia impressione o in processing le guide sono scritte malissimo? Boh sarò io che non ci capisco un'acca!!!

Effettivamente :grin:

Io ho provato la ControlP5 e li hai anche dei controlli tipo il volume circolare (Knob) o slidebar (volume lineare).

Ho provato anche Interfascia e quella l'input c'e' l'ha. Ma non ha i bei Knob o gli slidebar

Tieni conto che nelle librerie ci sono anche un fracco di esempi (cartella examples)

io infatti ero andato su interfascia ma non mi importa la libreria! adesso sto provando con controlP5.

Sto studiando python in questo periodo e mi permetto di consigliarti di approfondire l'argomento, ritengo un linguaggio molto semplice e allo stesso tempo con un enorme archivio anche in italiano di spiegazioni e altro, esistono moduli per ogni tipo a te basterebbe quello seriale e quello per creare una interfaccia windows.

dici?
adesso leggo un po e vediamo. E’ che programmare non è la mia passione, preferisco l’HW :stuck_out_tongue:
imparare una latro linguaggio non mi andava. Però forse python è più versatile di processing.

In ufficio dovrei averlo, ma domani non sono al lavoro. A casa, adesso, non ho quel file. Se lo trovo lo posto.

Da dove hai scaricato? Questo dovrebbe essere l'ultima versione; ti scarica un interfascia003.zip

http://www.superstable.net/interfascia/download.htm

ok grazie, questo funziona :) l'altro lo avevo scaricato dal primo link che mi avevi mandato. boh!

Anche io ti consiglio python. È decisamente più diffuso di processing e ti permette di personalizzarti l'interfaccia come vuoi. Se devi solo vedere la temperatura o inviare comandi tramite pulsanti tkinter che è l'ambiente grafico di serie con python ti potrebbe bastare sennò potresti usare wxWidgets o Qt. Per la seriale esiste pySerial se ti interessa.

mi sa che mi tocca python processing è veramente documetato male :(

Io ho usato la guiforprocessing. La cosa bella è che ti installi guitool e crei graficamente le interfacce, proprio spostando sul desk i tasti, i bottoni, ecc

grazie mille per i suggerimenti, ho fatto con interfascia e funziona :) solo una cosa qualcuno sa come cancellare il valore della label dopo la scrittura? attualmente mi viene tutto sovrapposto!

import processing.serial.*;

import interfascia.*;


GUIController c;
IFTextField t;
IFLabel l;
Serial porta;
void setup() {
  size(400, 200);
  background(150);
  porta = new Serial(this,"COM8",9600);
  c = new GUIController(this);
  t = new IFTextField("Text Field", 25, 30, 150);
  l = new IFLabel("", 20, 100);
  
  c.add(t);
  c.add(l);
  porta.clear();
  t.addActionListener(this);
  
}

void draw() {
   if (porta.available() > 0) {
   strokeWeight(0);
     //String u=String.valueOf(porta.readString());
     String inBuffer = porta.readStringUntil('\n');   
    if (inBuffer != null) {
      println(inBuffer);
      
    l.setLabel(inBuffer);
   
    }
     
    //print(porta.readString());
    
  }
  
}
void actionPerformed(GUIEvent e) {
  if (e.getMessage().equals("Completed")) {
    porta.write(t.getValue());
  }
}

Testato: Io ho usato la guiforprocessing. La cosa bella è che ti installi guitool e crei graficamente le interfacce, proprio spostando sul desk i tasti, i bottoni, ecc

mi dici da dove lo hai scaricato? non riesco a troarlo, srebbe il top :)

whteice: mi dici da dove lo hai scaricato? non riesco a troarlo, srebbe il top :)

Credo sia questa.

grazie

http://www.python.it/ qui trovi tutto quello che ti serve ed è tutto in italiano io lo sto leggendo e già ho fatto qualche semplice programmino a breve spero di passare con i moduli di interfacciamento seriale che penso sia la parte molto interessante, se impari questo passare a sistemi arm con os linux ti diverti ancora di più, anche io amo molto HW la programmazione non la digerisco.

si ho visto che è documentatissimo :) con processing sono ad un passetto dalla fine di sto lavoraccio infame. 1) su arduino ho impostato tutto correttamente (lettura scrittura delle temperature/tempi, accensione spegnimento della piasta ecc) 2) da Processing li leggo/invio correttamente 3) da processig scrivo i valori in un file di testo che apro con excel in manera corretta mi manca solo la label di processing che sovrascrive i valori letti e quindi alla seconda lettura è tutto nero!!!

astrobeed:

whteice: mi dici da dove lo hai scaricato? non riesco a troarlo, srebbe il top :)

Credo sia questa.

Yes, piu' precisamente il tool grafico e' questo http://www.lagers.org.uk/g4ptool/index.html

adesso ho un bel problema la seriale non funziona con l'ultima versione e win 64 b devo usare la 1.5.1 che non è compatibile con le librerie consigliate!