Como fazer um alarme de intrusão com Raspberry Pi Pico

Microcontroladores são freqüentemente usados ​​em produtos de segurança comercial, como alarmes contra roubo. O último pode ser bastante caro, no entanto. Então, por que não criar um alarme caseiro usando um microcontrolador Raspberry Pi Pico de US $ 4?

Este usa um sensor PIR (infravermelho passivo) – usado por muitos sistemas de alarme comerciais – para detectar a presença de um intruso. É ideal para pegar qualquer pessoa entrando sorrateiramente em sua sala ou bisbilhotando sua mesa, ou para proteger seu estoque de biscoitos. Usando o MicroPython, você pode programar seu alarme para reagir com um alerta audível e luz intermitente.

1. Construindo o Alarme

Para construir o alarme, você precisará de uma seleção de componentes eletrônicos padrão.

O que você precisará:

  • Raspberry Pi Pico com cabeçotes de pinos machos soldados
  • Tábua de pão
  • LED (qualquer cor)
  • Resistor de 330 ohms
  • Buzzer piezoelétrico ativo
  • Sensor HC-SR501 PIR
  • 4 fios de jumper macho para macho (M2M)
  • 3 fios de jumper macho-fêmea (M2F)

Nota: Se você não gosta de soldar cabeçotes de pino macho no seu Raspberry Pi Pico, é possível comprar um Pico com cabeçalhos já instalados.

Relacionado: Uma Espreitadela no Pico, o mais recente Petite Powerhouse do Raspberry Pi

Antes de ligar tudo, dê uma olhada na parte inferior do Pico para ver as etiquetas dos pinos.

Na parte superior do Pico, você também pode ver como funciona a numeração dos pinos físicos, de 1 a 40, no sentido anti-horário a partir da esquerda da porta micro-USB.

Na placa de ensaio, insira os cabeçotes de pino macho do Pico nos orifícios em uma das extremidades. Empurre-o para baixo com firmeza para garantir boas conexões – ele deve se encaixar perfeitamente. Em seguida, use os fios jumper fêmea-macho para conectar o sensor PIR a ele: o pino VCC deve ser conectado ao VBUS 5V do Pico, OUT digital ao GP28 e GND a um pino GND (por exemplo, pino 3), conforme mostrado no diagrama de fiação abaixo.

Conecte um dos trilhos de aterramento da placa de ensaio (marcado por uma linha azul) a outro pino GND no Pico (por exemplo, pino físico 23, como aqui). Para uma luz intermitente, insira um LED na placa de ensaio, com as pernas de cada lado da divisão central.

A perna mais curta (cátodo) deve então ser conectada ao mesmo trilho de aterramento. A perna mais longa (ânodo) do LED precisa ser conectada ao pino GP15 por meio de um resistor para limitar a quantidade de corrente elétrica que passa por ele, o que poderia danificar o LED ou o Pico.

Finalmente, adicione uma campainha para fazer um som de bipe quando o alarme disparar. Coloque suas pernas em cada lado da divisão central da placa de ensaio e conecte a perna mais curta ou fio preto ao trilho de aterramento e a perna mais longa (às vezes marcada no topo da campainha com '+') ou fio vermelho ao GP14.

2. Programação do alarme

Você precisará instalar o MicroPython no Pico. Este processo envolve quatro etapas simples:

  1. Baixe MicroPython para Raspberry Pi Pico do site Raspberry Pi
  2. Conecte o Pico ao seu computador através de sua entrada micro-USB enquanto segura o botão BOOTSEL
  3. Espere que o Pico apareça como uma unidade externa
  4. Arraste e solte o arquivo .uf2 MicroPython para copiá-lo para o Pi Pico; ele irá reiniciar automaticamente

Embora vários IDEs de programação (ambientes de desenvolvimento integrado) estejam disponíveis para MicroPython, aqui usaremos Thonny. Já está pré-instalado no Raspberry Pi OS (se você estiver usando um computador Raspberry Pi conectado ao Pico), ou pode ser baixado para qualquer sistema de computador do site oficial clicando no link no canto superior direito.

Baixar: Thonny (grátis)

Com o Pico conectado ao computador, abra o Thonny. No canto inferior direito da janela Thonny, você verá a versão do Python que está usando no momento. Clique nele e selecione MicroPython (Raspberry Pi Pico) .

Agora você está pronto para programar o seu alarme de intrusão no Pico. Adicione as seguintes linhas de código ao painel principal de Thonny.

 import machine
import utime
pir = machine.Pin(28, machine.Pin.IN, machine.Pin.PULL_DOWN)
led = machine.Pin(15, machine.Pin.OUT)
buzzer = machine.Pin(14, machine.Pin.OUT)
def pir_handler(pin):
utime.sleep_ms(100)
if pin.value():
print("Motion detected. Intruder alert!")
for i in range(50):
led.toggle()
buzzer.toggle()
utime.sleep_ms(100)
pir.irq(trigger=machine.Pin.IRQ_RISING, handler=pir_handler)

Aqui, importe as bibliotecas da máquina e do utime no topo. Em seguida, configure os objetos para PIR, LED e campainha – conectado aos pinos GP28, GP15 e GP14, respectivamente.

Observe que o PIR é definido como uma entrada com machine.Pin.IN , com um parâmetro machine.Pin.PULL-DOWN para definir o resistor de seu pino Pico para o modo pull-down; isso significa que ele será lido como zero até que uma corrente elétrica seja enviada a ele do PIR sendo acionado.

Relacionado: Introdução ao MicroPython no Raspberry Pi Pico

Na parte inferior do código, um IRQ (solicitação de interrupção) é configurado para acionar a função pir_handler assim que um sinal é detectado no pino de entrada (GP28) do sensor PIR.

Na própria função, para evitar disparos repetidos em um curto espaço de tempo, adicione um atraso de 100ms antes de verificar o valor do pino novamente e, se for diferente de zero, disparar o alarme. Em seguida, ele liga e desliga o LED e a campainha para acender a luz e fazer um som de bipe.

Salve o programa no seu Pico com um nome relevante, como alarm.py . Execute o programa e, quando você acenar com a mão sobre o sensor PIR, a campainha deve soar e o LED piscar rapidamente.

3. Ajustando a sensibilidade do sensor

Se o alarme disparar com muita facilidade, ou não disparar, pode ser necessário ajustar a sensibilidade do sensor PIR. O HC-SR501 possui dois parafusos de plástico – geralmente identificados como Sx e Tx – presos a dois pequenos potenciômetros para ajustar suas configurações.

Usando uma pequena chave de fenda, você pode girar o parafuso Sx no sentido anti-horário para aumentar sua sensibilidade (ou vice-versa). Girar o parafuso Tx altera o período de tempo em que o sinal disparado é enviado após a detecção do intruso – achamos melhor girá-lo totalmente no sentido anti-horário, pelo menor atraso de 1 segundo.

Por padrão, o PIR detectará qualquer movimento em 360 ° ao seu redor. Se você quiser limitar seu escopo de detecção, tente colocá-lo na parte inferior do tubo interno de papelão de um rolo de papel higiênico e incliná-lo na direção que deseja cobrir.

Faça seu próprio alarme de intrusão móvel

Assim que o alarme de intrusão estiver funcionando de forma satisfatória, você poderá movê-lo para longe do computador. Ao salvar o programa como main.py , você pode desconectá-lo do computador e conectar um banco de energia móvel padrão à sua porta micro USB.

O Pico irá então executar automaticamente o programa main.py assim que for ligado. Parabéns: agora você tem um alarme de intrusão móvel para colocar onde quiser.