Gostaria de saber se alguem sabe se e possivel o arduino ler algum programa e executar pelo Modulo Micro SD.
Tags:
ok Samuel,
é que o arquivo está zipado no formato WinRar. Este é o formato original que o Thomaz deixou, pois ele sabia acrescentar manualmente a Lib.
Passei para "zip", aqui: "UIPEthernet-2.0.7 - ajustada.zip"
Basta baixar e fazer o procedimento que vc conhece para acrescentar a Lib. Testei aqui acrescentando pela IDE do Arduino e funcionou.
Amanhã irei também otimizar seu código, e posto aqui.
Abrçs
Elcids
Amigo, a principio ele funcionou.
Mas depois de uns breves segundos, ele para e desconecta como sempre. porem dessa vez ele ligou todos os 4 reles.
olá Samuel.
Analisei o código que vc postou aqui neste tópico, a fim de verificar se alguma parte poderia ser otimizada. De fato é possível otimizar, mas a economia de RAM será muito pequena, apenas pouco mais de 30 bytes, o que não considero satisfatório para efeito de otimização. Isso ocorre porque seu código é bastante simples, e todo o "trabalho" é feito pela "abstração" proporcionada pelo Blynk. Uma otimização do Blynk pode ser feita, mas eu desaconselho em 99.9% dos casos, incluindo o seu.
Eu testei seu código usando sua configuração de Hardware: Nano e ENC82J60. Para isto, criei um projeto via Blynk no Smartphone, constando de 4 Botões no modo "Switch" com o mesmo mapeamento de pinos que vc usou (pinos 3, 4, 5, e 6), e a estes pinos conectei 4 LEDs de cores diferentes. Funcionou perfeitamente, inclusive com testes intensivos. Também testei com os Botões no modo "Push", e também funcionou (mas como o controle efetivo é para Relés, o modo "Switch" seria o mais adequado, ou seja, cada toque no Botão inverte o estado do respectivo Relé).
Então, com a Lib "UIPEthernet" aqui postada que foi "ajustada" para ter uma maior economia de RAM, não encontrei problemas pra fazer funcionar corretamente (e a economia de RAM foi bem grande no Arduino).
Eu iria trilhar o uso dinâmico da RAM, ou seja, acompanhar quanto de RAM está livre durante a execução, a fim de verificar se havia risco de "crash" entre Heap e Stack. Mas como a economia usando a "UIPEthernet" postada foi grande e o App via Blynk funcionou perfeito no Smartphone, não vi motivos para fazer esse acompanhamento do uso dinâmico de RAM para o seu código.
Para ajudar no diagnóstico, veja se vc pode informar estes pontos:
1) no celular, vc está usando um projeto Blynk criado com o próprio App Blynk, ou está usando um App dedicado que vc mesmo criou ?
2) como estão as conexões de Hardware do seu Sistema? Como vc está alimentando as bobinas dos Relés ? Há isolação efetiva entre os contatos do Relé e o circuito do Arduino? Qual a carga acionada pelos Relés?
3) vc fez testes intensivos com apenas um Relé? Se sim, qual foi o resultado?
Fico no aguardo.
Abrçs,
Elcids
1)Sim, estou utilizando o próprio app da blynk
2) Estou utilizando uma fonte chaveada de 5V que alimenta tanto o arduino quanto o módulo rele de 4 canais de forma separada. Não fiz nenhum isolamento para as bobinas do rele, pois estou utilizando o modulo rele de 4 canais. Não entendi essa pergunta em relação a carga.
3) Sim, tanto no modo push quanto switch. E funcionou perfeitamente até mesmo 2 ele funciona perfeitamente.
No momento não estou em cara, assim que eu chegar, vou tentar mudar todos os componentes e ver se algum que esta dando o defeito.
Ok Samuel.
Vamos juntar os resultados então:
- vc fez testes intensivos com 2 Relés e funcionou Ok. Estou considerando que nestes testes, vc usou o mesmo App Blynk e mesmo código do Arduino (o que vc postou aqui).
- eu usei a Lib UIP otimizada (que economizou uma grande quantidade de RAM do Nano), e com um App do Blynk com 4 Botões, e funcionou perfeitamente.
Então pode estar acontecendo que spikes de tensão estão travando seu Nano ou o módulo ENC82J60. Veja: se a bobina do seu Relé é de 5V, então cada bobina vai consumir cerca de 80mA quando acionada. Três bobinas acionadas ao mesmo tempo consomem 240mA. O próprio ENC28J60 consome uma corrente que pode passar facilmente de 100mA (ao menos os picos de corrente). Logo pode estar ocorrendo que quando vc aciona o quarto Relé, os spikes resultantes na alimentação (principalmente no momento do acionamento e desacionamento) tem intensidade suficiente para travar o Nano ou o ENC.
Para verificar, vc pode fazer assim: controle todos os 4 Relés, mas nunca deixe mais de 2 ligados ao mesmo tempo. Se funcionar, saberemos que o problema não é o código do Nano e nem o Blynk. Neste caso, as coisas apontam para o Hardware, mais precisamente como vc está conectando o módulo de 4 Relés, principalmente em termos de alimentação (VCC e GND).
Sobre a "carga", me refiro a que tipo de equipamento, ou seja, Motor, Lâmpadas, Solenóide, etc, vc está acionando via Relés. Para diagnóstico, é bastante importante saber quais são estas cargas e qual a especificação elétrica delas. As que causam grande problema, são os Solenóides, mesmo quando são "pequenos". Já Motores, causam problemas apenas se forem muito grandes e "pesados". E alguns tipos de lâmpadas, causam problemas, como as fluorescentes (principalmente se usarem reatores convencionais).
Sobre isolamento elétrico relacionado a estes módulos de Relés, aconselho vc ler um tópico onde falo sobre isso, e irá esclarecer bastante isso para vc. Tem bastante coisa escrita lá, mas valerá a pena vc estar a par. É o tópico desse link: "Módulo relé 8 canais sem JD-VCC"
Se vc postar aqui fotos mostrando o Módulo Relé que vc está usando, eu posso postar um diagrama mostrando a forma adequada de vc conectar e controlar o módulo via Nano. Ou seja, a forma adequada de conectar a alimentação e os sinais de controle.
Fico no aguardo,
Abrçs
Elcids
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por