from machine import Pin, I2C, PWM, ADC
from time import sleep
import ssd1306
#datos del display
i2c=I2C(0, scl=Pin(15), sda=Pin(2))
#tamaño que tiene la pantalla OLED
ancho=128
alto=64
display=ssd1306.SSD1306_I2C(ancho, alto, i2c)
# estado predefinido de la alarma en la pantalla OLED
display.text('Alarma: OFF', 0,0)
display.show()
#recibir datos del sensor de movimiento
PIR = Pin(12, Pin.IN, Pin.PULL_UP)
#datos del buzzer
buzzer = PWM(Pin(13,Pin.OUT))
#buzzer apagado
buzzer.init(freq=1047, duty=0)
while True:
Valor_PIR = PIR.value()
#si se descomenta la line 26 (la función print) se mostrará en la consola
#el valor lógico que se obtiene de lsensor de movimiento el cual, al ser
#lógico, solo puede ser 0(si no hay movimiento) y 1(si hay movimiento)
print(PIR.value())
if Valor_PIR == 1:
display.fill(0)
display.show()
display.text('Alarma: ON', 0,0)
display.show()
#activar alarma
buzzer.init(freq=1047, duty=512)
#Cuanto timepo se activará la alarma
sleep(5)
#apagar alarma
buzzer.init(freq=1047, duty=0)
display.fill(0)
display.show()
display.text('Alarma: OFF', 0,0)
display.show()