Project Closet v.1, by Robert Morris
Abstract
I
have chosen some weeks ago to start a mid term project for one of my CS
classes. Since that time I have been unable to get my self away from it long
enough to tell you all what I have been up to. I watched an inspirational Ted
Talk a few weeks ago, about how the future of computers, IoT devices, and
technology in general should start to take a turn. How we, as creators, should
think towards devices that we do less on and react more to our own gestures,
habits, and needs. So, I decide to begin work on an Idea I have dubbed
"Project Closet v.1". Project Closet v.1 is an interactive storage
idea. The prototype itself may be rather modest but the idea has limitless
bounds. The idea is that the storage system can react to you when around it and
show you a list (pictures) of items inside, and deliver one to you if you press
the picture. This idea may sound simple but if it is implemented as a large
pantry of food could be much more complex. It could present you with a meal
idea based on what is inside, or alert when you are out of an item. Maybe it
could even find the item on shopping sites such as Amazon and order it for you
if it learned you didn't like to be out of that item. It could alert you when
food is nearing expiration or you could check the items inside, via your smart
phone, when you were on the go. It could keep an accurate list of what you have
purchased over time and recommend better prices on common items. Maybe it is a
simple night stand storage box with a wireless charging area for your phone or a
place for your wallet and keys. It could alert you when you may forget an item
in the mourning or wake you up presenting your medications or vitamins. It is
an idea limited only by the creators imagination.
My
implementation of this project takes several different parts working together
to produce a working prototype. These areas/parts are as follows:
A
Box, A Raspberry Pi, an Arduino, 1-continuous rotation servo motor, 1-180
degree rotation servo motor, a camera, 1 seven segment led number display, 1
light sensor, a plastic chain and two sprockets, two breadboards, a 10 inch LED
Display (with display driver card), a 6 inch hdmi cable, several Erector set
parts, 3 white LEDs. The Raspberry Pi will be running a python program that has
a GUI made with tkinter. It will be controlling the operation of the camera,
saving the pictures, and communicating via a serial connection with an Arduino.
The Arduino, acting as a slave receiver, is running a program written in a
version of c++. The code will run in a continuous loop as it waits for a
command over the serial from the master, which is the Raspberry Pi. The Pi
sends a byte string over the serial. Then the Arduino decodes the string, and
performs an operation. It will control either of the two motors based on the
command received and also read analog values from the light detector if the
door is open to notify the Pi, with a byte string back over the serial, that a
hand has either taken an item out of the box or placed an item inside. It will
then wait for another command from the Pi that notifies the Arduino a picture
has been taken and it is now ok to close the door. Then the GUI will update the
picture on one of the 4 buttons displayed on the screen with the item being
stored in that area.
These are the main plans of the early prototype. Hopefully, time will permit me to implement a server into this project as well so that the pictures can be accessed from a website or an app on a phone.
No comments:
Post a Comment