Retornar
ao topo
ao topo
Classifique este tópicoPéssimoRuimMedianoBomÓtimo

Autor
Mensagem
Estou com uma situacao onde inicialmente, eh feito um teste, e a partir deste teste inicial, se faz o segundo teste no cabos. Porem neste segundo teste preciso reconfigurar os pinModes, pois alguns irao mudar de output > input ou vice versa. Teste fazer conforme abaixo porem ele so pega e fixa a primeira config do pinmode, alguem tem id[eia de como fazer? Nota-se que para cada case no switch case eh preciso fazer uma config diferente do pinmode: #include <SPI.h> #include <stdint.h> //CONFIGURANDO OS PINOS DE ENTRADA DE CADA FIO int BL = 6; int LA = 7; int BV = 8; int VD = 9; int BA = 10; int AZ = 11; int BM = 12; int MA = 13; char PADCAB; int botao = 5; int botao_estado = 0; //Estado inicial do botao 0 / 0 = desliga - 1 = liga int botao_estado1 = 0; //valor instantaneo int botao_estado2 = 0; //valor guardado void setup() { Serial.begin(9600); pinMode(botao, OUTPUT); } void loop() { //INICIO BOTAO botao_estado1 = digitalRead(botao); // ler o valor enviado pelo botão: "HIGH" ou "LOW" if ((botao_estado1 == HIGH) && (botao_estado2 == LOW)) { botao_estado = 1 - botao_estado; } botao_estado2 = botao_estado1; if (botao_estado == 1) { //LIGADO 1 Serial.println("LIGADO"); } else { //DESLIGADO 0 Serial.println("DESLIGADO"); } //FIM BOTAO pinMode(MA, OUTPUT); pinMode(BM, INPUT_PULLUP); pinMode(LA, INPUT_PULLUP); pinMode(BL, INPUT_PULLUP); pinMode(BA, INPUT_PULLUP); pinMode(VD, INPUT_PULLUP); pinMode(BV, INPUT_PULLUP); int stat_BM = digitalRead(BM); int stat_BL = digitalRead(BL); int stat_BA = digitalRead(BA); int stat_BV = digitalRead(BV); int stat_LA = digitalRead(LA); int stat_VD = digitalRead(VD); Serial.println(botao_estado); if (botao_estado == 1) { if (stat_BM <= 0) { PADCAB = '1'; } else if (stat_BL <= 0) { PADCAB = '2'; } else if (stat_BA <= 0) { PADCAB = '3'; } else if (stat_BV <= 0) { PADCAB = '4'; } else if (stat_LA <= 0) { PADCAB = '5'; } else if (stat_VD <= 0) { PADCAB = '6'; } else { PADCAB = 'X'; Serial.println("ERRO: Cabo nao conectado, verifique!"); } } //PAC+CAB Padrao do cabo A ou B / CAB 1, 2, 3, 4, 5 ou 6 switch (PADCAB) { case '1': Serial.println("Testando Cabo 1"); pinMode(MA, OUTPUT); digitalWrite(MA, LOW); pinMode(BM, INPUT_PULLUP); pinMode(LA, OUTPUT); digitalWrite(LA, LOW); pinMode(BL, INPUT_PULLUP); pinMode(AZ, OUTPUT); digitalWrite(AZ, LOW); pinMode(BA, INPUT_PULLUP); pinMode(VD, OUTPUT); digitalWrite(VD, LOW); pinMode(BV, INPUT_PULLUP); int stat_BM = digitalRead(BM);//0 int stat_BL = digitalRead(BL);//1 int stat_BA = digitalRead(BA);//0 int stat_BV = digitalRead(BV);//1 Serial.println(stat_BM); Serial.println(stat_BL); Serial.println(stat_BA); Serial.println(stat_BV); if (stat_BM == 0 && stat_BL == 0 && stat_BA == 0 && stat_BV == 0) { Serial.println("Cabo 1 - OK!"); } else { Serial.println("Cabo 1 - ERRO!"); } break; case '2': Serial.println("Testando Cabo 2"); pinMode(MA, OUTPUT); digitalWrite(MA, LOW); pinMode(BM, INPUT_PULLUP); pinMode(LA, OUTPUT); digitalWrite(LA, LOW); pinMode(BL, INPUT_PULLUP); pinMode(AZ, OUTPUT); digitalWrite(AZ, LOW); pinMode(BA, INPUT_PULLUP); pinMode(VD, OUTPUT); digitalWrite(VD, LOW); pinMode(BV, INPUT_PULLUP); // // int stat_BM = digitalRead(BM); // int stat_BL = digitalRead(BL); // int stat_BA = digitalRead(BA); // int stat_BV = digitalRead(BV); Serial.println(stat_BM); Serial.println(stat_BL); Serial.println(stat_BA); Serial.println(stat_BV); if (stat_BM == 0 && stat_BL == 0 && stat_BA == 0 && stat_BV == 0) { Serial.println("Cabo 2 - OK!"); } else { Serial.println("Cabo 2 - ERRO!"); } break; case '3': Serial.println("Testando Cabo 3"); break; case '4': Serial.println("Testando Cabo 4"); break; case '5': Serial.println("Testando Cabo 5"); break; case '6': Serial.println("Testando Cabo 6"); break; default: // MOSTRAR MENSAGEM DE ERRO, NENHUM CABO IDENTIFICADO Serial.println("ERRO!"); break; }
|
|
|
Todos os horários são GMT - 3 Horas | Você não tem permissão para escrever novas mensagens v não tem permissão para responder às mensagens Você não tem permissão para editar suas mensagens Você não tem permissão para deletar suas mensagens Você não tem permissão para classificar tópicos Você não tem permissão para classificar mensagens Você não tem permissão para votar em enquetes Anexar downloads : Proibido Fazer Download de Arquivos: Permitido |
Powered by phpBB © 2001 phpBB Group