Window Automation Guidance

Hello everyone! :slight_smile:

I really admire your active and supportive Arduino community. I'm a new member here, hoping that you can give me guidance on which Arduino board + shield(s) are suitable for my new project.

I'm aiming to build an automated window system for my house with the following functions:

  • Window opens and closes based on sensor data
  • Sensors include temperature, rain, sound intensity and wind
  • It's a slider window that opens sideways
  • Window opens and closes quickly and quietly
  • Both time of day and time passed since last opening shall be used for the automation
  • Wireless app connectivity to my Android phone (with a password prompt)
  • Phone can be used to open and close the window and to set the target temperature
  • Window closes when the phone connection is lost

I assume that for controlling the window, a stepping motor with 24 V and 1.5 A might be required (but I could be completely wrong). An external power supply is available (power socket). Now I'm trying to find the most suitable and cheapest combination of Arduino board and shield(s) to fulfill these criteria. Perhaps an Arduino Mega with an HC-05 Bluetooth module and a DS3231 RTC?

I'm sure that you're way more experienced with these kinds of projects than me. Can you please help me?

Thank you very much! :slight_smile:
Towryo

My advice is to buy a cheap Uno and sensors/actuators for the parameters that you will measure/control. Then develop a sketch for each of the devices by itself. That will help you understand the devices and more about the programming required.

Google searches will lead you to tutorials for most of the parts and from there to the most suitable parts for your project. "arduino temperature measure" gets over 1.2 million hits. "arduino stepper motor", 300,000.

If you get stuck writing the code for something, we are glad to help.

I don't think an Arduino Mega is required here, the Uno is more than enough. Though when you deploy the project, the Nano(which is the same as the Uno, but smaller. The Uno is more suitable for prototyping) or even a barebone Atmega328p would be neater.

As @groundFungus suggested, the project that you wish to build is many small projects combined together and right now should start prototyping each of the individual components. Here is a rough plan:

  • Buy an Arduino Uno/Nano
  • Buy the temperature, humidity, rain, wind, etc whatever sensors that you wish. Interface them with you Arduino to get the sensor readings.
  • The Blynk App should help you get wireless connectivity to your Android phone. It would work with the HC-05 but won't WiFi internet connectivity be better so you can operate it from anywhere? Why not use the ESP8226?
  • Add an RTC for timekeeping. The DS3231 would be great.
  • Implement the complete system with a dummy servo and see if everything works as you wish.
  • Lastly, you can worry which servo works best with your window, and how the final mechanical layout would be. Also, you have to create a power supply for all of your devices.

Towryo:
I assume that for controlling the window, a stepping motor with 24 V and 1.5 A might be required (but I could be completely wrong).

I think geared DC motors with limit switches to stop the movement would be a better choice. Stepper motors are very inefficient and you would need at least one limit switch anyway so that the Arduino could establish the ZERO or HOME position. The DC motor won't need any power when it is stationary.

You have not said whether it is necessary to be able to move the windows manually in the event of a power failure or system malfunction.

You will almost certainly need to do some practical tests to figure out the torque required from the motor regardless of what sort of motor you decide on.

Getting something like this to work reliably and installed neatly will be a substantial mechanical challenge. The software side will be trivial by comparison.

...R

Thanks for your very helpful answers and the feedback on the components! For the start, I'll go with the Arduino Uno + DS3231 and either HC-05 or ESP8226 then.

A manual operation of the window must always be possible. I'll develop some ideas (e.g. mechanism with detachable window mount) and then realise them using a combination of 3D-printed and purchased parts.

Ready to take on the challenge! :slight_smile: Thank you again

In the end the whole project could be handled by just an ESP8266, like the NodeMCU or Wemos D1.

Are you retrofitting this to an existing window or designing the window around the solution?

Perhaps a rack and pinion drive could be used. Manual operation could be just moving the window by hand and making the unpowered motor freewheel.

You might want to think about what happens if the mechanism gets jammed or if there is an obstruction such as fingers blocking the closure.

Yup... some safety related sensors appear to be missing.
You don't want the window to force itself open when the window washer is working on it. You don't want it to suddenly close on you when you're comfortably hanging out.