Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Problemas com PinMode

Bom Dia pessoal.

Configurei 7 linhas de pinMode, mas só funciona a primeira linha

#define SaoPaulo 2
 #define EspiritoSanto 3
 #define RioDeJaneiro 4
 #define MinasGerais 5
 #define MonumentosFamosos 6

 #define Aceso HIGH
 #define Apagado LOW

 #define Entra INPUT
 #define Sai OUTPUT

void setup() {
  Serial.begin(9600);

  pinMode(EspiritoSanto, Sai);  //Unica linha de pinMode que funciona
  pinMode(SaoPaulo, Sai);
  pinMode(RioDeJaneiro, Sai);
  pinMode(MinasGerais, Sai);
  pinMode(MonumentosFamosos, Sai);
}

Agradeço desde já pela ajuda

3 respostas

Oi Felipe, tudo bom?

Tem algum erro no console? Como você sabe que só o primeiro funciona?

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"

solução!

Felipe, qual modelo de Arduino você está utilizando? Pelo as portas que você definiu para o seu projeto são portas seriais?

Pelo que eu vi algumas somente algumas portas do arduino são suportam comunicação serial. https://www.arduino.cc/reference/en/language/functions/communication/serial/

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software