Description of what the idea is and how we chose it
For our final project, we decided to devise an elegant solution to one of the problems that we face every single day: laying in bed and having to turn off the light after a long day of work. We wanted to reduce the physical amount of effort required to flick a light switch when laying in bed. For this reason, we built the Power Bar: a bluetooth-enabled solution to rotate a servo motor to turn off the lights for you, controlled by your phone. We also have support for a physical reset (by pushing a button), as well notifications from the light system to see if your lights are on.
Differences between first demo day and final demo
Our project was isolated into two major components: bluetooth communication and physical interaction/actuators. Thus, for our first demo day we had a goal of implementing bluetooth connection made through an Android phone. We wired a circuit to check if we were receiving any bluetooth signal and then accordingly turning on or off an attached servo motor. We believed this served as our minimum viable product. For our final demo, we implemented a state saving system (stored in Arduino memory), restricted communication to a binary system (i.e. sending “1” or “0” via bluetooth), added a physical reset button and enabled two-way communication to enable notifications via a light sensor.
Descriptions of subsystems
There are 4 major subsystems for this project: light sensor, button, servo motor, bluetooth module.
The light sensor draws power from the 5 volt power source. There is a wire connecting the light sensor to an analog pin. Thus, we are able to read values from the light sensor over the analog pin. We found what values from the analog pin correspond to “no light” and a “lit room” and sent the messages “Light is on” or “Light is off” accordingly over the BTSerial connection.
The button trigger drew power from the 5 volt power source and was connected to a digital pin. The digital pin was then able to determine whether current was flowing through the button or not. If the button was pressed, the Arduino code handled the logic of what action to engage the servo in.
The servo motor drew power from the 5v ground and was also connected to a digital pin. When needed to rotate, the Arduino code would execute code such that the servo motor spun in a specified direction for a specified amount of time. Both direction and time are specified in the Arduino code.
The bluetooth module (from Bluefruit) was connected to RX/TX pins, 5 volt, ground, MISO, and MOSI. We were not too sure about what MISO and MOSI were. We used code from Bluefruit and the Bluefruit Android application to establish a connection between the Android phone and the bluetooth module connected to the Arduino.
We believe that this project has applications to the real world as we are solving a problem that millions of people face every day. Our two keystone markets could include college students and hospitality facilities (e.g. hotels, restaurants). We believe that the real value in the system lies with within its unobtrusive nature: an over-the-switch solution. Although our prototype was encased in a granola bar box, a more attractive exterior would make our product more accessible and sleek. We also believe a more fluid interfacing app would be a big addition as many other products exist that have similar functionality; therefore, a key differentiator between our competitors would be the software experience.
This product could be improved with additional attachments to the servo motor, that would allow us to turn off the lights of other types of light switches. Currently, the servo motor pushes against the light until it reaches a certain state - a more complex system would be if it were able to replicate a flicking motion and stop after physical feedback (i.e. resistance). We also believe that the inclusion of wifi would enable users to control the lights even if they aren’t in the immediate vicinity of the light switch. Finally, we believe that a more elegant way to swap out batteries/power would be beneficial, for example a chamber to hold 9V batteries.