Ola Ricardo.
Eu achei onde esta o erro mas nao sei como resolver
O problema continua o mesmo, so funciona a primeira linha do loop
#define Sai OUTPUT
#define Entra INPUT
#define Aceso HIGH
#define Apagado LOW
#define SaoPaulo 2
#define RioDeJaneiro 3
#define MinasGerais 4
#define EspiritoSanto 5
#define UmSegundo 1000
#define MeioSegundo 500
char SPaulo = 'S';
char RJaneiro = 'R';
char MGerais = 'M';
char ESanto = 'E';
void setup() {
Serial.begin(9600);
pinMode(SaoPaulo, Sai);
pinMode(RioDeJaneiro, Sai);
pinMode(MinasGerais, Sai);
pinMode(EspiritoSanto, Sai);
}
void LigaMonumentos(int estado, int tempo,char Condicao){
if(Serial.read() == Condicao){
digitalWrite(estado, Aceso);
delay(tempo);
digitalWrite(estado, Apagado);
}
}
void loop() {
if(Serial.available() > 0){
LigaMonumentos(EspiritoSanto, UmSegundo, ESanto);
LigaMonumentos(MinasGerais, UmSegundo, MGerais);
LigaMonumentos(RioDeJaneiro, UmSegundo, RJaneiro);
LigaMonumentos(SaoPaulo, UmSegundo, SPaulo);
}
}
Eu desenvolvi um programa que envia uma informação via serial, esse programa tem os botoes que ativa cada um dos "LigaMonumento", eu encontrei o erro clicando todos os botoes, e so funciona quando eu clico no botao que ativa o primeiro "LigaMonumento"