Magos do Arduino

Fotoresistor

Aprenda a utilizar um fotoresistor com o Arduino

Magos do Arduino

O que é o fotoresistor

Um fotoresistor é também conhecido como resistor dependente de luz, LDR ou célula fotocondutora.

Ele é um componente passivo que diminui a resistência como resultado do aumento da luminosidade (luz) em sua superfície sensível.

Um fotoresistor pode ser usado em circuitos detectores sensíveis à luz e circuitos de comutação ativados pela luz e pelo escuro, atuando como uma resistência semicondutora.

No escuro, um fotoresistor pode ter uma resistência tão alta quanto vários megaohms (MΩ).

Na luz, ele pode ter uma resistência tão baixa quanto algumas centenas de ohms.

O fotoresistor não é polarizado, ou seja, ele não possui negativo e positivo.

Conectando um fotoresistor no Arduino

Neste projeto você criará um circuito que faz o uso um fotoresistor com o Arduino.

A leitura dos dados do fotoresistor será impressa no monitor serial.

Para a criação deste circuito serão necessários os seguintes componentes:

  • 1x breadboard
  • 1x Arduino UNO
  • 1x Fotoresistor
  • 1x Resistor de 10k
  • Jumpers

Circuito do fotoresistor

Para montar o circuito, visualize na imagem a seguir como conectar os componentes entre a placa Arduino e a breadboard.

Circuito fotoresistor

Schematics do fotoresistor

A seguir temos o schematics do circuito, que detalha suas conexões e fornece detalhes mais específicos do que o circuito da imagem anterior.

Schematics fotoresistor

Código fonte para o circuito do fotoresistor

Uma vez criado o circuito, use o código fonte a seguir no Arduino IDE para fazer o upload dele na placa Arduino e assim ver o resultado do circuito em funcionamento.

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

void loop() {
    int valor = analogRead(A0);

    Serial.println("Valor do fotoresistor: ");
    Serial.println(valor);
    
    if (valor > 650) {
        Serial.println("Apagar LED...");
    } else {
        Serial.println("Acender LED...");
    }

    delay(250);
}

Como acender/apagar um LED RGB utilizando o fotoresistor com o Arduino

Neste projeto você criará um circuito que faz o uso um fotoresistor com o Arduino para acender/apagar um LED RGB.

Para a criação deste circuito serão necessários os seguintes componentes:

  • 1x breadboard
  • 1x Arduino UNO
  • 1x Fotoresistor
  • 1x LED RGB
  • 3x Resistores de 220-330 Ohms
  • 1x Resistor de 10k
  • Jumpers

Circuito do fotoresistor

Para montar o circuito, visualize na imagem a seguir como conectar os componentes entre a placa Arduino e a breadboard.

Circuito fotoresistor

Schematics do fotoresistor

A seguir temos o schematics do circuito, que detalha suas conexões e fornece detalhes mais específicos do que o circuito da imagem anterior.

Schematics fotoresistor

Código fonte para o circuito do fotoresistor

Uma vez criado o circuito, use o código fonte a seguir no Arduino IDE para fazer o upload dele na placa Arduino e assim ver o resultado do circuito em funcionamento.

#define PINO_VERMELHO 3
#define PINO_VERDE 5
#define PINO_AZUL 6

void setup() {
    pinMode(PINO_VERMELHO, OUTPUT);
    pinMode(PINO_VERDE, OUTPUT);
    pinMode(PINO_AZUL, OUTPUT);

    digitalWrite(PINO_VERMELHO, LOW);
    digitalWrite(PINO_VERDE, LOW);
    digitalWrite(PINO_AZUL, LOW);
}

void loop() {
    int valor = analogRead(A0);
    
    if (valor > 650) {
        analogWrite(PINO_VERMELHO, 0);
        analogWrite(PINO_VERDE, 0);
        analogWrite(PINO_AZUL, 0);
    } else {
        mudarCor(PINO_VERMELHO, PINO_VERDE);
        mudarCor(PINO_VERDE, PINO_AZUL);
        mudarCor(PINO_AZUL, PINO_VERMELHO);
    }

    delay(250);
}

void mudarCor(int cor1, int cor2) {
    for (int i=0; i<255; i++) {
        analogWrite(cor1, i);
        analogWrite(cor2, 255 - i);
        delay(5);
    }
}