Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Immagini cliccabili?
#1
Ciao a tutti,
vi è già capitato di dover rendere un immagine cliccabile?
Io ho provato a inserire nel pannello
Code:
{%50|.0I4.32%33;L1R#F00:0:ON;|}

e imposto sulla lettura seriale questo codice:
Code:
if (Msg.equals("#.EVT:0:1")) ecc....
Ma se volessi che l'immagine 4.32, una volta cliccatoci sopra diventa 4.33, come si fà senza vedere due immagine sullo sfondo?
In poche parole vorrei che facesse lo stresso lavoro che fà il led di stato il classico LG1.
Ciao a tutti
Reply
#2
Ciao Enzo,

SOLUZIONE 1. Puoi usare l'oggetto "switch" definendolo con la sintassi n.2, che ti permette di scegliere l'immagine che vuoi per ciascuno stato. E' descritto qui:

http://www.miupanel.com/objects/

In questo caso, non c'è bisogno di usare l' EVENTO "click"

Nel tuo caso lo switch da definire sul pannello è: W1M:0:4.32,4.33;
Dove si è definito uno switch con id=1 avente due stati (0 e 1). Lo stato iniziale (cioè quello visualizzato appena invii il pannello) è lo stato 0, ossia quello a cui corrisponde l'immagine della galleria 4.32

SOLUZIONE 2. Puoi usare l'oggetto "LED" definendolo con la sintassi n.2, che ti permette di scegliere l'immagine che vuoi per ciascuno stato (puoi definire fino a 10 stati).
In questo caso, il led non è pensato per essere cliccabile, quindi devi aggiungere tu l'EVENTO click sul LED in fase di definizione del pannello. Quando il tuo micro riceverà l'evento click sul LED, allora deciderai di commutare lo stato del led (ossia l'immagine che hai associato al nuovo stato).
Reply
#3
Grazie mille Technomaker,
la soluzione W1M:0:4.32,4.33; era proprio quello che cercavo.
Saluti
Enzo
Reply
#4
Ciao a tutti,
mi riallaccio a questa discussione per sapere se è possibile ridimensionare le immagini, per esempio la 7.12/7.13 usata come switch W1M:0:7.12,7.13; è troppo grande si può ridurre ?
Grazie
Reply
#5
Certamente!
Basta usare lo STILE "Size" (carattere HCTML *)

Trovi tutti gli stili nella pagina design principles

Esempio:

W1M*5:1:7.12,7.13;
Reply
#6
Ciao a tutti,

sto tentando di utilizzare gli eventi associati ad una immagine. Fin quì tutto funziona: metto nel pannello l'immagine, associo un evento e lato seriale arduino eseguo il codice appena intercetto l'evento.
Ma se volessi mandare un comando che mi "aggiorni" l'oggetto immagine, è possibile?
In pratica il codice è:

Code:
float ELTM8; // stato pulsante

int LTM8  = 0; // stato LED arduino

String Msg;

void setup() {

 ELTM8 = 4.32;
 
 Serial.begin(57600);      // only debug
 Serial3.begin(57600);     // miupanel comunicator

 pinMode (13, OUTPUT);   // debug only
 
 delay(3000);            // time to start system

 pages0();

}

void loop(){
miupanel();
digitalWrite(13, LTM8);
}

void miupanel() {

 int c;

 while ((c = Serial3.read()) > '\n') Msg += (char) c;  // Read incoming chars, if any, until new line

 if (c == '\n')                                       // is the message complete?
 {
   Msg.toUpperCase();
   
   Serial.println("----------------");Serial.println(Msg); // debug sul serial monitor
   
   if (Msg.substring(0,4).equals("#B0P")) {
     pages0();
   }
   
   if (Msg.substring(0,4).equals("#B1P")) {
     pages1();
   }
   
   if (Msg.substring(0,9).equals("#.EVT:0:1")) {if (ELTM8== 4.32){ELTM8 = 4.33; LTM8=1;} else {ELTM8 = 4.32; LTM8=0;}}
   
   Msg = "";
   
 }  
}


void pages0(){ //MAINPAGE
 Serial3.println("");
 Serial3.println("$P:D!FFFg14w;/S1*.*15%40r15!FFF,AAAh5,000,15;/{%55^-p20r20gn2M1#FFF*20:Test Panel;}//{%70^-p5r20gn2^*20T:Stanze;{B1s1:Panel;}}");
}

void pages1(){
 Serial3.print("$P:D!00A-k;Tz2d,15*16b#FFF:Test;//%95^m-p5r20gn2K2:.?I?%16;$/{{J2(0,");
 Serial3.print(ELTM8);
 Serial3.println(")}}");
 
}

Praticamente fa quello che gli ho chiesto di fare. Se nell' if dell'evento ci metto un refresh della pagina richiamandola banalmente con pages1(); il "tasto" si aggiorna.
Esiste, invece, un comando diretto dalla seriale che possa dire all'oggetto di cambiare immagine?
So già che ci sono sia switch che led ma a me servono 61 "pulsanti" distinti, per questo mi sto scervellando...

Grazie a chi portà indirizzarmi al meglio.

Antonio.
Reply
#7
Ciao mrboss,
in questi casi è meglio spiegare l'applicazione, magari allegando il pannello che hai fatto.

Potresti pensare il pannello come 3 sezioni, in cui mostri ciascuna sezione per volta. Quindi in realtà sono 3 pannelli separati e risolvi.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)