# irrigation_control.py - MicroPython on Raspberry Pi Pico
# Uses soil sensor digital wet/dry output for irrigation control
# Sensor digital pin (IN) -> GP15
# Pump/LED control -> GP16
from machine import Pin
import utime
# === Pin assignments ===
DIGITAL_PIN = 15 # soil sensor digital OUT (HIGH=wet, LOW=dry)
PUMP_PIN = 26 # GPIO driving pump/LED (active HIGH)
# === Setup pins ===
soil_digital = Pin(DIGITAL_PIN, Pin.IN, Pin.PULL_DOWN)
pump = Pin(PUMP_PIN, Pin.OUT)
pump.value(0) # start with pump OFF
print("=== Soil Moisture Irrigation Control ===")
print("Sensor digital pin: GP{} | Pump/LED pin: GP{}".format(DIGITAL_PIN, PUMP_PIN))
print("HIGH = Wet, LOW = Dry\n")
while True:
soil_state = soil_digital.value() # 1 = wet, 0 = dry
if soil_state == 0: # soil is DRY
pump.value(1) # turn pump ON
print("Soil: DRY -> Pump: ON")
else: # soil is WET
pump.value(0) # turn pump OFF
print("Soil: WET -> Pump: OFF")
utime.sleep(1)