Olá pessoal !!
Desde já muito obg pelo interesse e tempo de quem puder ajudar, desejo um excelente ano a todos…
Vamos lá… tenho trabalhado em um exercício que venho modificado a caráter de estudo e aprendizado, até o momento havia conseguido realizar e ter sucesso em todos os experimentos, até que desta vez travei…
1º Trata-se de um CKT que aciona saída por meio da leitura de teclas pressionadas, são três teclas e três saídas;
2º Mantem a saída acionada enquanto o pushbotton referente estiver pressionado, ao soltar esse botão a saída deve ser desligada.
Obs.: até o passo dois tudo certo, a questão é que não consigo transformar o pensamento abaixo em forma de linhas de código.
1º Se eu pressionar a tecla “Botao1Relay_A” o arduino deve acionar a saída “OUT1Relay_A” mantendo-a acionada enquanto o botão estiver pressionado e impedir que as outras duas teclas ( Botao2Relay_A, Botao3Relay_A ) acionem suas saídas.
2º Resumindo de uma forma simples, o primeiro botão a ser pressionado tem preferencia sobre os outros dois.
Uma grande dificuldade é poder me fazer claro, mais uma vez agradeço a oportunidade de um canal como esse em facilitar o aprendizado através da aproximação de pessoas, quem puder clarear minha mente nessa situação já deixo meu muito obg…
Imagem da montagem…
Sket…
// Configurando Pinos Controle_1 / Controle_2 / Controle_3
int Botao1Relay_A = A0;
int Botao2Relay_A = A1;
int Botao3Relay_A = A2;
int OUT1Relay_A = 22;
int OUT2Relay_A = 23;
int OUT3Relay_A = 24;
// Variavel leitura do status Push button
int estadoBotao1Relay_A;
int estadoBotao2Relay_A;
int estadoBotao3Relay_A;
void setup()
{
pinMode(Botao1Relay_A, INPUT);
pinMode(Botao2Relay_A, INPUT);
pinMode(Botao3Relay_A, INPUT);
pinMode(OUT1Relay_A, OUTPUT);
pinMode(OUT2Relay_A, OUTPUT);
pinMode(OUT3Relay_A, OUTPUT);
}
void loop()
{
// --------------------- Botão1_A
estadoBotao1Relay_A = digitalRead(Botao1Relay_A); // Lê o estado do botão e guarda o valor na Variável
if (estadoBotao1Relay_A == LOW && estadoBotao2Relay_A && estadoBotao3Relay_A )
{
digitalWrite(OUT1Relay_A, HIGH);
}
else
{
digitalWrite(OUT1Relay_A, LOW);
}
// --------------------- Botão2_A
estadoBotao2Relay_A = digitalRead(Botao2Relay_A); // Lê o estado do botão e guarda o valor na Variável
if (estadoBotao2Relay_A == LOW && estadoBotao1Relay_A && estadoBotao3Relay_A)
{
digitalWrite(OUT2Relay_A, HIGH);
}
else
{
digitalWrite(OUT2Relay_A, LOW);
}
// --------------------- Botão3_A
estadoBotao3Relay_A = digitalRead(Botao3Relay_A); // Lê o estado do botão e guarda o valor na Variável
if (estadoBotao3Relay_A == LOW && estadoBotao1Relay_A && estadoBotao2Relay_A)
{
digitalWrite(OUT3Relay_A, HIGH);
}
else
{
digitalWrite(OUT3Relay_A, LOW);
}
}