Remarks
WaterSensor | |
---|---|
Status | |
Source code | GitHub |
NuGet package |
Code Example
WaterSensor waterSensor;
public override Task Initialize()
{
Console.WriteLine("Initialize...");
waterSensor = new WaterSensor(Device.Pins.A01);
waterSensor.Subscribe(WaterSensor.CreateObserver(
h => Console.WriteLine($"Water level changed by 10 mm; new: {h.New}, old: {h.Old}"),
null //e => { return Math.Abs(e.Delta) > 0.1f; }
));
waterSensor.Updated += (object sender, IChangeResult<float> e) =>
{
Console.WriteLine($"Level Changed, level: {e.New}cm");
};
return Task.CompletedTask;
}
public override async Task Run()
{
var conditions = await waterSensor.Read();
Console.WriteLine($"Initial level: {conditions}");
waterSensor.StartUpdating(TimeSpan.FromSeconds(5));
}
Sample project(s) available on GitHub
Wiring Example
WaterSensor | Meadow Pin |
---|---|
GND | GND |
VCC | 3.3V |
RX | D01 |
TX | D00 |
Syntax
public class WaterSensor : AnalogWaterLevel, ISamplingSensor<float>
Constructors
WaterSensor(IAnalogInputPort, AnalogWaterLevel.Calibration)
Declaration
public WaterSensor(IAnalogInputPort analogInputPort, AnalogWaterLevel.Calibration calibration = null)
Parameters
Type | Name | Description |
---|---|---|
IAnalogInputPort | analogInputPort | |
AnalogWaterLevel.Calibration | calibration |
WaterSensor(IPin, AnalogWaterLevel.Calibration, Nullable<TimeSpan>)
Declaration
public WaterSensor(IPin analogPin, AnalogWaterLevel.Calibration calibration = null, TimeSpan? updateInterval = null)
Parameters
Type | Name | Description |
---|---|---|
IPin | analogPin | |
AnalogWaterLevel.Calibration | calibration | |
System.Nullable<TimeSpan> | updateInterval |