Boa noite bom estou com um código de automação com controle de 7 relés e 4 Ar-Condicionado porem o código ficou com quase 40.000 bytes e meu Arduino Mega 2560 não compila por causa do tamanho inclusive eu precisava escrever mais algumas coisas no código mas não sei o que fazer para diminuir o tamanho dele já fiz o esquema de usar #define e até usei o client.print(F()); para reduzir mas não foi o suficiente alguém pode me ajudar com isso?

OBS: Separei alguns códigos em abas tambem.

Segue o Código:

Codigo_Automacao_Residencial_Completo.rar

Erro:

Exibições: 3303

Responder esta

Respostas a este tópico

Bom dia, amigo.

Estudei bastante o seu código. Ele é fantástico. Consegui entender a maior parte dele. Não tinha noção que era assim que se fazia (sou hobista).

Precisei fazer um ajuste na leitura do DHT... estava acontecendo o tempo todo o erro de leitura, levando os valores a 0 e 99 (umidade e temperatura)... depois eu ficava atualizando a página para ver se corrigia e nada... tirei o "if" que vc colocou e deixei simplesmente fazendo a leitura. fiz vários testes e ele atualiza os valores sem erro aparente.

Mexi um pouco no html: mudei os h1 para h2 e inclui um novo título com o h1.

Pensei em incluir um botão para atualizar a página: digamos que cliquei em "Liga Ar". O endereço no navegador muda para "http://192.168.100.40/AR-on". A partir daí, se usar o atualizar do navegador, estarei sempre enviando o comando para ligar o ar... Incluir o botão eu sei (copiando dos que vc fez). Tb consigo Incluir no "IF" que recebe o comando do navegador um outro "else if", mas não sei que código escrevo para atualizar a página (em uma outra biblioteca eu usava client.flush(), eu acho).

Uma outra alternativa a esse botão atualizar seria fazer o navegador voltar para o endereço inicial (192.168.100.40) depois de enviar o comando.

olá novamente Paulo.

      Sobre os pontos que vc mencionou:

      1)  acredito que vc esteja se referindo ao "if (Ok)" da função "le_Temperatura_Humidade". Aí na sua compilação, a variável "Ok" certamente estava ficando sempre com o valor "false", e isto deve estar ocorrendo devido às diferenças entre a sua Biblioteca do DHT e a que eu usei. O importante é vc se certificar que os valores de temperatura e umidade estejam sempre corretos. Então tranquilo se vc excluiu o tal "if" como vc relatou, pois o importante são os valores estarem corretos.

      2) sobre a URL (endereço do link) que fica no Navegador quando vc clica em um dos botões, isto é de competência exclusiva do Navegador. É ele quem decide qual URL irá ficar ali. Você pode confirmar isso olhando a função que envia a Página HTML no código do Arduino. O que há lá, são os textos a serem retornados quando vc clica no botão, e isto tem que ser assim, pra que o "decodificador" executando no Arduino saiba o que fazer quando se clica em um ou outro botão.

      Ainda sobre isto, veja que os Navegadores mais populares (Chrome, Firefox, Internet Explorer, etc), permitem vc colocar um item de favorito na barra de Navegação. Então basta vc clicar neste item, que a página inicial será sempre chamada.

      Bem, isto são conjecturas e discussões sobre as funcionalidades do HTML, que é uma coisa muito ampla e fora do contexto pra tratar aqui neste tópico.

      Uma coisa que espero que seja útil, é o Mecanismo Gerenciador de Páginas HTML (na verdade este mecanismo funciona com qualquer protocolo dentro do TCP/IP), o qual eu criei justamente para "automatizar" e simplificar o gerenciamento de diversas páginas HTML. Se vc entender como usá-lo, ele será uma mão na roda pra se fazer um Sistema com diversas Páginas HTML, acrescentando um nível de "sofisticação" ao seu Sistema.

      Abrçs,

      Elcids

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço