É 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
- Computador
- Arduino UNO
- Cabo USB A Macho/B Macho
- Sensor de movimento PIR
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
- Acender uma luz quando movimentos são detectados
- Ativar um alarme quando uma pessoa entra
Fontes
- https://www.arduino.cc/reference/en/language/functions/digital-io/digitalwrite/
- Gestão de sensores com o Arduino
Retrouvez nos tutoriels et d’autres exemples dans notre générateur automatique de code
La Programmerie