Como detectar o movimento com o Arduino

Um sensor infravermelho passivo (PIR) é um sensor comum em algumas casas e a maioria dos edifícios comerciais e permite detectar o movimento com o Arduino. Você pode ter visto este sensor no canto de uma sala, piscando em vermelho, de vez em quando. Ele registra calor emitido por pessoas, animais ou outras fontes de calor como a radiação infravermelha.

A radiação infravermelha é invisível ao olho humano, mas é fácil para o sensor de distinguir. O próprio sensor é semelhante ao sensor encontrado em uma câmara digital, mas sem as lentes complexos para capturar uma imagem detalhada.

Mais comumente, este tipo de sensor é usado para a detecção de movimento em alarmes anti-roubo. Em vez de detectar movimento, ele realmente detecta mudanças na temperatura.

Você tem duas maneiras de obter um sensor PIR. O primeiro é o de desmontar um alarme PIR, o que é provável pré-embalados com uma lente e um sensor. O segundo método é para comprar um especificamente destinados a projetos de microcontroladores. Isso na maioria das vezes vem com uma lente básica, ping-pong-denominada bola e uma placa de circuito nua por baixo. O último é mais fácil de trabalhar com todos os detalhes, porque são conhecidos.

Considere o seguinte durante o planejamento:

  • Complexidade: Pode ser complicado para cortar um sensor PIR existentes efectuada para um sistema específico. Uma vez que necessita de comunicar com o sistema, no entanto, o sensor tem geralmente claramente marcado conexões na parte traseira.

    Um dos benefícios da utilização de um sensor existente é que é pré-embalados, o que reduz a quantidade de tempo que você tem que gastar componentes colocando juntos. sistemas pré-embalados são projetados para ser fácil de instalar, então você também pode ser capaz de usar a calibração manual.

    Se você estiver usando um sensor PIR que não é pré-embalados, deve ser muito mais simples do lado do hardware e software, mas requer uma cuidadosa reflexão relativa à habitação. Alguns sensores PIR têm sua própria lógica on-board e operar como um interruptor, vai ALTO quando o movimento ocorre ao longo do limite. Este tipo de sensor necessita de calibração para identificar mudança da norma.

  • Custo: Um agregado familiar custos sensor PIR entre $ 15 e $ 45 (# 163-10 e # 163-30). A despesa principal é a habitação, normalmente concebido para ser discreto ou olhar adequadamente high-tech. sensores PIR nuas custar uma fração do preço em cerca de US $ 10 (# 163-6,50), mas precisa de um alojamento adequado para ser de alguma utilidade real.

  • Onde: Muitas caixas permitem que você se encaixam perfeitamente o sensor contra uma parede, ou você pode considerar o uso de mini tripés para a direção. Algumas das montagens tripé também vêm com a-ventosa, que é perfeito para a fixação de seu sensor para superfícies brilhantes tais como vidro.

A maioria dos sensores PIR vêm prontos para a ação, precisando apenas de poder. Eles calibrar-se com base no que eles podem ver e, em seguida, enviar um ALTO ou BAIXO valor quando detectam a mudança. Isso os torna extremamente fácil de programar, porque você está lidando com os mesmos sinais como com um botão de pressão.

Neste exemplo, você aprenderá a usar o SE-10, um sensor PIR disponível a partir de todos os principais varejistas do Arduino. Este sensor PIR particular tem três fios: vermelho, marrom e preto. O fio vermelho é a fonte de energia e deve ser ligado a 5V. Estranhamente, o fio preto é o fio de sinal e não no chão. Brown deve ser ligado à terra e preto ao pino 2.

image0.jpg

O pino de sinal é conhecido como um coletor aberto e tem de ser puxado ALTO começar com. Para fazer isso, você usar um resistor 10k para conectá-lo a 5V também. O pino, portanto, lê ALTO quando ocorre nenhum movimento e é puxado para BAIXO quando há movimento.

Você precisa:

  • Um Arduino Uno

  • A placa de ensaio

  • A SE-10 PIR Motion Sensor

  • A 10k ohm

  • fios de salto

Coloque para fora o circuito como nos diagramas de layout e de circuito.

image1.jpg

Completar o circuito e escolha Arquivo-Exemplos-01.Basics-DigitalReadSerial a partir do menu Arduino para carregar o esboço.

image2.jpg

Este esboço é destinado a um botão, mas segue os mesmos princípios. Se você quiser fazer o esboço mais específico, você pode salvá-lo com um nome mais apropriado e nomes de variáveis.

/ * DigitalReadSerialReads uma entrada digital no pino 2, imprime o resultado para o código MonitorThis exemplo de série está no domínio público. * /// Pino digital 2 tem um botão ligado a ele. Dê-lhe um nome:int botão de pressão = 2 - // a instalação é executado de rotina quando você pressiona Reset: void setup () {// inicializa comunicação serial a 9600 bits por segundo: Serial.begin (9600) - // fazer o pino do botão de uma entrada:pinMode(botão de apertar, ENTRADA) -} // A rotina de loop é executado uma e outra vez para sempre: void loop () {// leia o pino de entrada:int buttonState = digitalRead(Botão de pressão) - // imprimir o estado do botão:Serial.println(ButtonState) -demora(1) - // atraso entre as leituras para a estabilidade}

Pressione o botão Compilar para verificar o seu código. Se o fizer, destaca quaisquer erros gramaticais e transforma-los vermelho quando eles são descobertos. Se o esboço compila corretamente, clique em Upload para enviar o desenho para sua placa. Quando é feito o upload, apor o sensor PIR para uma superfície que é livre de movimento e abrir o monitor serial.

Abrindo o monitor serial redefine o esboço eo sensor calibra-se nos primeiros 1 a 2 segundos. Quando o movimento é detectado, você deve ver o buttonState altere o valor de 1 (nenhum movimento) para 0 (movimento).

Se nada acontecer, verifique sua fiação:

  • Certifique-se de que você está usando o número PIN correcto.

  • Verifique as conexões na placa de ensaio. Se os fios de salto ou componentes não são conectados usando as linhas corretas na placa de ensaio, eles não irão funcionar.

  • Tente reiniciar o sensor PIR por desconectar e reconectar o fio GND, e ter certeza de que ele não se mover durante ou após a calibração.

menu