Boa tarde!

Alguém consegue me ajudar neste programa? É um programa em c para Arduíno, para o funcionamento de um dosador, serão dosados dois líquidos, com três recipientes. Primeiro recipiente com o primeiro liquido, segundo recipiente com o segundo liquido, terceiro recipiente com a mistura dos líquidos. O primeiro e o segundo recipiente ficarão em cima no mesmo nível e o terceiro em baixo, para usarmos a gravidade. Os recipientes serão abertos por bombas de esguicho de água (para-brisa de carro), e funcionarão como válvulas. O primeiro recipiente tem que ficar aberto por 2 segundos, o segundo por 3 segundos e o terceiro (com a mistura) por 5 segundos para a mistura cair no copo. As aberturas serão comandadas por temporizadores (programa). Após o término, o programa tem que desligar automaticamente. O programa inicia quando o botão inicial é apertado. Tem que ocorrer um intervalo de 2 segundos no meio de cada "fecha e abre" de bombas diferentes.

Falta alguma coisa ou tem coisa errada?

BOMBA 1 = pino 3 
BOMBA 2 = pino 5
BOMBA 3 = pino 6
BOTÃO LIGA = pino 9

int bombaum = 3
int bombadois = 5
int bombatres = 6
int botaoliga = 9

void setup()  {

pinMode (bombaum, output)
pinMode (bombadois, output)
pinMode (bombatres, output)
pinMode (botaoliga, input)

}

if (botaoliga == 1){
goto iniciaprograma();
end;
}
else{
}

void iniciaprograma()
{
delay(2000); //espera dois segundos

digitalWrite (3,HIGH); //abre bomba 1 por 2 segundos
delay(2000); //espera dois segundos
digitalWrite (3,LOW); //fecha bomba 1

delay(2000); //espera dois segundos

digitalWrite (5,HIGH); //abre bomba 2
delay(3000); 3 segundos

digitalWrite (5,LOW); //fecha bomba 2

delay(2000); //espera dois segundos

digitalWrite (6,HIGH); //abre bomba 3
delay(5000); //5 segundos

digitalWrite (6,LOW); //fecha bomba 3

delay(2000); //espera dois segundos

Exibições: 310

As respostas para este tópico estão encerradas.

Respostas a este tópico

Oi  Caroline, boa tarde.

Está dando erro de compilação comigo.

Vou tntar descobrir porque.

Rui

Obrigada Rui! Toda ajuda será muito válida!

Oi Caroline,

tem muitos erros,

faltam ; no final de varias "instruções";

goto não é chamada de função, ele deve apontar para label;

falta } no final do çodigo;

etc.

Rtui

Caroline, 

veja se isto que voce quer.

Rui

int bombaum = 3;
int bombadois = 5;
int bombatres = 6;
int botaoliga = 9;

void setup()
{
  pinMode (bombaum, OUTPUT);
  pinMode (bombadois, OUTPUT);
  pinMode (bombatres, OUTPUT);
  pinMode (botaoliga, INPUT);
}

void loop()
{
   if (botaoliga == 1)
   {
       delay(2000); //espera dois segundos

       digitalWrite (3,HIGH); //abre bomba 1 por 2 segundos
       delay(2000); //espera dois segundos
       digitalWrite (3,LOW); //fecha bomba 1

      delay(2000); //espera dois segundos

       digitalWrite (5,HIGH); //abre bomba 2
       delay(3000); // 3 segundos

      digitalWrite (5,LOW); //fecha bomba 2

      delay(2000); //espera dois segundos

      digitalWrite (6,HIGH); //abre bomba 3
      delay(5000); //5 segundos

     digitalWrite (6,LOW); //fecha bomba 3

     delay(2000); //espera dois segundos
   }
}

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço