Todas as Discussões Marcadas 'while' - Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)2024-03-29T11:53:06Zhttps://labdegaragem.com/forum/topic/listForTag?tag=while&feed=yes&xn_auth=noProgramação no arduino com uso de botão de pressãotag:labdegaragem.com,2016-07-24:6223006:Topic:5528062016-07-24T02:43:22.645ZRodrigo Rioshttps://labdegaragem.com/profile/RodrigoRios569
<p>Olá,</p>
<p>Preciso de ajuda para programação no arduino.</p>
<p>Vou usar um botão de pressão, com isso quero que a cada ativação dele, a cada pressionada,<br></br>seja feito um "if", minha dificuldade é essa, de que cada pressionada alterne entre os "if", ou usando outro modo de estrutura para realizar a tarefa.</p>
<p>Ex: primeira pressionada = primeiro "if", segunda pressionada = próximo "if", e assim por diante...</p>
<p>Pode ser que termine na ultima função ou que se repita ao chegar no…</p>
<p>Olá,</p>
<p>Preciso de ajuda para programação no arduino.</p>
<p>Vou usar um botão de pressão, com isso quero que a cada ativação dele, a cada pressionada,<br/>seja feito um "if", minha dificuldade é essa, de que cada pressionada alterne entre os "if", ou usando outro modo de estrutura para realizar a tarefa.</p>
<p>Ex: primeira pressionada = primeiro "if", segunda pressionada = próximo "if", e assim por diante...</p>
<p>Pode ser que termine na ultima função ou que se repita ao chegar no ultimo.</p>
<p>E se caso uma outra estrutura de controle seja mais adequada, como "while" ou "swith case", favor informar.</p>
<p>Agradeço.</p> Ajuda - Como ler um sensor de som em loop infinito e gerar ações diferentes para cada valor?tag:labdegaragem.com,2015-08-22:6223006:Topic:4695012015-08-22T00:55:38.511ZCristiano Linohttps://labdegaragem.com/profile/CristianoLino
<p>Boa noite garagistas.</p>
<p>Estou com um problema em um projeto para um alarme baseado em ruído.</p>
<p></p>
<p>A ideia é a seguinte. Um sensor de som fica lendo o "som ambiente" e quando o ruído do ambiente passa de determinado valor uma luz apaga e permanece apagada enquanto o ruído/som permanecer alto. Assim que o ruído cessa a luz se acende.</p>
<p></p>
<p>Adaptei um programa que faz a leitura e apaga a luz quando o sensor lê acima do valor que estabeleci. Todavia, quando o som é…</p>
<p>Boa noite garagistas.</p>
<p>Estou com um problema em um projeto para um alarme baseado em ruído.</p>
<p></p>
<p>A ideia é a seguinte. Um sensor de som fica lendo o "som ambiente" e quando o ruído do ambiente passa de determinado valor uma luz apaga e permanece apagada enquanto o ruído/som permanecer alto. Assim que o ruído cessa a luz se acende.</p>
<p></p>
<p>Adaptei um programa que faz a leitura e apaga a luz quando o sensor lê acima do valor que estabeleci. Todavia, quando o som é continuo, a luz apaga (pisca) e volta a acender, por ter lido novamente o valor que permanece acima do estabalecido. Já percebi que o problema esta no fato do programa ter um comando "delay" que faz a leitura cessar e quando a leitura recomeça a luz se acende antes de "perceber" que o som ainda esta alto e volta a apagar. Mas o que busco é que ela permaneça apagada enquanto o som permanecer acima do valor de referência.</p>
<p>Alguém tem alguma dica? Segue abaixo o código, para teste utilizo o led do pino 13.</p>
<p></p>
<p><br/>int sensorPin = A0; // Conectar o sensor som na porta analógica 0<br/>long int val = 0; // inicia o valor do sensor em 0<br/>int rele = 13; //conecta o rele da luz no pino 13<br/>int relestate = HIGH;<br/> <br/> void setup() {<br/> Serial.begin(9600); //iniciei a serial para acompanhar os valores lidos pelo sensor<br/>pinMode (rele, OUTPUT);<br/> }<br/> void loop() {<br/> val = analogRead(sensorPin)*1000; // ler o valordo sensor e multiplica por 100</p>
<p>if (val < 25001){ //aqui defini o valor padrão para a luz apagar/acender - se menor acesa<br/> digitalWrite (rele, relestate);<br/> <br/> }<br/> else { //se maior apaga<br/> <br/> digitalWrite (rele, LOW);<br/> Serial.println(val);<br/> delay (700); // acredito que esse "delay" é o problema, mas se tiro do programa a luz não apaga, na verdade apaga mas tão rápido que se torna imperceptível.<br/> loop(); //isso me parece uma gambiarra, mas foi a solução que pensei para retornar a leitura do sensor<br/> <br/> } <br/> }</p>
<p></p>
<p></p>