Dominic Quigley - djq2

Gerardo Porras - gporras3

Introduction

Our goal is to create a “smart mirror” that displays information such as the weather, time, and to-do lists at the top of the mirror. While building this project is well-documented (Source 1), we want to challenge ourselves by writing some of the control programs ourselves and seeing how we can get a Raspberry Pi to interact with a display and user input. 

This project is intriguing because of the ability for us to make it as complex as we could think of. Building the basic components of the mirror might be straightforward, so one of our thoughts on how to expand upon the project is by introducing sensors that detect human motion. In doing so, we can determine when to “wake up” the mirror and also implement certain hand gestures that act as commands. 

Ultimately, what we hope to take away from this project is increased understanding of programming, basic machine learning, and input/output structures. 

A few examples of magic mirrors are shown below. 

Design Details

Parts

As recommended by The Verge (Source 2):

PartCostSource
Raspberry Pi$35.00https://www.adafruit.com/product/3775
Monitor$69.99https://amzn.to/2udwYGe
Mirror (acrylic)$22.99

https://amzn.to/2T0GogF

HDMI Cable$4.95https://www.adafruit.com/product/608
MicroSD Card$9.95https://www.adafruit.com/product/1294
Raspberry Pi Camera - Small--In inventory
Ultrasonic Sensor--In inventory


Possible Challenges

Some challenges we foresee are difficulty in distinguishing hand gestures and selecting the correct function. Also, implementing a sleep timer could be difficult, especially since the Raspberry Pi will constantly have to be checking if the timer is 0. In terms of the physical build, minimizing the bulk of the mirror and making sure the display is bright enough are additional challenges. 

Proposal Revisions

A major area we had to look more into was the gesture detection and how we're going to get hand movement data from the user into the Raspberry Pi. One article we came across approached this by integrating a Raspberry Pi camera, writing a program in Python that outlined the gesture, and performing some desired output (Source 3). We can approach our goal in a similar manner, by tracking the user's hand movement and determining what function to carry out based on that input. 

In terms of a set of goals, we have a few in mind. In order of importance to us, they are as follows: 

  1. Displaying information on the screen at all times (weather, calendar, and time to begin with)
  2. Implementing a sleep/wake feature to save power 
  3. Connecting a camera and detecting gestures
    1. One gesture to magnify information (e.g. full-screen calendar)
    2. One gesture to minimize information (keep time at the top)
    3. One gesture to "click" (e.g. see daily agenda in detail)

If we meet these goals, some ways we can expand the project include adding other applications such as email, news, alarms, etc. We could also try to use the camera to detect faces and customize the mirror based on the user. However, to begin with, we will focus on the goals mentioned above. 

After reading some previous smart mirror projects, we found out that the easiest way to implement the sleep/wake function will probably be with an ultrasonic sensor instead of a camera. 

References

Source 1: https://docs.magicmirror.builders/ 

Source 2: https://www.theverge.com/circuitbreaker/2017/8/17/16158104/smart-mirror-diy-raspberry-pi-commute-weather-time-gadget 

Source 3: https://medium.com/@CLiu13/gesture-detection-with-a-raspberry-pi-f72a6038e967

Figure 1: https://www.voiceinterconnect.de/en/detail/magic-mirror-voice-control

Figure 2: https://www.pinterest.com/pin/849069335974598792/



Attachments:

mirror1.jfif (application/octet-stream)
mirror2.jpg (image/jpeg)
mirror1.jfif (application/octet-stream)
mirror3.jpg (image/jpeg)

Comments:

Check out the smart mirror projects from last semester as it might provide you some more insights on this topic. What motion sensor are you planning to use? This would be very important since it would determine the complexity of your project.

Posted by yuchenc2 at Feb 16, 2020 02:40

yep, there are many prior magic mirror projects. Please leverage these past projects for info on common pitfalls and challenges.

In addition, your "motion sensor" is very vague. What sort of sensor is this? IR sensor? Camera? Prox sensor? Please clarify this.

Posted by fns2 at Feb 16, 2020 13:30

I like how much you can change the depth of this project, it makes it versatile for your schedules and hurdles you may have. That being said, I would recommend establishing a set of goals that you want to work towards to have a more concrete vision of the final project and the parts / resources you may need to accomplish it.

Posted by dbycul2 at Feb 16, 2020 22:17

Look into 'Time of Flight" sensors for motion control. I'm not sure of the range, but that's what I've used in the past for hand gestures. 

Posted by weustis2 at Feb 16, 2020 23:00

Please add the revisions to your proposal by tonight. 

Posted by fns2 at Feb 20, 2020 19:06

Approved Feb 25th

Posted by dbycul2 at Feb 25, 2020 19:58