Hola a todos:
Tengo realizada una aplicación con Arduino mega2560 con una pantalla TFT táctil, en la cual puedo activar 12 relés de forma única,es decir si el relé 1 está activado el resto no lo están,si el relé 2 está activado el relé 1 y del 3 al 12 no lo están etc, para ello uso una variable para contar y según pulse en la pantalla TFT táctil sumo o resto uno para cambiar al relé que deseo activar.
Todo me funciona correctamente. Se me ocurrió utilizar una Ethernet Shield para poder visualizar en mi navegador que relé estaba activado . No tengo muchos conocimientos de HTML, pero a base de leer ,probar y ver ejemplos en Google, conseguí hacerlo funcionar incluso, todo el código de HTML lo tengo en un archivo texto que leo desde la tarjeta SD y lo envío para que me aparezca en mi navegador. Refresco la pagina cada 2 segundos y me funciona perfectamente.
Se me ocurrió que al igual que cambio de relé a través del táctil de la pantalla, ¿por que no poderlos cambiar también desde la página? y que el Arduino recibiera la información para cambiar de relé.
Agregue dos botones al código HTML para cambiar de relé y perfecto me cambiaba de relé. Desde el botón pulsado en el evento onclick y a través de location.href le envio un string para saber que botón he pulsado , que Arduino lo lea y si he pulsado un botón sumo 1 para que pase a activar el siguiente relé y si el pulsado el otro botón resto uno para que pase a activar el relé anterior. Me funciona correctamente.
Y aquí viene el problema, como cada dos segundos refresco la página para tener la información actualizada , vuelvo a recibir el valor del botón que pulse y por lo tanto me cambia al siguiente o anterior relé según el botón pulsado y así cada vez que se refresca cada 2 segundos.
No he conseguido encontrar información de como hacer que solo lo envie una vez dicho String y que luego quede sin valor hasta que vuelva a pulsar un botón para que así no cambie los relés.
Posiblemente sea un problema a resolver en HTML y no tenga nada que ver en este foro, por lo cual pido disculpas adelantadas y si el moderador tiene a bien recharzarlo, lo comprendo perfectamente, pero quizás haya otra forma de hacerlo para Arduino y de ahí que me haya decidido a consultarlo en este foro.
Gracias anticipadas a todos.