Boa noite pessoal, estou testando uma pagina web que eu fiz porem estou tendo problemas quando acrescento mais botoes, coloquei 4 botoes na pagina funciona blz, quando  acrescentei o 5 botão e fui testar a pagina ai deu problema.. ela abre normal aparece os botoes normal, porem ela esta ligando os ledes sozinha por exemplo: quando clico no primeiro botão ou em qualquer botão os ledes começam a acender na sequencia dos botoes, primeiro um depois o outro e assim vai até chegar no ultimo, isso se repete 2 vezes dois ciclos.

Já o cod com 4 botoes funciona blz, ontem iniciei um tópico com um problema semelhante e o colega José Augusto me ajudou e resolvemos o problema.OBRIGADO José

segue os cod em anexo com 4 bts funcionando e com 5 bts bugado4 botoes

Exibições: 426

Responder esta

Respostas a este tópico

Argel, procurei mas não encontrei nenhum problema no código.

A única diferença entre os dois é no endereço IP:

Um está:

byte ip[] = { 192, 168, 0, 29 };

E o bugado está:

byte ip[] = { 192, 168, 0, 20 };

Oi AG, bom dia.

No inicio do code você imprime no monitor serial, os valores lidos nas entradas 

lógicas.

Estes valores no code "bugado" estão corretos?

Os 4 primeiros estão iguais aos resultados qdo usa o code revisão final?

Rui

Oi AG,

com estes valores que você citou, acho que não há interferência não.

Rui

Oi AG, bom dia.

Retificando minha resposta anterior,  como você usa as leituras das portas analógicas

para controlar a condição das luzes, se elas ficarem "flutuando", afetarão o resultado final.

Se você não tem ainda os sensores, pelo menos coloque resistores de pullup nas portas analógicas

para evitar falsas leituras.

Estou testando as suas duas versões.  Assim que tiver resultados, posto aqui.

Rui

Argel, boa tarde!

Como o Rui disse, o resultado das leituras pode interferir no resultado final, mas somente na apresentação do estado das luzes: Ligado ou Desligado.

A leitura não iria interferir no acionamento dos leds, provocando o comportamento que você reportou: Acender todos os leds sequencialmente.

Essa parte do código que acende os leds está correta e protegida pelos IFs.

Não posso testar seu código, mas aparentemente está correto.

Só consigo então visualizar 2 possibilidades do erro:

1) Montagem física incorreta. Verificar os esquema.

2) Problema de memória. Aqui no Lab, já foram reportados vários projetos iguais, cuja causa era insuficiência de memória.

- Você está usando o Arduino Mega?

- As IDEs recentes do Arduino reportam no final da compilação a memória ocupada.

- Faça um teste: Comente a parte do código que trata da luz do quarto, deixando a luz de teste. Verifique o que ocorre nesse caso.

3) Já tentou usar o mesmo endereço de IP do código que está funcionando?

Olá Argel!

Pois é.

É que esse espaço calculado pelo compilador é somente das variáveis estáticas (stack).

Mas existem as variáveis dinâmicas (heap) que são determinadas somente em tempo de execução. Isso ocorre principalmente com as variáveis do tipo String, que são muito usadas para gerar as páginas html.

Argel.Quer dizer então que o problema era com relação ao bug na IDE por informar consumos de memorias diferentes?Quiçá até até erro em endereçamento de registradores...

Oi AG,

duas observações.

Usei ambas versões e aqui funcionou.

Mas cada uma com um problema diferente.

Primeiro uma observação:

Ao ler portas analógicas, tem que ter um tempo entre uma leitura e outra;

Informação na pag237 do datasheet do Atmega328

  24. Analog-to-Digital Converter
       24.1 Features
                  • 10-bit Resolution
                  • 0.5 LSB Integral Non-linearity
                  • ± 2 LSB Absolute Accuracy
                  • 13 - 260μs Conversion Time   <-<-<-<-----------------------------------

veja mais informação que escrevi no poste :

http://labdegaragem.com/forum/topics/termostato-com-lm35-e-ponteci-...

Ok. usando a 1a versão eu coloquei 4 resistores de pullup nas portas analógicas, e funcionava ok,

mas ao colocar todas em pulldown, na tela no PC sumiu todas indicações, ficando

somente "Cozinha" e "Desligado".

A 2a versão "a bugada", funcionou ok, mas  o tempo para acender qq LED é grande se comparada à outra versão.

Rui

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço