L'interfaccia grafica

Ciao a tutti sono nuovo nel mondo di arduino e del forum; fino ad ora ho fatto qualche progettino semplice tipo far lampeggiare uno o più led, accendere un led quando è buio o accendere sempre il solito led con input da SerialMonitor di 0 o 1; ora la mia domanda è questa: Come posso fare e cosa devo utilizzare per creare un'interfaccia grafica che mi permetta di interagire con arduino? Ad esempio se voglio far partire il mio programmino che premendo un pulsante della mia interfaccia sul PC mi faccia accendere il led come posso fare? Ho cercato un po' su internet e qui sul forum ma non ho trovato nulla che mi spiegasse bene... Confido in voi :grin:

PS: come programmazione ho una preparazione di base con C/C++ e Visual Basic

Ciao Manny, Ti consiglio di guardarti per bene Firmata... Trovi già i programmi fatti :)

ratto93: Ciao Manny, Ti consiglio di guardarti per bene Firmata... Trovi già i programmi fatti :)

Guarda che è Menny non Manny, ora cominceranno i casini :grin: forse è la volta buona che alcuni impareranno ad usare il mio nome come si deve, lasciando da parte i vezzeggiativi :P

Ops.. ho letto male :P

menniti: forse è la volta buona che alcuni impareranno ad usare il mio nome come si deve, lasciando da parte i vezzeggiativi :P

Perché, M[u]a[/u]nniti, chi ti storpia il nome? Dillo a Leonarduccio tuo! :*

Perché, Manniti, chi ti storpia il nome? Dillo a Leonarduccio tuo! smiley-kiss

ahahha :grin: :grin: :grin:

Mea culpa, che vuoi....mmm il nick Manny ha il suo fascino. Prometto non lo userò più.

Il il soprannome c'è l'ho e me lo tengo, black cat tanto che è un gravatar.

PS: Che dice il Dragone, occhio alle lingue di fuoco.

Ciao.

Bah, siete una bellissima accozzaglia di bastardi :D vi voglio bene :*

ahaha non pensavo di creare un casino solo col mio nick :grin: :grin:
Comunque darò un’occhiata a firmata ma se volessi usare qualcosa in C è possibile o sto fantasticando? XD

In C si può fare tutto

Per l'interfaccia grafica ti consiglio di studiare le librerie GTK+, per comunicare con Arduino ci sono mille modi(con open e fopen, stampando comandi su un terminale, se è in rete ci sono curl, soket, http... ), devo solo scegliere. Ciao

MGuruDC: In C si può fare tutto

Per l'interfaccia grafica ti consiglio di studiare le librerie GTK+, per comunicare con Arduino ci sono mille modi(con open e fopen, stampando comandi su un terminale, se è in rete ci sono curl, soket, http... ), devo solo scegliere. Ciao

Grazie mille... proverò a dare un'occhiata =)

personalmente uso Visual Basic 6 e tramite MSComm… ricevo e invio comandi…
esempio codice lettura:

Private Sub porta_OnComm()
Dim InBuff As String
Select Case porta.CommEvent
Case comEvReceive
Call funzione(porta.Input)
End Select
End Sub

…mentre per inviare…

porta.Output = “<A:0:0:0:0>” & Chr(13)

:wink:

ADemo86:
personalmente uso Visual Basic 6 e tramite MSComm… ricevo e invio comandi…
esempio codice lettura:

Private Sub porta_OnComm()
Dim InBuff As String
Select Case porta.CommEvent
Case comEvReceive
Call funzione(porta.Input)
End Select
End Sub

…mentre per inviare…

porta.Output = “<A:0:0:0:0>” & Chr(13)

:wink:

wow allora provo visto che un po’ di VB lo mastico! Grazie! :slight_smile:

Ok ho provato a fare come detto da ADemo86 con VB6, ho dato un'occhiata alle MSComm e ho provato a scrivere un programmino che con 2 semplici bottoni accende un led inviando 0 o 1 tramite COM4 il problema è che arduino riceve il dato in quanto il led RX lampeggia ma il led non si accende. Vi posto il codice: VB6

Private Sub Command1_Click()
MSComm1.CommPort = 4
MSComm1.Settings = "9600,n,8,1"
MSComm1.PortOpen = True
MSComm1.Output = "1"
MSComm1.PortOpen = False
End Sub

Private Sub Command2_Click()
MSComm1.CommPort = 4
MSComm1.Settings = "9600,n,8,1"
MSComm1.PortOpen = True
MSComm1.Output = "0"
MSComm1.PortOpen = False
End Sub

Sketch arduino

void setup(){
  Serial.begin(9600);
  pinMode(9,OUTPUT);
}
char val=0;
void loop(){
  //if(Serial.available()>0)
    val=Serial.read();
  if(val=='1')
    digitalWrite(9,HIGH);
  if(val=='0')
    digitalWrite(9,LOW);
}

Come mai Arduino non interpreta il segnale di VB e non accende il led?

riguarda il listato VB, perche apri 2 volte la porta?... assicurati che dopo l'outpt ci sia: & chr(13) ... ;)

secondo me il blink ke vedi è solo la connessione... ma non invia..

ADemo86: riguarda il listato VB, perche apri 2 volte la porta?...

Apro due volte la porta in quanto sono due bottoni differenti uno "Accendi" e l'altro "Spegni" per ognuno apro la porta, invio il segnale e la richiudo. (almeno così è come l'ho pensato, se è sbagliato correggimi pure)

ADemo86: assicurati che dopo l'outpt ci sia: & chr(13) ... ;)

anche mettendo & chr(13) non cambia nulla =( =(

% chr(13) in questo caso non ti serve.

Secondo me è errato il codice VB, ed in ogni caso la comunicazione va aperta una sola volta quando avvii il programma

lesto: % chr(13) in questo caso non ti serve.

Secondo me è errato il codice VB, ed in ogni caso la comunicazione va aperta una sola volta quando avvii il programma

FUNZIONA!... seguendo il tuo consiglio ho tolto &chr(13) e ho aperto la porta nella Form_load e ora funziona tutto! :D GRAZIE MILLE A TUTTI!