1

I will have 2 buttons.

Using Adafruit DC Motor Driver https://www.adafruit.com/product/3190

Top button is a function, bottom button is mode.

The top button functions.

Window 1:

Single press will turn on motor 1 to open blinds until the top limit switch is pressed to signal the blinds have reach their max open and turn motor 1 off.

(In Mode) Windows 1-3:

Single press will turn on motors 1,3,5 to open blinds until each windows top limit switch is pressed to signal the blinds have reach their max to open and turn motors 1,3,5 off.

Window 1:

Double press will turn on motor 2 to raise the blinds until the top limit switch is pressed to signal the blinds can't be raised anymore.

(In Mode) Windows 1-3:

Double press will turn on motor 2,4,6 to raise the blinds until all top limit switches are pressed to signal the blinds can't be raised anymore.

Window 1:

Single press and hold will reverse motor 1 to return the blinds back to the closed position and stop motor 1 when the bottom limit switch is pressed.

Double press and hold will reverse motor 2 to lower the blinds back to the closed position and stop motor 2 when the bottom limit switch is pressed.

(In Mode) Windows 1-3:

Single press and hold will reverse motors 1,3,5 to return the blinds back to the closed position and stop motors 1,3,5 when the bottom limit switches are pressed.

Double press and hold will reverse motors 2,4,6 to lower blinds to return the blinds back to the complete closed position and turn off motors when motors 2,4,6's limit switches are pressed.

Bottom button is mode---------------------------------------------------------------------------------------------------------------------------------

Mode toggles between my middle den window and all 3 den windows and give the same controls from above to all 3 windows.

Now my most important question is. If window 1's blinds are raised and I press mode and want all 3 window blinds to raise will the fact that limit switch on window 1 already being triggered for the blinds being raised already do nothing while windows 2 and 3 raise and vise versa?

2
  • I would simplify the problem by using an individual Arduino for each window. That way you write one copy of the code that only needs to handle one window-blind. Then multiply that for as many windows you would like to control. I would also add time-outs in case the limit switches fail. And I'm not sure you have thought about what happens if someone manually adjusted the window-shades between automated cycles. – st2000 Jan 1 at 23:38
  • Yes, possible, and about the interaction between the windows: That depends on how you program it. You can program it in a way, that this does not pose a problem. Just create one logic code part for each window. Though without you having any code at this point it doesn't really make sense to extent in this – chrisl Jan 2 at 0:21