Boa tarde, Eu estou tendo um problema, não estou conseguindo ver pelo Serial o valor do potenciometro pela fução (inicaJogo), só aparece se eu colocar o Serial na função loop. Tentei baixar o código pronto da aula pra testar, mas esta dando o mesmo erro. Meu código está assim:
#define LED_VERDE 2
#define LED_AMARELO 3
#define LED_VERMELHO 4
#define LED_AZUL 5
#define BOTAO_VERDE 8
#define BOTAO_AMARELO 9
#define BOTAO_VERMELHO 10
#define BOTAO_AZUL 11
#define UM_SEGUNDO 1000
#define TAMANHO_SEQUENCIA 4
#define INDEFINIDO -1
int sequenciaLuzes[TAMANHO_SEQUENCIA];
void setup() {
Serial.begin(9600);
iniciaPortas();
iniciaJogo();
}
void iniciaJogo(){
int potenciometro = analogRead(0);
Serial.println(potenciometro);
for(int i =0; i < TAMANHO_SEQUENCIA; i++){
sequenciaLuzes[i] = sorteiCor();
}
}
int sorteiCor(){
return random (LED_VERDE, LED_AZUL+1);
}
void iniciaPortas(){
pinMode(LED_VERMELHO,OUTPUT);
pinMode(LED_VERDE,OUTPUT);
pinMode(LED_AMARELO,OUTPUT);
pinMode(LED_AZUL,OUTPUT);
pinMode(BOTAO_VERDE,INPUT_PULLUP);
pinMode(BOTAO_AMARELO,INPUT_PULLUP);
pinMode(BOTAO_VERMELHO,INPUT_PULLUP);
pinMode(BOTAO_AZUL,INPUT_PULLUP);
}
void loop() {
for(int indice = 0; indice < TAMANHO_SEQUENCIA; indice++){
piscaLed(sequenciaLuzes[indice]);
}
// Serial.println(checaRespostaJogador());
}
int checaRespostaJogador(){
if(digitalRead(BOTAO_VERDE) == LOW)
return piscaLed(LED_VERDE);
if(digitalRead(BOTAO_AMARELO) == LOW)
return piscaLed(LED_AMARELO);
if(digitalRead(BOTAO_VERMELHO) == LOW)
return piscaLed(LED_VERMELHO);
if(digitalRead(BOTAO_AZUL) == LOW)
return piscaLed(LED_AZUL);
return INDEFINIDO;
}
int piscaLed(int portaLed){
digitalWrite(portaLed,HIGH);
delay(UM_SEGUNDO);
digitalWrite(portaLed,LOW);
delay(UM_SEGUNDO/2);
return portaLed;
}