from machine import ADC, Pin
from time import sleep
import network
import time
from time import sleep
from machine import Pin
import dht
import ujson
from umqtt.simple import MQTTClient
import _thread
import time
import machine
# Configuración
sensor = ADC(Pin(34)) # Sensor de humedad (potenciómetro)
sensor.atten(ADC.ATTN_11DB) # Para rango de 0-3.3V
bomba = Pin(2, Pin.OUT) # LED que simula la bomba
# Parámetros de riego
umbral_humedad = 3000 # Ajusta según pruebas
sensor = dht.DHT22(Pin(15))
lastMessage = None
while True:
sensor.measure()
message = ujson.dumps({
"temp": sensor.temperature(),
"humidity": sensor.humidity(),
})
if (lastMessage != sensor.temperature()):
lastMessage = sensor.temperature()
client.publish("TOPIC/mobile_00001/RQ", message)
print(message)
if(sensor.temperature() > 41):
turnOnLed(warmLed)
elif(sensor.temperature() > 15 and sensor.temperature() < 40):
bomba.off() # Desactivar bomba
print("Riego DESACTIVADO")
elif(sensor.temperature() < 15):
bomba.off() # Desactivar bomba
print("Riego DESACTIVADO")
time.sleep(1)
while True:
valor = sensor.read() # Leer humedad
print("Humedad:", valor)
if valor < umbral_humedad:
bomba.on() # Activar bomba
print("Riego ACTIVADO")
else:
bomba.off() # Desactivar bomba
print("Riego DESACTIVADO")
sleep(2)