0. Componentes e programação necessários para a instalação do detector de movimento PIR HC-SR501 a Arduino UNO

Componentes necessários:

{Produto: 2.000} {Produto: 341}

I. Como usar um detector de movimento PIR HC-SR501

Para obter mais informações sobre os produtos ou suas descrições técnicas, entre em nosso site Solectro Shop .

Faça a seguinte conexão diretamente ou à placa de protótipo MB-102 sem soldar usando cabos duplos:

Procedimentos experimentais

O módulo é alimentado diretamente por Arduino , portanto, não precisamos de uma fonte de alimentação externa. Os pinos são conectados de acordo com a tabela:

Pino do sensor

Pin por Arduino UNO

VCC

5V

GND

GND

FORA

Pino 2

Os outros dois pinos do módulo do sensor são conectados à sonda de medição usando os cabos fornecidos, conforme mostrado no diagrama a seguir:

Diagrama de conexão do sensor para a placa UNO

Operação

Para que este código funcione corretamente, é melhor definir o jumper do modo de disparo para 'H' (modo de repetição de disparo). Defina também o potenciômetro de retardo de tempo para o valor mais baixo. Gire no sentido anti-horário tanto quanto possível.

O código lerá o status do sensor (HIGH ou LOW) e ligará ou desligará o LED embutido de acordo. Ele também imprimirá uma mensagem no Monitor Serial, que você pode acessar em Ferramentas ou digitar (Ctrl + Shift + M).

Abra um novo esboço e cole o seguinte código:

/ * Exemplo de código para o sensor de movimento PIR HC-SR501 com Arduino . Mais informações: www.makerguides.com * /

// Definir pinos de conexão:

#define pirPin 2

#define ledPin 13

// Crie variáveis:

int val = 0;

bool motionState = false ; // Começamos sem detectar movimento.

vazio configuração() {

// Defina os pinos como entrada ou saída:

pinMode(ledPin, OUTPUT);

pinMode(pirPin, INPUT);

// Inicie a comunicação serial na taxa de transmissão de 9600:

Serial. começar ( 9600 ) ;

}

vazio loop() {

// Leia o pirPin e armazene-o como val:

val = digitalRead (pirPin);

// Se o movimento for detectado (pirPin = HIGH), faça o seguinte:

E se (val == HIGH) {

digitalWrite(ledPin, HIGH); // Liga o LED embutido.

/ Alterar o status do movimento para verdadeiro (movimento detectado):

E se ( motionState == false ) {

Serial.println(" Movimento detectado!

motionState = verdadeiro;

}

}

// Se nenhum movimento for detectado (pirPin = LOW), faça o seguinte:

outro {

digitalWrite ( ledPin, LOW ) ; // Desligue o LED embutido.

// Altere o estado de movimento para falso (sem movimento):

E se (motionState == true) {

Serial. println ( " Movimento concluído !" ) ;

motionState = falso ;

}

}

}

Os efeitos do programa podem ser vistos na tela abaixo ao abrir o Monitor Serial: