2
respostas

Não sei o porque está dando esse erro (expected identifier before numeric constant)

Não sei o porque está dando esse erro na linha: #define ledverde 2. No meu ponto de vista está tudo certo.

2 respostas

Oi João, cola o código aqui pra gente dá uma olhada no que pode ser?

Claro;
#define ledverde 2
#define botaoverde 6
#define ledvermelho 3
#define botaovermelho 8
#define ledamarelo 4
#define botaoamarelo 10 
#define um_segundo 1000
#define meio_segundo 500
int piscaled[]=[ledverde, ledvermelho, ledamarelo]; 

void setup(){
// put your setup code here, to run once:
 iniciarportas();
 serial();
}

void iniciarportas(){
      pinMode(ledverde,OUTPUT);
      pinMode(ledamarelo,OUTPUT);
    pinMode(ledvermelho,OUTPUT);
      pinMode(botaoverde,INPUT_PULLUP);
      pinMode(botaovermelho,INPUT_PULLUP);
    pinMode(botaoamarelo,INPUT_PULLUP); 
}

void iniciarjogo(){
    for (int i = 0; i < 3; i++){
         pisca_led(piscaled[i]) = sorteiacor();}
}

void serial(){
  Serial.begin(9600);//para que comece a funcioar o monitor serial
  Serial.println(ledverde); //para escrever o que acontece no ledverde
  Serial.println(ledvermelho);
  Serial.println(ledamarelo);
}

int sorteiacor(){
  return random(2 - 5);
}

void loop(){
// put your main code here, to run repeatedly:
  iniciarjogo();
  //checarrespostadojogador();
  //piscasequencia2();
}

int checarrespostadojogador(){
  if (digitalRead(botaoverde) == LOW){
  return pisca_led(ledverde);}
  if (digitalRead(botaovermelho) == LOW){
   return pisca_led(ledvermelho);}
  if (digitalRead(botaoamarelo) == LOW){
    return pisca_led(ledamarelo);}
   return piscasequencia2();
}

int piscasequencia2(){
  digitalWrite(ledamarelo,HIGH);
  digitalWrite(ledverde,HIGH);
  digitalWrite(ledvermelho,HIGH);
  delay(um_segundo);
  digitalWrite(ledamarelo,LOW);
  digitalWrite(ledverde,LOW);
  digitalWrite(ledvermelho,LOW);
  delay(meio_segundo);
  return piscaled;
}

int pisca_led(int portaled){
  digitalWrite(portaled,1);
  delay(um_segundo);
  digitalWrite(portaled,0);
  delay(meio_segundo);
  return portaled;
}