We want to use two limit switches to control a motor in forward and in reverse.
The limit switches are actuating on all channels of the digital sidecar, it does not matter which port we plug it into. We want the switch to stop the individual motors from running. We have tried both constructors (channel only, as well as slot and channel) with the same results. Our code is:
Code:
DigitalInput *limitSwitchReverse;
DigitalInput *limitSwitchForward;
// Ctr using only channel
limitSwitchReverse = new DigitalInput(13);
limitSwitchForward = new DigitalInput(14);
// Alternative: Ctr using slot and channel
//limitSwitchReverse = new DigitalInput(4, 13);
//limitSwitchForward = new DigitalInput(4, 14);
if (btn1)
{
if(limitSwitchReverse->Get() == 0)
{
device->Set(Relay::kOff);
}
else
{
device->Set(Relay::kReverse);
}
}
else if (btn2)
{
if(limitSwitchForward->Get() == 0)
{
device->Set(Relay::kOff);
}
else
{
device->Set(Relay::kForward);
}
}
else
{
device->Set(Relay::kOff);
}
could someone please post a sample code which demonstrates the correct way to use a limit switch connected to the Digital I/O, to interrupt a spike connected to the Relay.
Thanks