[resolvido] Acionar rele por 8seg após pressionar botão arduíno - Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)2024-03-29T10:54:12Zhttps://labdegaragem.com/forum/topics/ajuda-com-um-projeto-de-automa-o-no-arduino?commentId=6223006%3AComment%3A888675&x=1&feed=yes&xn_auth=noQue ótimo que pude ajuda-lo.…tag:labdegaragem.com,2022-12-01:6223006:Comment:8886752022-12-01T23:15:43.919Ztiago merceshttps://labdegaragem.com/profile/tiagomerces
<p>Que ótimo que pude ajuda-lo.</p>
<p>Se possível, altere o nome do tópico para: "[resolvido] Acionar rele por 8seg após pressionar botão"</p>
<p>Que ótimo que pude ajuda-lo.</p>
<p>Se possível, altere o nome do tópico para: "[resolvido] Acionar rele por 8seg após pressionar botão"</p> Muito obrigado pelas fontes,…tag:labdegaragem.com,2022-12-01:6223006:Comment:8885782022-12-01T19:26:05.728ZPedro Henrique Ribeiro Soareshttps://labdegaragem.com/profile/PedroHenriqueRibeiroSoares
<p>Muito obrigado pelas fontes, amigo. Irei sim estudar mais sobre! Espero um dia poder estar auxiliando outras pessoas assim como vocês.</p>
<p>Muito obrigado pelas fontes, amigo. Irei sim estudar mais sobre! Espero um dia poder estar auxiliando outras pessoas assim como vocês.</p> Muito obrigado amigo! Tive pr…tag:labdegaragem.com,2022-12-01:6223006:Comment:8885742022-12-01T19:25:20.000ZPedro Henrique Ribeiro Soareshttps://labdegaragem.com/profile/PedroHenriqueRibeiroSoares
<p>Muito obrigado amigo! Tive problemas com a senha da minha conta e não tive como voltar pra te agradecer, mas realmente deu certo! Eu estava complicando demais pra nada hahaha. Muito obrigado pelas dicas!</p>
<p>Muito obrigado amigo! Tive problemas com a senha da minha conta e não tive como voltar pra te agradecer, mas realmente deu certo! Eu estava complicando demais pra nada hahaha. Muito obrigado pelas dicas!</p> Bom dia,
Como o Hélio já deu…tag:labdegaragem.com,2022-11-12:6223006:Comment:8884362022-11-12T11:37:09.605ZJosé Gustavo Abreu Murtahttps://labdegaragem.com/profile/GustavoMurta
<p>Bom dia, </p>
<p>Como o Hélio já deu as dicas, sugiro que estude:</p>
<p></p>
<p><a href="https://docs.arduino.cc/built-in-examples/digital/Debounce" target="_blank">https://docs.arduino.cc/built-in-examples/digital/Debounce</a></p>
<p><a href="https://labdegaragem.com/profiles/blogs/tutorial-executando-fun-es-em-intervalos-de-tempo-fixos-timers" target="_blank">https://labdegaragem.com/profiles/blogs/tutorial-executando-fun-es-em-intervalos-de-tempo-fixos-timers…</a></p>
<p></p>
<p>Bom dia, </p>
<p>Como o Hélio já deu as dicas, sugiro que estude:</p>
<p></p>
<p><a href="https://docs.arduino.cc/built-in-examples/digital/Debounce" target="_blank">https://docs.arduino.cc/built-in-examples/digital/Debounce</a></p>
<p><a href="https://labdegaragem.com/profiles/blogs/tutorial-executando-fun-es-em-intervalos-de-tempo-fixos-timers" target="_blank">https://labdegaragem.com/profiles/blogs/tutorial-executando-fun-es-em-intervalos-de-tempo-fixos-timers</a></p>
<p><a href="https://create.arduino.cc/projecthub/techvaler/basic-setup-for-arduino-with-relay-e162d5" target="_blank">https://create.arduino.cc/projecthub/techvaler/basic-setup-for-arduino-with-relay-e162d5</a></p>
<p></p>
<p>e ainda:</p>
<p><a href="https://blog.eletrogate.com/componentes-basicos-do-arduino-o-que-e-resistor-led-potenciometro-push-button/" target="_blank">https://blog.eletrogate.com/componentes-basicos-do-arduino-o-que-e-resistor-led-potenciometro-push-button/</a></p>
<p><a href="https://blog.eletrogate.com/arduino-ide-montagem-e-descricao-de-onze-exemplos/" target="_blank">https://blog.eletrogate.com/arduino-ide-montagem-e-descricao-de-onze-exemplos/</a></p>
<p><a href="https://blog.eletrogate.com/o-que-e-o-efeito-bouncing-e-como-evita-lo/" target="_blank">https://blog.eletrogate.com/o-que-e-o-efeito-bouncing-e-como-evita-lo/</a></p>
<p></p>
<p></p> E ai Pedro Henrique Ribeiro S…tag:labdegaragem.com,2022-11-09:6223006:Comment:8882862022-11-09T04:28:45.760Ztiago merceshttps://labdegaragem.com/profile/tiagomerces
<p>E ai <a href="https://labdegaragem.com/profile/PedroHenriqueRibeiroSoares">Pedro Henrique Ribeiro Soares</a>, tudo bem?</p>
<p></p>
<p>"Quero apertar um botão, e quero que o relé fique ativo por 8 segundos"</p>
<p>Tudo bem, até aqui é bem fácil, vamos então analisar seu código?</p>
<p></p>
<p><strong>int led = 13;</strong></p>
<p>- Definiu a variável "led" como "int" e atribuiu o valor de "13"<br></br><strong>int Pulsador = 2;</strong></p>
<p>- Definiu a variável "Pulsador" como "int" e atribuiu…</p>
<p>E ai <a href="https://labdegaragem.com/profile/PedroHenriqueRibeiroSoares">Pedro Henrique Ribeiro Soares</a>, tudo bem?</p>
<p></p>
<p>"Quero apertar um botão, e quero que o relé fique ativo por 8 segundos"</p>
<p>Tudo bem, até aqui é bem fácil, vamos então analisar seu código?</p>
<p></p>
<p><strong>int led = 13;</strong></p>
<p>- Definiu a variável "led" como "int" e atribuiu o valor de "13"<br/><strong>int Pulsador = 2;</strong></p>
<p>- Definiu a variável "Pulsador" como "int" e atribuiu o valor de "2"</p>
<p><br/><strong>void setup(){</strong></p>
<p>- Abertura da função "setup()"<br/> <strong>pinMode(led, OUTPUT);</strong></p>
<p>- Define o pino "led" como saída.<br/> <strong>pinMode(Pulsador, INPUT);</strong></p>
<p>- Define o pino "Pulsador" como entrada.<br/><strong>}</strong></p>
<p>- Fecha o "setup()"</p>
<p></p>
<p></p>
<p><strong>void loop(){</strong></p>
<p>- Abertura da função "loop()"</p>
<p><strong>if (digitalRead(Pulsador) == HIGH) {</strong></p>
<p>- Condição: "Se, a leitura do pino "pulsador" for igual a "HIGH" (alto)</p>
<p><strong>for (int x=0; x<=5; x++){</strong></p>
<p>- Inicia uma "rotina" de for:</p>
<p>1) define "x" como inteiro, a iguala a zero.</p>
<p>2) O loop continua se "X" for menor ou igual a "5". </p>
<p>3) e adiciona "+1" a X</p>
<p>obs- Ou seja, haverá 6 repetições</p>
<p><strong>digitalWrite(led, !digitalRead(led));</strong></p>
<p>- Define o estado do pino "led", como o inverso do próprio estado.<br/> <strong>delay(5000);</strong></p>
<p>- Pausa de 5 segudos.<br/> <strong>}</strong></p>
<p>- Fecha o for<br/> <strong>}</strong></p>
<p>- Fecha o "if"<br/><strong>}</strong></p>
<p>- Fecha o "loop()"</p>
<p></p>
<p></p>
<p></p>
<p>Quando a gente vai criar um código, é muito importante entende-lo, caso contrário, você irá copiar/colar ou escrever coisas aleatórias e sem muito sentido. </p>
<p>Lembre-se, programador tem que ser "preguiçoso", então, quanto menor for seu código, e mais objetivo, em princípio será melhor.</p>
<p></p>
<p></p>
<p>Então, voltando ao seu código, veja aquele "for". Não existe sentido algum ele ali. Pois ao pressionar o botão, você irá produzir um delay de 30 (TRINTA) segundos, o mudança automática do estado do pino, sem a possibilidade de você mexer.</p>
<p></p>
<p>Veja:</p>
<p></p>
<p>for(int x = 0; x<=5; x++)</p>
<p>quando X == 0, o estado do pino irá mudar, e terá 5 segundos de delay</p>
<p>quando X == 1, o estado do pino irá mudar DE NOVO, e terá 5 segundos de delay</p>
<p>quando X == 2, o estado do pino irá mudar NOVAMENTE, e terá 5 segundos de delay</p>
<p>quando X == 3, o estado do pino irá mudar MAIS UMA VEZ, e terá 5 segundos de delay</p>
<p>quando X == 4, o estado do pino irá mudar DE NOVO, e terá 5 segundos de delay</p>
<p>quando X == 5, o estado do pino irá mudar MAIS UMA VEZ, e terá 5 segundos de delay</p>
<p></p>
<p>Esse código é excessivamente estranho e faz qualquer coisa, menos o que você deseja.</p>
<p></p>
<p></p>
<p></p>
<p>Se você quer que, ao apertar o botão, ligue o rele por 8 segundos, e depois desligue, então pq não fazer assim?</p>
<p></p>
<p>void setup(){<br/> pinMode(13, OUTPUT); // define o pino 13 como "saida"<br/> pinMode(2, INPUT); // define o pino 2 como "entrada"<br/>}</p>
<p></p>
<p>loop(){</p>
<p> if (digitalRead(2) == HIGH) { // Caso o botão seja pressionado</p>
<p> digitalWrite(13, HIGH); // Muda o estado do pino para alto</p>
<p> delay(8000); // delay de 8 segundos</p>
<p> digitalWrite(13, LOW); // muda o estado do pino para baixo</p>
<p> }</p>
<p>}</p>
<p></p>
<p></p>
<p>Simples e objetivo.</p> Simplificado, você pode coloc…tag:labdegaragem.com,2022-11-09:6223006:Comment:8882832022-11-09T01:25:26.550ZHélio Rodrigues de C. Filhohttps://labdegaragem.com/profile/HelioRodriguesdeCFilho
<p>Simplificado, você pode colocar debounce, contagem regressiva, etc.</p>
<p><a href="https://storage.ning.com/topology/rest/1.0/file/get/10877897281?profile=original" target="_blank" rel="noopener">LED_TIME.rar</a></p>
<p>Simplificado, você pode colocar debounce, contagem regressiva, etc.</p>
<p><a href="https://storage.ning.com/topology/rest/1.0/file/get/10877897281?profile=original" target="_blank" rel="noopener">LED_TIME.rar</a></p>