Acendendo LED sem acender o LED

Mas hein? Que título é esse?

O título é meio louco, mas a ideia é interagir com o arduino sem qualquer conectividade física entre o Arduino e o interruptor que irá ativar o LED. Bora ver como faz?

Usando sensor de luz

O sensor de luz é bacana: quando tem muita luz a energia passa na boa, mas quando tem pouca luz a energia tem dificuldades de passar. Um sensor de luz é um resistor sensível a luz, só isso, e vai me ajudar a bolar um circuito pra acender o tal LED usando qualquer coisa que emita luz: a tela do celular, a lâmpada da oficina, o abajur da bancada, enfim.


E, pensando mais pro lado troll da coisa, até pregar umas peças no futuro...

O conceito e o circuito

Vou usar uma das portas analógicas pra ler a tensão do circuito e, se o valor lido for maior ou igual a um determinado valor, o LED acende; do contrário, apaga. Para o sensor, vou usar um resistor de 10K para limitar a tensão a valores bem baixos. Para o LED, um de 300 ohms resolve.

O código é o seguinte:

int pin = A0; //Pino analógico que vou usar
int refresh = 250; //Taxa de atualização
int led = 8; //Pino do LED que vou comandar

void ledOnOff(int val) { //Acende ou apaga o LED
  if(val >= 400) { //Se a luz for maior ou igual a 400...
    digitalWrite(led, HIGH); //Acende o LED
  } else { //Caso contrário
    digitalWrite(led, LOW); //Apaga o LED
  }
}

void setup() {
  Serial.begin(9600);
  pinMode(13, OUTPUT); //Esse LED vive aceso :-/
  digitalWrite(13, LOW);
  pinMode(led, OUTPUT);
}

void loop() {
  int value = analogRead(pin); //Lê o valor do sensor
  //Serial.println(value); //Escreve no serial monitor
  ledOnOff(value); //Toma providência quanto a ação
  delay(refresh); //Espera um tempo
}


Note que eu comentei a linha que envia o valor para o serial monitor porque só precisei disso uma vez: identificado o valor da luminosidade da minha bancada (por volta de 400), não vou precisar mais disso.

Veja o vídeo:

Comentários

Postagens mais visitadas deste blog

Tá na hora de piscar LEDs de maneira melhorada

LEDs on/off com PHP, Python e RPi

PagSeguro e PHP - Usando a tela do PagSeguro (checkout redirect)