from machine import Pin, Timer
import time
import urequests # Módulo para fazer requisições HTTP em MicroPython
# Configuração dos pinos
pir_pin = Pin(14, Pin.IN) # Pino do sensor PIR
led_pin = Pin(2, Pin.OUT) # Pino do LED
buzzer_pin = Pin(15, Pin.OUT) # Pino do buzzer
# Configurações do Telegram
TELEGRAM_BOT_TOKEN = '1949478841'
TELEGRAM_CHAT_ID = '1949478841'
# Função para detectar movimento e acionar o LED, o buzzer e enviar mensagem via Telegram
def detect_motion(timer):
if pir_pin.value() == 1: # Verifica se o sensor PIR detectou movimento
led_pin.on() # Liga o LED
ativar_buzzer(8) # Ativa o buzzer por 8 segundos
enviar_mensagem_telegram("Movimento detectado!") # Envia mensagem via Telegram
led_pin.off() # Desliga o LED
# Função para ativar o buzzer
def ativar_buzzer(duracao):
for _ in range(int(duracao * 100)): # Ajuste a frequência do buzzer
buzzer_pin.value(1)
time.sleep(0.005) # Tempo de ligar o buzzer (em segundos)
buzzer_pin.value(0)
time.sleep(0.005) # Tempo de desligar o buzzer (em segundos)
# Função para enviar mensagem via Telegram
def enviar_mensagem_telegram(mensagem):
url = "https://api.telegram.org/bot{}/sendMessage?chat_id={}&text={}".format(TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID, mensagem)
response = urequests.get(url)
response.close()
# Configuração do temporizador para verificar o sensor PIR a cada 0.5 segundos
tim = Timer(-1)
tim.init(period=500, mode=Timer.PERIODIC, callback=detect_motion)