Todas as Discussões Marcadas 'fim' - Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)2024-03-29T01:07:07Zhttps://labdegaragem.com/forum/topic/listForTag?tag=fim&feed=yes&xn_auth=noDuvida para travar o motor dc com driver ponte h l298 usando a chave fim de cursotag:labdegaragem.com,2015-11-25:6223006:Topic:4970152015-11-25T15:09:28.862ZLucas Massahttps://labdegaragem.com/profile/LucasMassa
<p>ola ,sou leigo em projetos eletronicos ,eu estou fazendo um projeto de varal com sensor de chuva com driver ponte h e um motor dc 5v controlado pelo arduino uno e para trava o motor quando recolher totalmente e quando estender totalmente resolvi botar duas chave fim de curso um para quando recolher um para para quando estender.</p>
<p>mas estou tendo problemas pois eu ligo tudo certo mas estou com duvidas para fazer com que quando a chave for acionada o motor parar , alguem por favor pode me…</p>
<p>ola ,sou leigo em projetos eletronicos ,eu estou fazendo um projeto de varal com sensor de chuva com driver ponte h e um motor dc 5v controlado pelo arduino uno e para trava o motor quando recolher totalmente e quando estender totalmente resolvi botar duas chave fim de curso um para quando recolher um para para quando estender.</p>
<p>mas estou tendo problemas pois eu ligo tudo certo mas estou com duvidas para fazer com que quando a chave for acionada o motor parar , alguem por favor pode me ajuda a exemplificar a programacao e a ligacao da chave para que esta pare o motor ?</p>
<p>agradeco a atencao </p> motor de passo não para completamente ao chegar no fim de cursotag:labdegaragem.com,2015-08-04:6223006:Topic:4646112015-08-04T16:10:22.087Zroni fariashttps://labdegaragem.com/profile/ronifarias
<p><span>meu motor continua funcionando mesmo chegando no fim de curso... mais tipo beeeem mais lento viu. tipo não corta a corrente toda. to usando arduino... configuração do drive ta em 3.2 amp. e o pulse em 3200..</span></p>
<p></p>
<p><span>soluções ae galera.?!!!</span></p>
<p><span>meu motor continua funcionando mesmo chegando no fim de curso... mais tipo beeeem mais lento viu. tipo não corta a corrente toda. to usando arduino... configuração do drive ta em 3.2 amp. e o pulse em 3200..</span></p>
<p></p>
<p><span>soluções ae galera.?!!!</span></p> Ajuda com AccelStepper e fim de curso - Resolvidotag:labdegaragem.com,2015-04-26:6223006:Topic:4355542015-04-26T17:10:38.694ZErnando Francohttps://labdegaragem.com/profile/ErnandoFranco
<p>Boa tarde amigos ,estou fazendo um programa aonde ele move 2 motores de passo ate um sensor de home e zera a posição e depois vai ate a posição final e guarda a posição total (numero de passos),guarda o valor numa variavel.nao estou conseguindo fazer funcionar...</p>
<p>ligo e nada acontece ,estou usando 02 easy drivers e usando os exemplos da lib estao funcionando</p>
<p>ok com as definições usadas neste software...Abaixo segue meu codigo.Obrigado antecipadamente a…</p>
<p>Boa tarde amigos ,estou fazendo um programa aonde ele move 2 motores de passo ate um sensor de home e zera a posição e depois vai ate a posição final e guarda a posição total (numero de passos),guarda o valor numa variavel.nao estou conseguindo fazer funcionar...</p>
<p>ligo e nada acontece ,estou usando 02 easy drivers e usando os exemplos da lib estao funcionando</p>
<p>ok com as definições usadas neste software...Abaixo segue meu codigo.Obrigado antecipadamente a todos.</p>
<p></p>
<p></p>
<p>#include <AccelStepper.h> //carrega a biblioteca accelstepper</p>
<p>//===============================<br/> AccelStepper motor1(1, 8, 7); //configura o Easy driver para o motor1<br/> AccelStepper motor2(1, 12, 13); //configura o Easy driver para o motor2<br/> //===============================<br/> #define home1 2 // define o pino 2 como home1 - sensor de home<br/> #define end1 4 // define o pino 4 como end1 - sensor de fim de curso<br/> //===============================<br/> byte iniciar=0; // variavel para inicializacao do motores<br/> long rodamotor1;// variavel para girar o motor1<br/> long rodamotor2;// variavel para girar o motor2<br/> long posicaofinal1;<br/> long posicaofinal2;<br/> //=================</p>
<p>void setup()<br/> {<br/> pinMode(end1,INPUT); // configura o end1 como entrada<br/> digitalWrite(end1,HIGH); //liga o pullUp<br/> pinMode(home1,INPUT); //configura o home1 como entrada<br/> digitalWrite(home1,HIGH); //liga o pullUp<br/> motor1.setMaxSpeed(1000); //seta a maxima velocidade do motor1<br/> motor1.setAcceleration(500.0);// seta a maxima aceleracao do motor1<br/> motor2.setMaxSpeed(1000); // seta a maxima do motor2<br/> motor2.setAcceleration(500.0);//seta a maxima acelercao do motor2<br/> }</p>
<p>void loop()<br/> {<br/> <br/> if(iniciar==0) //se a variavel inicio for zero...<br/> { <br/> motor1.moveTo(10000); //configuara o quanto o motor1 vai andar<br/> motor1.run(); //manda o motor1 andar<br/> <br/> if(home1==0) // se o sensor de home1 for acionado...<br/> {<br/> motor1.setCurrentPosition(0); //carrega a posicao do motor1 como 0<br/> motor1.moveTo(-10000); // configura o quanto o motor vai andar..<br/> motor1.run(); //move o motor1 para -10000<br/> <br/> }<br/> <br/> if(end1==0) // se o sensor de end1 for acionado...<br/> {<br/> motor1.targetPosition(); //adquire a posicao atual do motor1<br/> posicaofinal1=motor1.targetPosition();//carrega o valor na variavel posicaofinal<br/> motor1.moveTo(-10); //configura o quanto o motor1 vai andar<br/> motor1.run(); //manda o motor para -10<br/> }<br/> <br/> if(motor1.targetPosition() <= -10) // se o motor1 estiver na posição -10...<br/> {<br/> motor1.stop(); // para antes de bater no home1<br/> iniciar = 1; // muda o valor da variavel iniciar para 1<br/> }<br/> <br/> }<br/> }</p> Motor de passo sem chave de fim de curso? RESOLVIDOtag:labdegaragem.com,2015-03-26:6223006:Topic:4273642015-03-26T14:15:34.632ZFCaldeirahttps://labdegaragem.com/profile/FCaldeira
<p></p>
<p></p>
<p><br/> Olá a todos.</p>
<p>É possível criar limites para um motor de passo sem chave de fim de curso, só com programação e Lib AccelStepper?</p>
<p></p>
<p>Fernando</p>
<p></p>
<p></p>
<p><br/> Olá a todos.</p>
<p>É possível criar limites para um motor de passo sem chave de fim de curso, só com programação e Lib AccelStepper?</p>
<p></p>
<p>Fernando</p> Cancelar valor do delay() durante a execuçãotag:labdegaragem.com,2015-03-25:6223006:Topic:4271232015-03-25T03:19:54.051ZFelipe Sousahttps://labdegaragem.com/profile/FelipeSousa297
<p>Olá pessoal...</p>
<p>Estou construindo um controle de motor dc 12v com arduino e l293d para um slider de câmeras...</p>
<p>Porém estou tendo dificuldade em adicionar um botão fim de curso neste projeto.</p>
<p>O projeto funciona assim:</p>
<p>Botão gira sentido esquerda e outro para direita</p>
<p>Porém foi criada uma função para timelapse em que é possível controlar o valor do DELAY(runtime e delaytime) de 0.0 até 99.9. Logo se configurado runtime=1.0 e delaytime=1.0 o motor anda 1 segundo…</p>
<p>Olá pessoal...</p>
<p>Estou construindo um controle de motor dc 12v com arduino e l293d para um slider de câmeras...</p>
<p>Porém estou tendo dificuldade em adicionar um botão fim de curso neste projeto.</p>
<p>O projeto funciona assim:</p>
<p>Botão gira sentido esquerda e outro para direita</p>
<p>Porém foi criada uma função para timelapse em que é possível controlar o valor do DELAY(runtime e delaytime) de 0.0 até 99.9. Logo se configurado runtime=1.0 e delaytime=1.0 o motor anda 1 segundo e para 1 segundo. Caso os valores sejam ZERO o motor funciona normalmemte apenas quando apertado o botão de sentido de giro.</p>
<p>Agora vem o problema. Com os valores do delay(runtime) maiores que ZERO, ao apertar e soltar um dos botões de giro do motor ele vai girar o tempo de runtime que foi configurado.</p>
<p>Então não consigo fazer uma função que pare instantaneamente o motor.</p>
<p>A ideia óbvia seria colocar a chave fim de curso cortando a corrente do motor, logo ao pressionar o botão para giro contrário não irá funcionar, tendo que manualmente desencostar o botão fim de curso.</p>
<p>Segue abaixo o código:</p>
<p></p>
<p>void loop() {</p>
<p></p>
<p>// Controlando o sentido de rotação para Esquerda com botão pelos INPUTs do L293d.</p>
<p> if (digitalRead(bMudaSentRotEsq) == HIGH) { <br/> if(runTime >= 0) {<br/> digitalWrite(motorDCEnt1, LOW);<br/> digitalWrite(motorDCEnt2, HIGH);<br/> delay(runTime*100);<br/> }<br/> if(delayDolly > 0) {<br/> digitalWrite(motorDCEnt1, LOW);<br/> digitalWrite(motorDCEnt2, LOW);<br/> delay(delayDolly*100);<br/> } <br/> }</p>
<p></p>
<p>// Controlando o sentido de rotação para Direita com botão pelos INPUTs do L293d.<br/> if (digitalRead(bMudaSentRotDir) == HIGH) {<br/> if(runTime >= 0) {<br/> digitalWrite(motorDCEnt1, HIGH);<br/> digitalWrite(motorDCEnt2, LOW);<br/> delay(runTime*100);<br/> }<br/> if(delayDolly > 0) {<br/> digitalWrite(motorDCEnt1, LOW);<br/> digitalWrite(motorDCEnt2, LOW);<br/> delay(delayDolly*100);<br/> }<br/> }<br/><br/> if (digitalRead(bFimdeCursoEsq) == HIGH) {<br/> digitalWrite(motorDCEnt2, LOW);<br/> }</p>
<p><br/> if (digitalRead(bFimdeCursoDir) == HIGH) {<br/> digitalWrite(motorDCEnt1, LOW);<br/> }</p>
<p></p>
<p>)</p>
<p></p>
<p></p>
<p>Do jeito que está os botões fim de curso funcionam perfeitamente quando o valor de RUNTIME é igual a ZERO. Lembrado que o RUNTIME maior que ZERO o motor só para depois que completar o tempo, por isso tem que parar o motor instantaneamente.</p>
<p></p>
<p></p>
<p></p> Programa para o Arduino avisar que a bateria está acabandotag:labdegaragem.com,2014-09-22:6223006:Topic:3868742014-09-22T15:47:28.352ZVanessa da Rocha Alveshttps://labdegaragem.com/profile/VanessadaRochaAlves
<p></p>
<p>Bom dia</p>
<p></p>
<p>Estou fazendo um projeto onde uso como alimentação uma bateria de 9V. Para esse projeto, saber quando a bateria está chegando ao fim é importante.</p>
<p></p>
<p>Eu consigo fazer com que o Arduino emita um sinal para avisar quando a carga da bateria está fraca? (com um buzzer ou algum outro sinal sonoro)? Procurei em vários lugares, mas não consegui encontrar nada.</p>
<p></p>
<p>Vocês tem alguma ideia, ou algum projeto parecido?</p>
<p>Estou começando a usar o…</p>
<p></p>
<p>Bom dia</p>
<p></p>
<p>Estou fazendo um projeto onde uso como alimentação uma bateria de 9V. Para esse projeto, saber quando a bateria está chegando ao fim é importante.</p>
<p></p>
<p>Eu consigo fazer com que o Arduino emita um sinal para avisar quando a carga da bateria está fraca? (com um buzzer ou algum outro sinal sonoro)? Procurei em vários lugares, mas não consegui encontrar nada.</p>
<p></p>
<p>Vocês tem alguma ideia, ou algum projeto parecido?</p>
<p>Estou começando a usar o Arduino, não sei muito sobre ele ainda.</p>
<p></p>
<p>Obrigada (:</p> Como executar apenas um loop? código com RTCtag:labdegaragem.com,2014-06-02:6223006:Topic:3574972014-06-02T01:54:37.095ZTiago Alexandrehttps://labdegaragem.com/profile/TiagoAlexandre
<p>Estou elaborando um Alimentador com RTC, contudo tem um diferencial que este o alimentador é para um aquário com dois peixes. Desta forma eu preciso que ele derrube a ração por 500 millisegundos ou menor, para que saia a dose de ração adequada, o que me prejudica na hora definir um intervalo tão curto.</p>
<p></p>
<p>contudo não está dando certo, na função void alimentador (), o if executa intermitentemente similar ao blink até encerrar o minuto que programei. Eu precisava que ele ativasse o…</p>
<p>Estou elaborando um Alimentador com RTC, contudo tem um diferencial que este o alimentador é para um aquário com dois peixes. Desta forma eu preciso que ele derrube a ração por 500 millisegundos ou menor, para que saia a dose de ração adequada, o que me prejudica na hora definir um intervalo tão curto.</p>
<p></p>
<p>contudo não está dando certo, na função void alimentador (), o if executa intermitentemente similar ao blink até encerrar o minuto que programei. Eu precisava que ele ativasse o motor apenas uma ex: se for 6 horas liga motor por 500 millis, desliga motor, aguarda dar 6 horas novamente.</p>
<p></p>
<p>segue abaixo o código em que estou trabalhando, ja quebrei bastante a cabeça esse final de semana nele.</p>
<p></p>
<p>Se alguém puder contribuir agradeço.</p>
<p></p>
<p></p>
<p></p>
<p>//código relógio alimentador com RTC</p>
<p><br/>#include <Wire.h><br/>#include "RTClib.h"</p>
<p>RTC_DS1307 rtc;</p>
<p>int motPin = 12; // pino do motor<br/>int motState = LOW; // status do motor<br/><br/></p>
<p>void setup () {</p>
<p>Serial.begin(9600);<br/>#ifdef AVR<br/> Wire.begin();<br/>#else<br/> Wire1.begin(); // Shield I2C pins connect to alt I2C bus on Arduino Due<br/>#endif<br/> rtc.begin();<br/> pinMode(motPin, OUTPUT);</p>
<p>}</p>
<p>void loop () {<br/> <br/> relogio ();<br/> alimentador ();<br/> }</p>
<p>void relogio () { // imprime a hora no serial monitor<br/> DateTime now = rtc.now();<br/> <br/> Serial.print(now.year(), DEC);<br/> Serial.print('/');<br/> Serial.print(now.month(), DEC);<br/> Serial.print('/');<br/> Serial.print(now.day(), DEC);<br/> Serial.print(' ');<br/> Serial.print(now.hour(), DEC);<br/> Serial.print(':');<br/> Serial.print(now.minute(), DEC);<br/> Serial.print(':');<br/> Serial.print(now.second(), DEC);<br/> Serial.println();<br/> <br/> Serial.println();<br/> delay(1000);<br/> <br/> }<br/> <br/>void alimentador (){</p>
<p><br/> DateTime now = rtc.now(); // identifica a hora do RTC</p>
<p><br/> digitalWrite(motPin, motState); <br/> if (motState == HIGH){<br/> Serial.println("ligou"); <br/> }<br/> if (now.hour() == 21 && now.minute () == 06){ // hora da ação<br/> do{<br/> motState = !motState; // inverte bolean <br/> delay (500); // seria o tempo necessário para a dose correta de ração<br/> break; // deveria encerrar o loop<br/> }<br/> while (0); // fui obrigado colocar para existir o break<br/> }<br/>}//fim do código</p>
<p></p>
<p>me deram uma dica </p>
<ul class="xg_messageList">
<li class="message"><p class="_message">Função Void() {</p>
</li>
<li class="message brief"><p class="_message">A=1 </p>
</li>
<li class="message brief"><p class="_message">While (A==1) {</p>
</li>
<li class="message brief"><p class="_message">executa função</p>
</li>
<li class="message brief"><p class="_message">if (horario = horárioesperado) {</p>
</li>
<li class="message brief"><p class="_message">A=0 // encerra o loop</p>
</li>
<li class="message brief"><p class="_message">}</p>
</li>
<li class="message brief"><p class="_message">fecha o while }</p>
</li>
<li class="message brief"><p class="_message">fecha função void }</p>
</li>
</ul>
<p>contudo quando utilizo esse sistema ele mantem a mesma configuração inicial talvez não esteja executando de forma correta</p>
<p></p>
<p></p>