Neste exercício, vamos explorar como o Sensor de Obstáculos Reflexivo Infravermelho funciona e como ele pode ser integrado com microcontroladores como o Arduino para detectar objetos e acionar LEDs indicadores. O objetivo é utilizar o sensor para identificar a presença de um obstáculo e, com isso, ativar um LED verde ou vermelho, criando uma interação visual entre o sistema e o usuário.
O que é a Luz Infravermelha?
Os sensores operam com o princípio da reflexão da luz infravermelha (invisível ao olho humano). Eles possuem um emissor (LED IR) e um receptor (fototransistor). Quando um objeto reflete a luz emitida, o receptor capta o sinal e altera o estado da saída digital.
Funcionamento do Sistema
- Emissão e Recepção: O LED IR emite luz constantemente. Se houver reflexão, o receptor detecta e o sensor retorna o nível lógico LOW (0).
- Área Livre: Sem reflexão, o sensor mantém a saída em nível lógico HIGH (1).
- Feedback Visual: O Arduino interpreta esses sinais para alternar entre o LED Verde (Obstáculo) e o LED Vermelho (Livre).
Materiais
- Arduino UNO
- Protoboard & Jumpers
- Sensor de Obstáculos Reflexivo IR
- LED Verde e LED Vermelho
- 2x Resistores de 220 Ω
Conexões Chave
- Sensor OUT: Pino Digital 2
- Sensor VCC/GND: 5V e GND do Arduino
- LED Verde (Ânodo): Pino Digital 8
- LED Vermelho (Ânodo): Pino Digital 9
- Cátodos: GND (via resistores 220Ω)
Protótipo em Operação
Programa (Lógica Arduino)
Baixar Código (.INO)
#define SENSOR 2 // Pino de saída do sensor
#define LED_VD 8 // LED verde (indica passagem livre)
#define LED_VM 9 // LED vermelho (indica obstáculo)
void setup() {
pinMode(SENSOR, INPUT); // Define o sensor como entrada
pinMode(LED_VD, OUTPUT); // Define o LED verde como saída
pinMode(LED_VM, OUTPUT); // Define o LED vermelho como saída
Serial.begin(9600); // Inicializa a comunicação serial
}
void loop() {
int estado = digitalRead(SENSOR); // Lê o estado do sensor
if (estado == LOW) { // Se detectar um obstáculo (retorna LOW)
digitalWrite(LED_VD, HIGH); // Acende o LED verde (presença)
digitalWrite(LED_VM, LOW); // Apaga o LED vermelho
Serial.println("🔴 Obstáculo detectado!");
} else {
digitalWrite(LED_VD, LOW); // Apaga o LED verde
digitalWrite(LED_VM, HIGH); // Acende o LED vermelho (livre)
Serial.println("🟢 Sem obstáculo.");
}
delay(100); // Pequeno atraso para estabilizar a leitura
}
Considerações sobre a Montagem
A maioria dos módulos de sensor IR possui um pequeno potenciômetro (trimmer) azul. Ele serve para ajustar a sensibilidade ou o alcance da detecção. Se o seu sensor estiver sempre detectando "obstáculo", tente girar o potenciômetro para calibrar a distância de acordo com a luz ambiente do laboratório.