Go Down

Topic: Ligar/Desligar relé em html(usando botao) com Wiznet (Read 7078 times) previous topic - next topic

arduinohtml

Olá! Estou precisando de um código para Ethernet Wiznet em Html puro com botão Ligar/Desligar uma porta do arduino uno. Alguém aí pode me ajudar... os códigos que achei até o momento só tem check box, ou coisas do tipo.... Tentei implementar um "Button" mas não consegui! A idéia é ter dois botões um Liga e outro Desliga em html e fazer eles acionaram um relé... olhando assim é simples, mas tá difícil...

Wagner Sartori Junior

vc vai precisar gravar uma variável na memória ou na EEPROM se quiser manter o estado do botão(ligado / desligado) durante restarts do arduino. é muito parecido com o checkbox.

arduinohtml

Parece que ele reinicia a cada refresh na página não é isso?? Tem como você me explicar só esta parte de declarar a variável que o valor dela não será perdido quando reiniciar o arduino???

Wagner Sartori Junior

com o UNO toda vez que você abre a porta serial, ele reinicia. a alguns métodos de resolver isso, é só procurar no forum que tem algumas sugestões.

a memória normal, se reiniciar você perde o estado, mas se usar EEPROM, aí você consegue gravar o estado do seu arduino mesmo quando ficar sem força.

EEPROM.write(0, 1); // isto vai gravar no endereço 1 da EEPROM o valor 1

o EEPROM.read(0); // você pega o conteúdo do endereço 0(1 no caso)...

arduinohtml

Wagner,  tem como colocar um botão HTML que ao clicar altere o valor da memória EEPROM? Alguma coisa do tipo:           

client.println("<input type='button' value='Gravar' onClick=EEPROM.write(0,1)>");

client.println("<input type='button' value='Refresh' onClick='window.location.href=window.location.href'>");

Wagner Sartori Junior

Tem com certeza, mas vai precisar usar form e tratar o "submit" para gravar na EEPROM.

Você vai precisar ler um pouco para conseguir fazer isso. O que você está tentando fazer do lado do cliente é impossível:
Code: [Select]
client.println("<input type='button' value='Gravar' onClick=EEPROM.write(0,1)>");

Você vai precisar de um: <form action="" method="get"> o input submit e aí quando clicar no botão ele vai dar o submit no formulário para a mesma página usando GET. Da uma pesquisada que está cheio de exemplos por aí.


Go Up