Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
Os photodetectors são dispositivos que convertem luz em sinais elétricos, sendo amplamente utilizados em diversas aplicações, como sensores de presença, medidores de intensidade luminosa, e sistemas de comunicação óptica. No ambiente Arduino, é possível integrar photodetectors para criar projetos que respondam a variações de luz de maneira eficiente.
Neste exemplo, utilizaremos um photodetector simples, como um fotodiodo, para medir a intensidade de luz ambiente e exibir os valores no monitor serial do Arduino.
Componentes Necessários:
Circuito:
1. Conecte o fotodiodo em série com o resistor de 10k ohms.
2. Conecte o ânodo do fotodiodo ao pino analógico A0 do Arduino.
3. Conecte o cátodo do fotodiodo ao GND do Arduino.
4. Conecte o outro terminal do resistor ao 5V do Arduino.
Código Arduino:
void setup() {
Serial.begin(9600); // Inicializa a comunicação serial
}
void loop() {
int sensorValue = analogRead(A0); // Lê o valor do fotodiodo
Serial.println(sensorValue); // Exibe o valor no monitor serial
delay(1000); // Atraso de 1 segundo
}
Este código lê o valor analógico do fotodiodo e imprime no monitor serial. O valor lido representa a intensidade da luz, onde valores mais altos indicam maior luminosidade.
Neste exemplo, vamos acionar um LED quando a intensidade da luz captada pelo photodetector cair abaixo de um determinado nível.
Componentes Adicionais:
Circuito Adicional:
1. Conecte o LED em série com o resistor de 220 ohms.
2. Conecte o ânodo do LED ao pino digital 13 do Arduino.
3. Conecte o cátodo do LED ao GND do Arduino.
Código Arduino:
#define LED_PIN 13
#define LIGHT_THRESHOLD 500
void setup() {
pinMode(LED_PIN, OUTPUT); // Define o pino do LED como saída
Serial.begin(9600); // Inicializa a comunicação serial
}
void loop() {
int sensorValue = analogRead(A0); // Lê o valor do fotodiodo
Serial.println(sensorValue); // Exibe o valor no monitor serial
if (sensorValue < LIGHT_THRESHOLD) {
digitalWrite(LED_PIN, HIGH); // Acende o LED
} else {
digitalWrite(LED_PIN, LOW); // Apaga o LED
}
delay(1000); // Atraso de 1 segundo
}
Neste exemplo, o LED acenderá quando a intensidade da luz for menor que o valor definido em LIGHT_THRESHOLD
.