Watering Unit

Watering 是一款电容式土壤湿度检测与调节单元。该产品集成了水泵和用于土壤湿度检测及水泵控水的测量板,可用于智能植物培育场景,并能轻松实现湿度检测与灌溉控制。测量电极板采用电容式设计,相较于电阻式电极板,可在实际使用中有效避免电极板腐蚀问题。

支持以下产品:

WateringUnit

MicroPython 应用示例

 1import os, sys, io
 2import M5
 3from M5 import *
 4from unit import WateringUnit
 5
 6
 7label0 = None
 8label1 = None
 9label2 = None
10label3 = None
11watering_0 = None
12
13
14def setup():
15    global label0, label1, label2, label3, watering_0
16
17    M5.begin()
18    Widgets.fillScreen(0x222222)
19    label0 = Widgets.Label("Voltage:", 50, 80, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18)
20    label1 = Widgets.Label("ADC:", 50, 140, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18)
21    label2 = Widgets.Label("label2", 150, 80, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18)
22    label3 = Widgets.Label("label3", 150, 140, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18)
23
24    watering_0 = WateringUnit((8, 9))
25
26
27def loop():
28    global label0, label1, label2, label3, watering_0
29    M5.update()
30    label2.setText(str(watering_0.get_voltage()))
31    label3.setText(str(watering_0.get_raw()))
32    if (watering_0.get_raw()) > 30000:
33        watering_0.on()
34    else:
35        watering_0.off()
36
37
38if __name__ == "__main__":
39    try:
40        setup()
41        while True:
42            loop()
43    except (Exception, KeyboardInterrupt) as e:
44        try:
45            from utility import print_error_msg
46
47            print_error_msg(e)
48        except ImportError:
49            print("please update to latest firmware")

UiFlow2 应用示例

example.png

cores3_watering_example.m5f2

class WateringUnit

Constructors

class WateringUnit(port: tuple) None

初始化 Fader。

参数:

port – Fader 连接到的端口。port[0]:adc 引脚,port[1]:pump 引脚。

UiFlow2

init.png

Methods

WateringUnit.get_voltage() float

获取传感器的电压。

返回:

传感器的电压。

UiFlow2

get_voltage.png

WateringUnit.get_raw() int

读取 ADC 的原始值。

返回:

ADC 的原始值。

UiFlow2

get_raw.png

WateringUnit.on() None

打开泵。

UiFlow2

on.png

WateringUnit.off() None

关闭水泵。

UiFlow2

off.png

WateringUnit.set_pump(state: int) None

设置泵的状态。

参数:

state (int) – 泵的状态。

UiFlow2

set_pump.png