buonasera a tutti.
vorrei un consiglio.
Ho un Display Nextion 7 pollici collegato ad arduino mega.
ho disegnato un menù con il quale mi muove nelle varie pagine.
quando vado nella pagina delle luci ho vari pulsanti che mi alzano o abbassano le uscite di arduino.
I pulsanti hanno un animazione, quando li premo la scritta va da off a on e viceversa.
Ora se lascio il pulsante nello stato ON e cambio pagina l'uscita legata al pulsante rimane alta ma quando ritorno nella stessa pagina la scritta è OFF.
Lo script di arduino legato al pulsante è questo:
/**Button to return the response.
* @param ptr - the parameter was transmitted to pop event function pointer.
*/
void b20PopCallback(void *ptr)
{
NexButton *btn = (NexButton *)ptr;
memset(buffer, 0, sizeof(buffer));
btn->getText(buffer, sizeof(buffer));
if (strcmp(buffer,"ON"))
{
digitalWrite(2, HIGH);
strcpy(buffer, "ON");
}
else
{
digitalWrite(2, LOW);
strcpy(buffer, "OFF");
}
btn->setText(buffer);
}
Come posso risolvere?
devo memorizzare lo stato delle uscite quando esco dalla pagina e poi settare le scritte dei tasti quando rivado in quella pagina? oppure c'è un metodo piu carino e veloce?
grazie.