Ir ao conteúdo

Posts recomendados

Postado

NÃO CONSIGO ENCONTRAR O ERRO DO SWITCH: 

 

int BB= 7; // PINO DE LIGA A BOMBA
int V2= 10; // PINO VALVULA 2 
void setup() {
 // CAIXA A (RESERVATORIO INFERIOR)
  Serial.begin(9600);
  pinMode(9, INPUT); // Sensor A1
  pinMode(8, INPUT); // Sensor A0
 
  // CAIXA B (RESERVATORIO SUPERIOR)
  Serial.begin(9600);
  pinMode(4, INPUT); // Sensor B1
  pinMode(3, INPUT); // Sensor B2
  pinMode(2, INPUT); // Sensor B0
// BOMBA E VALVULA
  pinMode (7,OUTPUT); // BOMBA
  pinMode (10, OUTPUT); // VALVULA 2
}

void loop()
{
  int B1 = digitalRead(4);
  int B2 = digitalRead(3);
  int B0 = digitalRead(2);
  int A1 = digitalRead(9);
  int A0 = digitalRead(8);
  //estados da bomba
    int estadoB= (BB,HIGH);
    Serial.print("Estado da bomba : ");
    Serial.println(estadoB);
    int estadoA =(BB,LOW );
    Serial.print("Estado da bomba : ");
    Serial.println(estadoA);

char estado=estadoA;
  char estadoV2;
}

   ************************************************************
   // CONTROLE DA BOMBA
    ************************************************************
 switch (estado)
 {
    case (estadoA): 
     {
     if  (( B2 == LOW && B0== HIGH && A0 == HIGH) ||( B2 == LOW && B0== HIGH && A0 == LOW))
      estado =estadoA ; // bomba continua desligada
     else
     {
      if (( B2 == LOW && B0== LOW && A0 == LOW) ||( B2 == HIGH && B0== LOW && A0 == LOW))
        estado= estadoA; // bomba continua desligada
        else
        {
          if (( B2 == HIGH && B0== LOW && A0 == HIGH) ||( B2 == HIGH && B0== HIGH && A0 == LOW))
           estado = estadoA;// bomba continua desligada
           else
           {
            if (( B2 == HIGH && B0== LOW && A0 == HIGH) ||( B2 == HIGH && B0== HIGH && A0 == LOW)||( B2 == HIGH && B0== HIGH && A0 == HIGH) )
             estado = estadoA;// bomba continua desligada
              else
              {
               if (( B2 == LOW && B0== LOW && A0 == HIGH)||( B2 == LOW && A1== LOW && A0 == HIGH))// ESTADO PROXIMO
               estado = estadoB;
              }
           }  
        }
      }
       break; 
     }
      
   case (estadoB): 
     {
     if (( B2 == LOW && B0== LOW && A0 == HIGH) ||( B2 == LOW && B0== HIGH && A0 == HIGH)) // RESERVATORIO INFERIOR (A) VAZIO
      estado =estadoB; // bomba continua ligada
     else
      {
      if (A0 == LOW || B2==HIGH )// ESTADO PROXIMO
        estado = estadoA; // bomba desligada
      }
      break;
     }   
 }
}
  

Postado
16 horas atrás, Gleimy Brasil disse:

NÃO CONSIGO ENCONTRAR O ERRO DO SWITCH:

Nós não podemos usar variáveis nas etiquetas, apenas constantes e do tipo: Números inteiros.

/* Exemplo de uso Inadequado da Cláusula Switch in C*/
int main (void){
  unsigned char choose;
  unsigned char variavel_no_label_case;
    switch (choose){
            case (variavel_no_label_case):
            /*    ^~~~~~~~~~~~~~~~~~~~~~
             *    Erro: Não é possível reduzir a uma constante
             */
            }
  return 0;}

Ps.: Então isso é uma regra.

 

 

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!