Olá Gente ! Estou fazendo um projeto de automação residencial,achei esse código na internet, ele e perfeito pra mim. Ele consiste em vc apagar e acender um LED, tanto pelo navegador, quanto pelo botão, e amostrar do status no navegador se o LED esta ligado ou apagado. só que ele usa push button ( ou seja vc manda um pulso pro Arduino e ele acende o led ) só que eu preciso que ele use um interruptor. Alguém pode me ajudar nisso ?
Anexei o código do Arduino e o esquema do botão ( push button ). Desde já agradeço a todos !
Tags:
As respostas para este tópico estão encerradas.
Oi LS, boa tarde.
Testa este code modificado.
Rui
Exatamente o que eu faria Rui Viana, mas da seguinte forma naquela função:
void ButtonDebounce(void)
{
digitalWrite(6, digitalRead(2));
digitalWrite(7, digitalRead(3));
}
(não testei, mas acredito que funcione)
Luiz Sena,
A partir dessa modificação, aseu web server vai somente monitorar, certo?
Se for isso, creio que tenha que atualizar o vetor:
Na função que o Rui modificou, insira na linha 167 (após o trecho reading[1] = digitalRead(3);)
LED_state[0] = reading[0];
LED_state[1] = reading[1];
Isso atualizará o vetor com a leitura atual, que será passado ao webserver.
Funcionou, .. só que eu não consigo acender e apagar o LED pelo navegador :/ Anexei o código aqui, só falta corrigir isso.. Mas muito obg por está me ajudando :)
Luiz,
Antes das próximas alterações...
Quando eu escrevi "somente monitorar", é porque vc alterou uma característica importante do projeto original, ao trocar push button (sem trava) por um interruptor de duas posições.
Antes, os botões (reais e virtuais) tinham o mesmo funcionamento.
Agora, vc precisa definir a lógica, pois botões B1 e B2 (reais) podem permanecer no estado "ligado".
Exemplo:
Se B1 estiver na posição ligado , o que deve acontecer ao clicar/pressionar o b1 virtual?
Sim, é possível (principalmente se esquecermos a parte do "senhor"...kkk)
Seus interruptores (vamos chamar os botões reais assim) e botões (virtuais) vão funcionar como a ligação residencial "em paralelo":
a) a posição do interruptor não determina se a luz está acesa ou apagada.
b) a luz acesa/apagada depende da combinação do interruptor com o botão virtual - assim que um deles mudar de posição, a situação da luz também altera.
Seu projeto contempla isso?
Luiz,
Como não poderei ler sua resposta ou resolver isso hoje, preciso que faça a seguinte alteração:
No código HTML do seu webserver, que está assim:
[...]
setTimeout('GetArduinoIO()', 1000);
strLED1 = "";
strLED2 = "";
Comente essas linhas:
//strLED1 = "";
//strLED2 = "";
Salve e recarregue a página.
Isso fará com que os parâmetros de estado dos botões virtuais sempre sejam enviados ao arduino.
(infelizmente, somente após cada um deles ser alterado pela primeira vez).
Att.
Oi LS,
eu fiz exatamente isto, mas usei o ESP8266 no lugar do arduino.
http://labdegaragem.com/forum/topics/boa-noite-esp8266-bot-o-mais-e...
Aqui tem o code, tela e o esquema.
Rui
Opa... Rui Viana... assim é muito mais fácil. Valeu!!!
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues.
Ativado por