'''
鼠标拖拽右侧的横条的拨杆,可以模拟土壤水分的变化。
当土壤水分过低时,舵机开启浇水
当土壤水分过高时,舵机关闭浇水
'''
import time
from machine import Pin, ADC, PWM
def start_watering():
set_angle(0)
def stop_watering():
set_angle(180)
servo_pin = Pin(0)
pwm = PWM(servo_pin)
pwm.freq(50)
def set_angle(angle):
duty = int(51 + (angle / 180) * (102 - 51))
pwm.duty(duty)
adc = ADC(Pin(32))
adc.atten(ADC.ATTN_11DB)
while True:
value = adc.read()
print(f'土壤湿度为:{value}')
# 请在此处完成自动浇水逻辑
# --- 以下为自动浇水逻辑,可以删除后给学生 ---
if value < 1000:
start_watering()
elif value > 2000:
stop_watering()
# --- 以上为自动浇水逻辑,可以删除后给学生 ---
time.sleep(1)