1
resposta

Variável "portaLed" não faz o menor sentido!

Por todo o código consegui entender sem problemas cada utilização e o motivo das funções, até que...

//int ledVermelho = 2;
//declarando a constante


#define LED_VERMELHO 2
#define UM_SEGUNDO 1000
#define MEIO_SEGUNDO 500




void setup(){
    Serial.begin(9600);
    pinMode(LED_VERMELHO, OUTPUT);
}


void loop(){
    Serial.println(LED_VERMELHO);
    piscaLed(LED_VERMELHO); //estamos chamando a função
}


void piscaLed(int portaLed){
    digitalWrite(portaLed, HIGH);
    delay(UM_SEGUNDO);
    digitalWrite(portaLed, LOW);
    delay(MEIO_SEGUNDO);    
}

chegou nessa ultima parte:

void piscaLed(int portaLed){
    digitalWrite(portaLed, HIGH);
    delay(UM_SEGUNDO);
    digitalWrite(portaLed, LOW);
    delay(MEIO_SEGUNDO);    
}

essa variável portaLed tem qual função e o valor que ela carrega é referente a que exatamente?

1 resposta

Oiii Felipe, tudo bem?

A variável portaLed é para definir em qual pino do arduino o led está conectado. Observe que essa variável é um parâmetro da função: piscaLed e essa função piscaLed é chamada dentro do loop com a seguinte sintaxe:

 piscaLed(LED_VERMELHO);

Observe que passamos como parâmetro para a chamada da função o LED_VERMELHO. Sendo assim, o valor da variável piscaLed será o valor do LED_VERMELHO, ou seja 2.

E quando fazemos:

digitalWrite(portaLed, HIGH);

Estamos dizendo: na porta 2 do arduino, coloque a saída para alto.

Qualquer dúvida é só falar. Estou a disposição. Abraços e bons estudos!