Utilizando o Raspberry pi 3 e sensor PIR no acionamento de lâmpadas

Neste tutorial, vamos dar continuidade ao material apresentado no artigo anterior, no qual, demonstramos como efetuar o acionamento de uma ou mais lâmpadas utilizando um módulo relé em conjunto com uma placa Raspberry Pi 3 modelo B. O projeto proposto neste tutorial consiste em incrementar o material citado, adicionando um sensor de presença PIR HC-SR501, de modo que, quando este detectar algum tipo de movimento, a lâmpada já existente no hardware do projeto deve ser acionada imediatamente e apagar de maneira automática depois de um tempo preestabelecido.

 


 

Sensores de presença PIR HC-SR501

 

Nos dias atuais, com as questões de eficiência energética e consumo consciente, é muito provável que em qualquer ambiente que não seja residencial, nos encontremos recursos utilizados para otimizar a utilização de energia elétrica. Um destes recursos são os sensores de presença, os quais, são amplamente utilizados em ambientes como banheiros, salas comerciais, corredores de edificações, entre outros.

Sensor de presença

De maneira bastante básica, os sensores de presença atuam gerando nível alto em uma de suas saídas no momento em que detectam o movimento de algum corpo que emita radiação infravermelha.

 


 

Componentes utilizados no projeto

Para reproduzir este projeto você precisará dos seguintes componentes:

 

Montagem física do hardware

 

Veja na figura abaixo o hardware que será utilizado para que seja possível acionar uma lâmpada, de acordo com a detecção do movimento de algum objeto pelo Sensor de presença PIR HC-SR501, através da placa Raspberry Pi 3 modelo B .

Hardware utilizado.

Além da montagem do hardware utilizado, queremos apresentar também o modo como deve-se ligar a lâmpada para que a mesma possa ser ligada e desligada pela nossa placa Raspberry pi.

Note que, neste exemplo, utilizamos uma lâmpada cujo funcionamento deve ocorrer sob uma tensão de 127 V, portanto, interrompemos o condutor fase, ligando-o no terminal comum do relé e também ligando o terminal normalmente aberto (NA) em um dos terminais da lâmpada, de modo que, quando o relé for acionado, estes dois trechos serão interligados. Além disso, no outro terminal da mesma, ligamos o condutor neutro, fechando o circuito.

 

Esquema de ligação da lâmpada

 


 

Desenvolvimento do código para o Raspberry Pi

 

Para desenvolver o código citado, iremos abrir o programa IDLE 3, no qual, iremos criar um novo documento e escrever o seguinte código em Python.

 

Acessando o software para desenvolvimento do código

Nesta seção iremos demonstrar o código responsável pelo acionamento do relé, que por sua vez, irá ligar e desligar a lâmpada.

import RPi.GPIO as GPIO 
GPIO.setmode(GPIO.BOARD) 
GPIO.setup(12, GPIO.OUT) 
GPIO.setup(16, GPIO.IN) 

while (True):
    if(GPIO.input(16) == 1):
       GPIO.output(12,0) 
       print("algo foi detectado!")
    else: 
       GPIO.output(12,1)

 

Após a finalização do código, basta pressionar F5 para executa-lo.

 

Terminal do IDLE3

 


 

Explicação do código 

 

Nesta seção iremos explicar o funcionamento de todas as linhas do código apresentado anteriormente

  • Importando a biblioteca para manipulação dos pinos de entrada e saída

Primeiramente, utilizamos a sentença import para definir a biblioteca que será utilizada em nosso projeto.

import RPi.GPIO as GPIO
  • Determinando o modo de referência aos pinos utilizados

Em seguida, através da sentença GPIO.setmode() determinamos a maneira como vamos nos referenciar aos pinos da placa Raspberry Pi. Ao utilizarmos GPIO.BOARD como parâmetro, devemos nos referenciar aos pinos, no código, pela ordem em que estão anexados na mesma, por exemplo, utilizando 12, para o pino 12 (caso tivessemos utilizado como parâmetro a sentença GPIO.BCM, nos referenciaríamos aos pinos da placa através do número que acompanha a sigla GPIO, no caso do pino 12, seria 18, devido ao fato de o pino 12 ser o GPIO 18).

 GPIO.setmode(GPIO.BOARD) 
  • Definindo o modo de operação dos pinos utilizados

Posteriormente, definimos o modo de operação dos pinos da placa Raspbarry Pi, de modo que, configuramos o pino 12 como um pino de saída digital e o pino 16 como um pino de entrada digital.

 
GPIO.setup(12, GPIO.OUT)
GPIO.setup(16, GPIO.IN)
  • Manipulando o relé de acordo com o estado do sensor de presença

Por fim, criamos um loop infinito através da sentença while (True), de modo que, dentro deste, temos um conjunto de estruturas condicionais if/else. Em um primeiro momento, verificamos se o sensor de presença está detectando algo, ou seja, se este está proporcionando no nível lógico 1 no pino 12, para que então, em caso afirmativo o relé seja acionado por meio da sentença GPIO.output(12,0) (lembre-se que os relés do módulo citado são acionados com nível lógico 0 em seu terminal). Além disso, ainda implementamos uma lógica para que sejamos avisados sobre a detecção de um objeto, através do terminal do IDLE 3, por meio da sentença print(“algo foi detectado!”).

Caso a condição acima não seja satisfeita, quer dizer que o sensor de presença não está detectando nada e como consequência está disponibilizando nível lógico 0 no pino 12 e portanto, o relé deve ser desligado através da sentença GPIO.output(12,1), que por sua vez, coloca nível lógico alto no terminal do mesmo.

 
while (True): 
     if(GPIO.input(16) == 1):
         GPIO.output(12,0) 
         print("algo foi detectado!")
     else: 
         GPIO.output(12,1)

 


 

Considerações finais

Este foi mais um conteúdo que preparamos com bastante cuidado para você. Esperamos que tenha gostado deste post e lembre-se de deixar suas dúvidas, críticas e sugestões nos comentários abaixo.

Categorias
Raspberry Pi

Engenheiro eletricista graduado com ênfase em Controle e Automação pela Universidade Federal do Espírito Santo - UFES e Técnico em Eletrotécnica pelo Instituto Federal do Espírito Santo - IFES. Parceiro do site UsinaInfo.
Sem Comentários

Enviar Resposta

*

*

Sobre nós

Hoje a Usinainfo é um dos maiores ecommerces de Ferramentas, Peças para Eletrônica, Componentes Eletrônicos, Sensores e Arduino do Brasil, contando com uma grande diversidade de produtos na linha de eletrônica.

Sugestões

Artigos Relacionados