Ir ao conteúdo

pedronc

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

Reputação

0
  1. @Isadora Ferraz Olá Isadora, obrigado pela resposta. Entretanto não entendi bem o que você quis dizer. O if recebe caracteres, o estagio é apenas um contador para controlar em qual janela estou...
  2. Estou tentando criar um menu de opções através do Switch para acionamento de alguns componentes. Quando vou visualizar no monitor serial ele fica imprimindo em loop infinito o menu do case 0; e caso eu aperte a opção "1" do teclado matricial, ele fica repetindo em loop infinito o menu do case 1 e assim por diante.. O código está incompleto pessoal, nao colei ele todo aqui, mas queria resolver esse loop dentro do Switch logo no começo pois está me incomodando. Gostaria que o menu aparecesse uma vez e aguardasse o botão ser pressionado. obs*: neste código que colei aqui o case 2 está sem o break mas no meu compilador está com ele. #include <Keypad.h> const uint8_t row_size = 4; // Quantidade de linhas. const uint8_t col_size = 4; // Quantidade de colunas. const uint8_t row_pin[row_size] = {24,26,28,30}; // Pinos que estão ligados as linhas. const uint8_t col_pin[col_size] = {44,46,48,50}; // Pinos que estão ligados as colunas. const char keys[row_size][col_size] = { // Mapa de teclas do teclado. { '1', '2', '3', 'A' }, { '4', '5', '6', 'B' }, { '7', '8', '9', 'C' }, { '*', '0', '#', 'D' } }; int RES = 10; int MOT = 9; int VAL = 8; int BOM = 7; int cont=0; int estagio=0; Keypad keypad = Keypad(makeKeymap(keys), row_pin, col_pin, row_size, col_size); void setup() { Serial.begin(9600); pinMode(RES, OUTPUT); pinMode(MOT, OUTPUT); pinMode(VAL, OUTPUT); pinMode(BOM, OUTPUT); } void loop() { char key = keypad.getKey(); // Retorna a última tecla que foi apertada. // if (key != NO_KEY) Serial.println(key); // Imprime tecla na porta serial. switch(estagio){ case 0: Serial.println ("APERTE 1 PARA MENU"); if (key == '1'){ estagio=1;} break; case 1: Serial.println("A = PAST. LTLT"); Serial.println("B = PAST. HTST"); Serial.println("C = FERMENTADOR"); Serial.println("D = DEF. MANUAL"); if (key =='A'){ estagio = 2; cont=1;} else if (key =='B'){ estagio = 2; cont=2;} else if (key =='C'){ estagio = 2; cont=3;} else if (key =='D'){ estagio = 2; cont=4;} break; case 2: if(cont==1){ Serial.println("Botao A selecionado"); Serial.println("PASTEURIZACAO LTLT"); Serial.println("1=INICIAR 2=PARAR"); Serial.println("0 = VOLTAR"); if(key == '1'){digitalWrite(RES, HIGH); digitalWrite(MOT, HIGH); digitalWrite(VAL, HIGH); Serial.println("PROCESSO LTLT:ON");} // INICIA O PROCESSO else if(key == '2'){ digitalWrite(RES, LOW);digitalWrite(MOT, LOW);digitalWrite(VAL, LOW); Serial.println ("PROCESSO LTLT:OFF");} // DESATIVA O PROCESSO else if(key == '0'){estagio --;} } } }

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!