Site icon AranaCorp

Usar um sensor PIR com o Arduino

É possível ativar um sistema, tal como um alarme, ao se detectar a presença de uma pessoa com um sensor de movimento PIR. Na automação doméstica, é comum ativar dispositivos quando alguém entra num cômodo. Isso é possível graças a sensores de movimento, como o sensor de infravermelho passivo ou PIR (Passive Infared Sensor). Veremos neste tutorial como gerir o sensor PIR com um microcontrolador Arduino.

Material

Princípio de funcionamento

Qualquer objeto com uma temperatura acima de zero absoluto emite radiação infravermelha, como se pode ver nas imagens de câmeras térmicas. O sensor PIR é equipado com duas células sensíveis ao infravermelho que detectam os raios infravermelhos refletidos ou emitidos por um objeto.
Quando não há movimento, o nível de infravermelho recebido é o mesmo para ambas as células. Quando um objeto passa, a emissão dos raios é modificada em uma célula e depois na outra, permitindo que o movimento seja detectado.
A cobertura branca que normalmente cobre e protege o sensor é uma lente Fresnel com várias facetas, que permite a concentração da radiação infravermelha e, em alguns casos, a filtragem nas células.

Esquema

O módulo PIR pode ser alimentado diretamente pelo microcontrolador e, como ele devolve um estado, a saída do sensor é ligada a uma entrada digital.

Código

O sensor PIR retorna um estado alto (HIGH) quando detecta um movimento e um estado baixo (LOW) quando nada é detectado. Desse modo, ele será gerido como entrada digital, com a função digitalRead() do Arduino.

//Parameters
const int pirPin  = 2;

//Variables
bool pirStatus  = false;

void setup() {
  //Init Serial USB
  Serial.begin(9600);
  Serial.println(F("Initialize System"));
  //Init digital input
  pinMode(pirPin, INPUT);
}

void loop() {
  readPIR();
}

void readPIR( ) { /* function readPIR */
  ////Test routine for PIR
  pirStatus = digitalRead(pirPin);
  Serial.print(F("Sensor status")); Serial.println(pirStatus);
  if (pirStatus) {
    Serial.print(F("----> Detection"));
    delay(500);
  }
  delay(100);
}

Aplicações

Fontes

Retrouvez nos tutoriels et d’autres exemples dans notre générateur automatique de code
La Programmerie

Exit mobile version