Bom dia galera!

Eu queria fazer um programa n arduino assim:

Eu coloco um valor x

Coloco outro valor x2 e dou enter 

ae ele começa a programação

se eu coloquei no valor x=4

e no valor x2 = 2

eu queria q o led1 piscasse 4 vezes

o led2 piscasse 1

o led1 piscasse 4 vezes

e o led2 piscasse 1 vez

ou seja, o valor x é quanto vai piscar o led1 e o valor x2 é quantas vezes vai se repetir isso!

e depois queria sair do programa

eu tentei assim

for (int i=0; i = x; i+1){


for(int i2=0; i2 = x2 ; i2+1){
digitalWrite(led2, 1);
delay(2000);
digitalWrite(led2, 0);
delay(2000);

}

digitalWrite(led, 1);
delay(2000);
digitalWrite(led, 0);
delay(2000);
digitalWrite(led, 1);
delay(2000);
digitalWrite(led, 0);
delay(2000);
}

e não deu certo só um led ficou piscando e n parava mais n prosseguia para o resto do programa.

Exibições: 278

Responder esta

Respostas a este tópico

sua lógica está errada. Se o X2 significa quantas vezes a rotina toda se repetirá, e X significa quantas vezes o led1 piscará, então X deveria estar contido dentro da rotina X2

seria algo assim:

for (a = 0; a < x2; a++) // esse é o loop principal, isto é, quantas vezes a rotina principal se repete

{

     for (b = 0; b < x; b++) // esse é o loop que faz acender e apagar led1

     {

                 ligueLed1;

                 aguardeAlgunsMilisegundos;

                 desligueLed1;

                 aguardeAlgunsMilisegundos;

     }

     ligueLed2;

     aguardeAlgunsMilisegundos;

     desligueLed2;

     aguardeAlgunsMilisegundos;

}

No seu código vc esta atribuindo a variável de controle i,i2 o valor x --> i recebe o valor x. O operador de comparação esta errado .

for(int i=0; i<x; i++)
{
for(int j=0; j<x2; j++)
{
liga led 2;
delay(2000);
desliga led2);
delay(2000);
}

liga led 1;
delay(2000);
desliga led1);
delay(2000);
}
x=0;
x2=0;

pior q n ta dando de nenhum jeito, porque é assim eu vou usar 2 motores de passo, então é assim um motor de passo vai movimentar um pistão e o outro vai movimentar o carrocel em baixo então seria assim o primeiro valor q eu vou colocar é quantos passos ele vai dar. ae eu coloco q ele vai dar 4 passos, ae o segundo valor é quantos tubos tem no carrocel ae eu coloco q tem 5 tubos.

Entao o que ele iria fazer, iria girar 4 passos do pistão depois iria girar o carrocel e cada tubo tem uma distancia de 2 passos.

E assim até acabar a quantidade de tubos, ou seja motor1 = pistão, motor2 = carrocel,

motor1 da a quantidade de passos q eu informei depois o motor2 da 2 passos se n acabou os tubos e entra de novo nos passos do motor1.

 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço