É 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