Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
come usare pulsanti
#1
Ciao tutti , sto creando un panello  con i vari pulsanti, ma non riesco a capire come posso mettere un immagine e usarla come pulsante, mi date una dritta? 
Questa è la stringa : {I7.38%18B1;T#0F0*18fi: Aux2;}    
 B1 mi sembra di capire che vada messo per identificare il pulsante, ho sbaglio? nel simulatore non mi da errore mentre se accedo sul panello mi da errore " Error at column 131: invalid character :;
grazie mille

Andrea
Reply
#2
(07-22-2019, 06:37 PM)Andrea Wrote: Ciao tutti , sto creando un panello  con i vari pulsanti, ma non riesco a capire come posso mettere un immagine e usarla come pulsante, mi date una dritta? 
Questa è la stringa : {I7.38%18B1;T#0F0*18fi: Aux2;}    
 B1 mi sembra di capire che vada messo per identificare il pulsante, ho sbaglio? nel simulatore non mi da errore mentre se accedo sul panello mi da errore " Error at column 131: invalid character :;
grazie mille

Andrea

Prova ad allegare il codice... comunque si....devi testare #B10 o #B11 se acceso o spento
Reply
#3
Ciao,
se ti va bene usare un "interruttore" (il cui stato cambia in automatico appena ci clicchi sopra), puoi usare l'OGGETTO SWITCH versione "custom" (cioè la "sintassi n. 2" spiegata nella pagina dell'oggetto switch).
Se uso l'ID 1 per lo switch, ho:

{W1M:1:7.36,7.38;T#0F0*18fi: Aux2;}


Se invece vuoi usare un "pulsante" (il cui stato devi aggirnarlo tu), puoi usare un oggetto LED Custom (cioè la "sintassi n. 2" spiegata nella pagina dell'oggetto LED) a cui però vai a definire un EVENTO di "click" (spiegato nella pagina "design principles") definito col simbolo "."
Se quindi, per esempio assegno l'ID 5 all'evento:

{{.5L1M*18:1:7.36,7.38;}|{T#0F0*18fi: Aux2;}}

Appena clicchi sul led, il modulo ti invia la stringa: "#.EVT:5:1" e tu dovrai andare quindi a modificare lo stato del led. Per esempio, se il nuovo stato è '1', allora invii un messaggio del tipo: #L11;

Ti ricordo che puoi usare il monitor seriale integrato nell'app per vedere i messaggi che il modulo trasmette verso il tuo micro.
Reply
#4
ciao e grazie a tutti domani provo e vi aggiorno
Reply
#5
perfetto ci sono riuscito, bene ora mi trovo con un altra difficoltà, come posso dire al panello upanel che se premo un pulsante da un quadro fisico mi dia il led spento o acceso, perche posso accendere  e spegnere il led sia da upanel che panello fisico
Reply
#6
il pusante deve essere messo a monte del relè-interruttore, cioè collegato direttamente ad arduino che si occuperà di controllare l'uscita del pin specifico che accende o spegne il led.
Reply
#7
ho iniziato da poco a "maneggiare" il MiuPanel, ma mi sono bloccato sulla gestione dei pulsanti.

in particolare non riesco a gestire l'evento sulla pressione/click di un semplice button.

come si può vedere nel semplice sketch arduino allegato imposto un led a 7 segmenti ed un pulsante.

Ad inviare il cambio di stato sul led non risulta un problema,
ma nella ricezione del msg (evento) dal pulsante non riesco a capire dove sbaglio, potete aiutarmi . Grazie.

void setup() {
// Initialize Serial Port
Serial.begin(57600);
// Let's uPanel start
delay(3000);
// Discharge old partial messages
Serial.println("");
// Enable real-time response
Serial.println("$PING 200");
// Send Panel (Single Green LED, 150% size on new line with text Blinking)
Serial.println("$P:L15:0;/*40B1fb:+;");
}
void loop() {
String Msg;
int contatore=0;
int c;
while ((c = Serial.read()) > '\n') Msg += (char) c; // Read incoming chars, if any, until new line
if (c == '\n') // is message complete?
{
if (Msg.equals("#B1P")) // has Button 1 been pushed?
{
contatore=contatore+1;
int d1=contatore %10;
Serial.print("#L1"); // Update message 1 text:
Serial.println(d1,DEC); // send the counter value
}
Msg = "";
}
}
Reply
#8
Ciao franti,
le seguenti variabili:

String Msg;
int contatore=0;

vanno definite fuori dal loop(), in altri termini devi definirle come variabili globali. Altrimenti il contatore viene azzerato continuamente.
Ciao
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)