1. Background

My 1st project with Apduino Online was about to solve a simple problem, close the garage door after sunset, when it has been left open.

We have a garage in the basement, which is used not only for car parking, but gardening tools and machines, bicycles, etc are stored there plus there is a workplace. Since there is only one entry into the basement via garage door, normally we leave it open for daily hours and close only in the evening. But sometimes we simple forget to close it and remains open for a night long and giving the chance for un-wanted visitors.



2. Scope



Close the garage door after 8PM, if it has been left open.

However the high level scope is very simple, but there shall be some sdditional logic taken into account.

a). When I'm opening the door after 8PM it must be ensured that it won't be closed automatically in few seconds, there shall be some time given (e.g. 15 minutes), until I surely parked and left the place. Of course in the morning the logic shall not close the door automatically anymore, only between 8PM and 6AM.

2. The door opener box is having an input which is working in the following way. When the button on the wall switch is pressed the motor starts to move the door into opposite direction as it was moving last time, so if the door was open then after pressing the button it will move to close. Additionally when the button is pressed during the door is moving then it stops immediately. It means, using this interface of door opener, the logic shouldn't know, how door was moved last time. It must only find the position "CLOSED".