Arduino Forum

International => Italiano => Generale => Topic started by: Anispir on Aug 12, 2011, 01:51 pm

Title: Comunicazione seriale Arduino-C#
Post by: Anispir on Aug 12, 2011, 01:51 pm
Ciao a tutti. Premetto che sono nuovo del mondo Arduino e fin ora mi sono limitato ai progetti di base (led, blink, fade ecc).

Ho collegato un potenziometro ad una Analogic In e riesco a visualizzare correttamente i valori da 0 a 1023 sul serial monitor.
Utilizzando il C# vorrei visualizzare questo valore su un programmino esterno al IDE Arduino (anche un semplice form con il numero per iniziare).
Googolando un po ho trovato pezzi di codice:
http://www.arduino.cc/playground/Interfacing/Csharp
http://www.ozhan.org/index.php?kat_id=19

ma non ci capisco molto pur avendo qualche nozione di C.
Suggerimenti di ogni tipo sono ben accetti  ;)

Grazie, Anispir
Title: Re: Comunicazione seriale Arduino-C#
Post by: lestofante on Aug 12, 2011, 09:58 pm
cosa non capisci? il codice nel playground mi sembra basico e completo. Hai errori o non capisci quale parte di codice?
Title: Re: Comunicazione seriale Arduino-C#
Post by: Anispir on Aug 13, 2011, 01:31 am
Per ora ho risolto così:

                        serialPort1.PortName="COM4";
              serialPort1.BaudRate=9600;
         serialPort1.DataBits=8;
         serialPort1.Parity=Parity.None;
         serialPort1.StopBits=StopBits.One;
         serialPort1.Open();
         string data = serialPort1.ReadLine();
         serialPort1.Close();
         textBox1.Text = data;

Ora cerco di far aggiornare in automatico la textbox ogni tot secondi ma sembra non funzionare.
Aggiungendo un ciclo for o while non visualizza il valore  =(
Grazie comunque!
Title: Re: Comunicazione seriale Arduino-C#
Post by: lestofante on Aug 13, 2011, 02:05 am
in java le texbox non sempre può bastare aggiornare il valore. dovresti anche assicurarti che il componente venga ridisegnato. facci caso, se muovi una fiunestra di solito il contenuto viene refreshato. se così il valore diventa giusto allora nel tuo "loop" sul pc ricordati di chiarare una funzione stile repaint();

però quì di sicuro fai fatica a trovare aiuto su queste cose, dovresti provare sul forum ufficiale dell'interfaccia grafica che stai usando