from machine import Pin, ADC
import time
from hcsr04 import HCSR04
from Servo_libreria import Servo
from dht import DHT22
sensor = HCSR04(trigger_pin=13, echo_pin=12, echo_timeout_us=10000)
motor = Servo(pin=27)
buzzer = Pin (15, Pin.OUT, value = 0)
led_m = Pin (2, Pin.OUT, value = 0)
PIR = Pin (4, Pin.IN)
sensorDHT = DHT22 (Pin(5))
relay = Pin(18, Pin.OUT)
ldr = ADC(Pin(26))
led_l = Pin (14, Pin.OUT, value = 0)
mq7 = ADC(Pin(25))
mq7.width(ADC.WIDTH_10BIT)
mq7.atten(ADC.ATTN_11DB)
def bip():
buzzer.on()
time.sleep(0.2)
buzzer.off()
def flash():
for veces in range (0,10):
led_m.on()
time.sleep(0.1)
led_m.off()
time.sleep(0.5)
while True:
bloqueo = 0
distance = sensor.distance_cm()
if distance > 10 or distance <= 0:
motor.move(155)
time.sleep(0.5)
if distance <= 10 and distance > 0:
motor.move(80)
time.sleep(5)
bloqueo=1
if bloqueo==1:
motor.move(155)
time.sleep(5)
if (PIR.value()==1):
bip()
flash()
sensorDHT.measure ()
temp=sensorDHT.temperature()
hum=sensorDHT.humidity()
print('Temperatura: %3.1f C' %temp)
print('Humedad: %3.1f %%' %hum)
if temp>=30:
relay.value(1)
else:
relay.value(0)
valor_LDR = ldr.read()
print("La cantidad de luz que hay es: ", valor_LDR)
if valor_LDR > 352:
led_l.on()
else:
led_l.off()
lectura_mq7 = int(mq7.read())
time.sleep(0.5)
ppm = 400/1023
co = ppm*lectura_mq7
print("El CO que hay es:", co)
if co > 500:
buzzer.on()
time.sleep(0.2)
buzzer.off()
for veces in range (0,3):
led_m.on()
time.sleep(0.1)
led_m.off()
time.sleep(0.5)