Inspiration
We were inspired by the idea of waking up with the sun. Research has show that natural light in the morning increases mood, alertness, and etc. So, we wondered if we could automate that process of opening the lights in the morning at a comparatively low cost. As a result, we thought it would be interesting if there were a device that could automatically sense the light outside and raise a window shade based on this change in light, so that we too could wake up with the sun. We thought this would be a convenient and helpful device in anyone's day-to-day life.
What it does
The Window Shade Lifter senses the brightness level outside and when it reaches a certain threshold, it pulls up a window shade. When the sun rises, the window shade puller automatically lifts the window shade because of the increase in brightness. It can also be controlled manually through bluetooth.
How we built it
We used a photoresistor for the light-sensing element and a DC motor for the mechanical element of pulling the window shade. The photoresistor acts as an analog sensor whose data is fed back to the Arduino in real time via an analogRead(x) call. Then, if the Arduino code detects a high input voltage of a certain threshold value which occurs when light shines on the photoresistor, then it will send a signal to cause the motor to turn on.
Alternatively, Arduino code can pair with a bluetooth phone which can also send a signal for the motor to spin to lift the window shade up.
Our creation process involved looking at previous labs that used photo resistors, motors, and had a bluetooth element. We isolated each element of our project and in the end combined them to have a function window shade lifter.
Challenges we ran into
We had trouble getting the motor to spin using the photo resistor. We realized that this was because we did not use a transistor, which is needed to send an on and off signal to the motor. To resolve this goal, we had to fully re-do the circuit layout with a transistor in mind.
We also had trouble with the Bluetooth component of our project, especially with coding the motor to turn on after manual input from the user. After looking at previous labs as guidance and experimenting with the code, we were able to program this feature. The first key insight was understanding how pressing a button on our Bluetooth app resulted in a packet being delivered to the Arduino which contained a char that denoted what button was pressed. The second key insight was understanding how the Bluetooth code awaited for the next button press by default in the Bluetooth lab code and then commenting it out so that the window shade lifter can lift both via photoresistor value and Bluetooth rather than always awaiting for a new Bluetooth command.
Accomplishments that we're proud of
We are especially proud of the bluetooth component, as this was the most difficult feature for us. We had trouble connecting to bluetooth at first, and then we struggled with programming the arduino to send the signal to the motor to turn when the button on the controller pad was pressed. This bluetooth feature is then one of the elements we're most proud of.
What we learned
We learned how to wire the circuit so that the photo resistor would send signals to the arduino and the motor would receive signals to turn on or not. We also learned how to incorporate bluetooth into the Adafruit Bluefruit Friend into the circuit and use bluetooth to turn the motor on and off. Furthermore, we really got to see and appreciate how powerful the Arduino microcontroller framework is. It is amazing to see how we can easily integrate analog sensors, code to activate based on those sensor values, and physical actuators which can affect the physical environment based on invocations in the code.
What's next for Window Shade Lifter
Our next version of Window Shade Lifter will sense when it's dark enough so that at night, the window shades will be automatically closed. In addition, we can scale up the motor so that it can lift up a real window shade rather than just a small-scale demo version of a window shade.
Log in or sign up for Devpost to join the conversation.