Notice: WP_Block_Type_Registry::register foi chamada incorretamente. Tipo de bloco "syntaxhighlighter/code" já está registrado. Leia como Depurar o WordPress para mais informações. (Esta mensagem foi adicionada na versão 5.0.0.) in /home/filipeflop/homolog2302.filipeflop.com/wp-includes/functions.php on line 5313
Detector de proximidade com sensor infravermelho - FilipeFlop

Detector de proximidade com sensor infravermelho Deixe um comentário

Este Sensor Infravermelho é uma ótima opção para projetos que envolvam sistemas de segurança, medição de distâncias e monitoramento de entrada/saída de ambientes. Neste tutorial vamos mostrar como é fácil usá-lo como um detector de presença.

Sensor Infravermelho

O sensor infravermelho (IR) possui um circuito transmissor e um receptor, posicionados um ao lado do outro. Quanto um objeto ou pessoa passa em frente ao sensor, o sinal IR é refletido e detectado pelo receptor, que coloca o pino de saída em nível baixo (LOW), e aciona um led localizado na parte traseira do sensor.

Sensor Infravermelho - Ajuste distância

Você pode alterar a distância de detecção do sensor girando o parafuso também localizado na parte traseira. O ajuste fica entre 3 e 80cm. Com relação à alimentação, este sensor trabalha com tensão de 5V, podendo ser facilmente utilizado não só com o Arduino como também com outros microcontroladores.

Conexão do sensor infravermelho ao Arduino

A conexão do sensor infravermelho é bem simples, já que o sensor tem apenas 3 fios: Vermelho (Vcc), Preto (GND) e Amarelo (sinal). O pino de sinal será ligado à uma das portas digitais do Arduino, gerando um valor 0 (LOW) quando um objeto for detectado.

Para testes, vamos usar esse sensor como um detector de presença, acendendo e apagando um led quando for detectado movimento em frente ao sensor. Também vamos acionar um buzzer por um curto espaço de tempo. Siga o esquema de ligação abaixo:

Circuito Arduino e Sensor infravermelho

Programa detector de presença com sensor infravermelho

Como estamos trabalhando apenas com portas digitais, não vamos utilizar nenhuma biblioteca no programa. Vamos apenas checar se o estado da porta foi alterado (variável estado_sensor). Neste caso, a luz vermelha irá acender e o buzzer emitirá 3 bips. Em estado de “espera” (sem movimentação), apenas o led verde permanece aceso.

// Programa: Sensor infravermelho Arduino
// Autor: FILIPEFLOP

int pino_led_verde = 3;
int pino_led_vermelho = 5;
int pino_buzzer = 7;
int pino_sensor = 9;

int estado_sensor = 0;

void setup()
{
  Serial.begin(9600);
  // Define o pino do sensor como entrada
  pinMode(pino_sensor, INPUT);
  // Define os pinos dos leds e buzzer como saida
  pinMode(pino_led_verde, OUTPUT);
  pinMode(pino_led_vermelho, OUTPUT);
  pinMode(pino_buzzer, OUTPUT);
  Serial.println("Teste sensor infravermelho Arduino");
}

void loop()
{
  estado_sensor = digitalRead(pino_sensor);
  if (estado_sensor == 0)
  {
    // Desliga o led verde e acende o vermelho
    digitalWrite(pino_led_verde, LOW);
    digitalWrite(pino_led_vermelho, HIGH);
    // Aciona o buzzer 3 vezes
    for (int i = 1; i <= 3; i++)
    {
      digitalWrite(pino_buzzer, HIGH);
      delay(100);
      digitalWrite(pino_buzzer, LOW);
      delay(100);
    }
    // Envia mensagem para o Serial Monitor
    Serial.println("Movimento detectado!");
    delay(100);
  }
  else
  {
    // Sem movimento, mantem led verde ligado
    digitalWrite(pino_led_verde, HIGH);
    digitalWrite(pino_led_vermelho, LOW);
    digitalWrite(pino_buzzer, LOW);
  }
}

Abaixo, temos a montagem do circuito utilizado neste post:

Montagem Sensor de proximidade

 Gostou? Deixe seu comentário logo abaixo. Em caso de dúvidas, caso queira trocar uma ideia, ou até mesmo dividir seu projeto, acesse nosso Fórum!

Faça seu comentário

Acesse sua conta e participe