Remarks

Relay
Status Status badge: working
Source code GitHub
NuGet package NuGet Gallery for Meadow.Foundation

A relay is an electrically operated or electromechanical switch composed of an electromagnet, an armature, a spring and a set of electrical contacts. The electromagnetic switch is operated by a small electric current that turns a larger current on or off by either releasing or retracting the armature contact, thereby cutting or completing the circuit. Relays are necessary when there must be electrical isolation between controlled and control circuits, or when multiple circuits need to be controlled by a single signal.

Sample projects available on GitHub

Code Example

protected Relay relay;

public override Task Initialize()
{
    Console.WriteLine("Initialize...");

    relay = new Relay(Device.CreateDigitalOutputPort(Device.Pins.D02));

    return Task.CompletedTask;
}

public override Task Run()
{
    var state = false;

    while (true)
    {
        state = !state;

        Console.WriteLine($"- State: {state}");
        relay.IsOn = state;

        Thread.Sleep(500);
    }
}

Sample project(s) available on GitHub

Wiring Example

<img src="../../API_Assets/Meadow.Foundation.Relays.Relay/Relay_Fritzing.svg"

Characteristic Locus
Inheritance System.Object > Relay
Namespace Meadow.Foundation.Relays
Assembly Meadow.Foundation.dll

Syntax

public class Relay : IRelay

Constructors

Relay(IDigitalOutputController, IPin, RelayType)

Creates a new Relay on an IDigitalOutputPort.

Declaration
public Relay(IDigitalOutputController device, IPin pin, RelayType type = null)

Parameters

Type Name Description
IDigitalOutputController device

IDigitalOutputController to create digital output port

IPin pin

Pin connected to relay

RelayType type

Relay type

Relay(IDigitalOutputPort, RelayType)

Creates a new Relay on an IDigitalOutputPort. Allows you to use any peripheral that exposes ports that conform to the IDigitalOutputPort, such as the MCP23008.

Declaration
public Relay(IDigitalOutputPort port, RelayType type = null)

Parameters

Type Name Description
IDigitalOutputPort port
RelayType type

Properties

DigitalOut

Returns digital output port

Declaration
protected IDigitalOutputPort DigitalOut { get; set; }

Property Value

Type Description
IDigitalOutputPort

IsOn

Whether or not the relay is on. Setting this property will turn it on or off.

Declaration
public bool IsOn { get; set; }

Property Value

Type Description
System.Boolean

Type

Returns type of relay.

Declaration
public RelayType Type { get; protected set; }

Property Value

Type Description
RelayType

Methods

Toggle()

Toggles the relay on or off.

Declaration
public void Toggle()