Boa noite e obrigado pela dica.

Desenvolvi um projeto no qual seis sensores piezos acionam um rele. Porem somente o 1º canal aciona o rele e o restante apenas indica o funcionamento do sensor com os leds dedicados.

O código é o seguinte:

int led1 = 2;
int led2 = 3;
int led3 = 4;
int led4 = 11;
int led5 = 9;
int led6 = 10;
int rele = 5;
int link = 12;

int analogpin[6]={A0,A1,A2,A3,A4,A5};
int THRESHOLD = 20;

void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(link, OUTPUT);
pinMode(rele, OUTPUT);
}

void loop() {
if(analogRead(analogpin[0])>THRESHOLD){
digitalWrite(led4, LOW);
digitalWrite(rele, LOW);
}
else{
digitalWrite(led4, HIGH);
digitalWrite(rele, HIGH);
}
if(analogRead(analogpin[1])>THRESHOLD){
digitalWrite(led5, LOW);
digitalWrite(rele, LOW);
}
else{
digitalWrite(led5, HIGH);
digitalWrite(rele, HIGH);
}
if(analogRead(analogpin[2])>THRESHOLD){
digitalWrite(led6, LOW);
digitalWrite(rele, LOW);
}
else{
digitalWrite(led6, HIGH);
digitalWrite(rele, HIGH);
}
if(analogRead(analogpin[3])>THRESHOLD){
digitalWrite(led3, LOW);
digitalWrite(rele, LOW);
}
else{
digitalWrite(led3, HIGH);
digitalWrite(rele, HIGH);
}
if(analogRead(analogpin[4])>THRESHOLD){
digitalWrite(led2, LOW);
digitalWrite(rele, LOW);
}
else{
digitalWrite(led2, HIGH);
digitalWrite(rele, HIGH);
}
if(analogRead(analogpin[5])>THRESHOLD){
digitalWrite(led1, LOW);
digitalWrite(rele, LOW);
}
else{
digitalWrite(led1, HIGH);
digitalWrite(rele, HIGH);
}

delay(100);
}

Exibições: 580

Responder esta

Respostas a este tópico

Exatamente, o tempo criado pelo Delay que possibilita a mudança.

Acho que se determinar que o estado do rele fique alto na origem, no restante da estrutura só condicionaríamos um estado único que seria LOW. E de  quebra bem mais simples. Foi postar quando terminar os testes...

Quase isso. O Delay do meu código tem poder de fazer isso dentro loop principal, mas não dentro do laço FOR que varre o array.
Se vc enfiar um Delay dentro do FOR, vai também implicar o tempo entre as leituras de cada sensor num mesmo ciclo.
A resposta pra isso está no meu post anterior... mas prefiro que vc faça os testes e descubra a solução.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço