from machine import Pin
from machine import PWM
from time import sleep
import dht
sensor = dht.DHT22(Pin(2))
nitrogen = dht.DHT22(Pin(4))
phosphorus = dht.DHT22(Pin(5))
potassium = dht.DHT22(Pin(6))
pwm = PWM(Pin(0))
pwm.freq(50)
led = Pin(21, Pin.OUT)
def servo():
for position in range(1000,9000,50):
pwm.duty_u16(position)
sleep(0.01)
for position in range(9000,1000,-50):
pwm.duty_u16(position)
sleep(0.01)
while True:
#Temp & Humidity Read
sensor.measure()
nitrogen.measure()
phosphorus.measure()
potassium.measure()
temp = sensor.temperature()
hum = sensor.humidity()
nit = nitrogen.humidity()
pho = phosphorus.humidity()
pot = potassium.humidity()
print("Temperature: {}°C Soil Moist: {:.0f}% ".format(temp, hum))
print("Nitrogen: {} mg/kg ".format(nit))
print("Phosphorus: {} mg/kg ".format(pho))
print("Potassium: {} mg/kg ".format(pot))
sleep(2)
if temp > 38 and hum < 20:
servo()
led.toggle()
elif hum < 20:
led.toggle()
elif temp < 20:
led.toggle()
elif nit or pho or pot < 50:
led.toggle()