Full System Hardware Diagram
In order to properly demonstrate the functionality of the WPCM, we have designed not only the device, but several necessary peripherals. These peripherals can be seen in the figure above. To list them, we have: the Window Motor module (WMM) which receives window height data from the WPCM via a CAN Bus connection, two sensor boards which allow for real-time monitoring of indoor and outdoor conditions, and lastly the touchscreen user interace. The above figure demonstrates the connections between the pieces of hardware.
WPCM Software Diagram
The above WPCM software diagram details the intended behavior of the module for its three main modes: Display, Active, and Schedule. For Display Mode, we allow the user to adjust the window height via sliders on the WPCM UI. This is done with an intuitive slider page specifically designed for ease of use. The module is set to remain in this mode until 6 hours after receiving no user input, where it will then switch itself back into Active Mode, or network control. This means it will begin adjusting its height based on instructions from WallBus, the smart home network connecting all windows in the home/building. Alternatively, because the user can program their own schedule for the window, at any point a scheduled event is reached the window will respond to the event. To change the window height before the end of the scheduled event, the user will need to change the height from the touchscreen display. To prevent the window from reentering the network or responding to scheduled events, the user can also enter Manual Mode. While the window is in this mode, the WPCM will only allow changes to the UI to affect the height of the window.
WMM Software Diagram
While outside the focus of the project, it is important for us to have a robust system that we can test our WPCM on to demonstrate its effectiveness. This is where the WMM comes into play. The design of the WMM allows for it to operate on a current value and a desired value, representing the height of the window and the location to which the WPCM is telling it to move to, respectively. Our motor module design importantly allows for this desired value to be updated at any time; this means that while the window may be in motion towards its target height, it can still receive a new height and change mid-movement. We believed this to be a critical design decision and made sure to stress it in our development of the WMM software.