The project I am working on seems pretty straight forward but with my limited mental capacity I am really struggling to determine the right programming approach to solve this problem.
Here's my outline of the issue:
Operate a door between two magnetic proximity reed swithces (both reed switches go to one input).
Door will be open/closed using one 2-wire (no feedback) dc electric actuator (main actuator).
The movement will be triggered by an DPDT, on-off-on, momentary rocker switch that will signal the controller to open or close the door.
Once the button is pressed, but before the door begins to swing, two 2-wire (no feedback) "lock" dc electric actuators will retract (for 3 seconds). This allows the door to move freely.
Once the door magnet is picked up by the corresponding reed switch the main actuator will stop and the lock actuators will extend (3 seconds).
Then the system should wait for the next input from the open/close switch.
Here's the physical process for opening:
Press open button (momentary).
Lock actuators retract (3 seconds).
Main actuator begins to extend.
If the close button is pressed (momentary) reverse direction.
If the open button is pressed (momentary) reverse direction.
Once the reed switch picks up the door magnet, Stop the main actuator & extend the lock actuators (3 seconds).
One of the big challenges tripping me up is fact that the reed switches need to be ignored to allow the door to begin it's travel. I believe an interrupt would be the way to go but I have not worked with them before.
I have explored the internet and this forum extensively but have not found anything that gave me the "ah ha!" moment I need.
The discussions on
boolean lock out
doing several things at the same time
Were helpful but ultimately contributed to my indecision!
Any additional resources or pointers on this issue would be much appreciated.
Thanks for your time.