Smart Mirror
The SmartMirror, using raspebery pi is a display that portrays a mirror with defearent features upon it. features can be added and custamized to ones linlig.
Engineer | School | Area of Interest | Grade |
---|---|---|---|
Rishi S | The Overlake School | Artificial Intelligence | Rising Junior |
![Headstone Image]
First Milestone
My first milestone was completing the setup of my Raspberry Pi. While this seems basic this gives a foundation for one to continue to setup software and hardware making it a crucial first step. I had to connect all the components to my monitor download and update software to an SD card. I ran along to some challenges such as SD card issues and the Raspberry Pi refusing to set up. After fixing aftermentioned issues my Raspberry Pi is functional. This is where I will be doing all the coding for the Smart Mirror, so completing the primary setup was important as now the project can forge ahead and work on software and hardware components. But what is the Raspberry Pi? To put it simply the Pi is a miniatue PC that resembles an arduino. Simply downloading software onto and SD card and then plugging the Pi into the power source and then connecting it to a monitor using HDMI cables. From there the Pi was able to connect to the internet and became a functioning computer. In addition it has different "ports" similar to an Arduino which made it easy for me to add future modifications.Second Milestone
My second milestone was completing the downloads and installation of modules. This is the software aspect of my project and adding these modules to my Raspberry Pi enabled me to fully customize my mirror. I could add and download weather, sports and even time modules. Using these modules I got to design the layout of my mirror moving modules around to create the best fit. Before I could completely customize my mirror I had to dowload the framework.
Using the terminal on my Raspberry Pi i downloaded the hardware for the Magic Mirror and imported all the files and folders. The download was from: https://magicmirror.builders/. In addition to downloading the software I had also implemented the SSH feature to connect my command promot on my pc to the terminal on my Pi. This made using the terminal so much easier as I could control my device from my computer.
I downloaded multiple modules and experimented with them, and even edited some of them. Once I had downloaded a couple of my favorite modules, I had a working smart mirror. I hadnt added the mirror aspect but all of my software was working. I wanted to add something to my project however, and I started expeimenting with making my own module from scratch, a slow challenging endeavor. In addition I started to plan out modifications to my project including using motion detectors to control the mirror and adding buttons and leds to enhance the feature as well.
To implement different features I found base framework from GitHub and expanded and changed upon it using my own twist and code, to create unique personalized modules. The first feature I implementing was making the time show on the magic mirror in 12 hour PST with am and pm as well. Nex I set up a feature that implemented both the current weather and the weather forecast. This combined two other features that was used and created a neat way to see the weather on my mirrpr. In addition I also used a modules that showed the live updating socres from my favorite sports team all the way until 24 hours after the game. I had experimented with other modules yet due to to my 10 inch moniter I couldn’t add as much in without ruining the astetect.
To implemet the modules I had to use the config file. the config file was made up from code from the langauage JavaScript. I have never used this before so it took a while to get the hang of it. All the configurations and code for my modules were in that file, and when the mirrpr was displayed it reflected the outputs of my code in the config file.
Final Milestone
My final Milestone was completing the modifications to my project. I had wanted to be able to manually control and move my mirror. Using push buttons, bread boards, wires and resistors I created a circuit allowing my buttton to directly control my pi. To test out if the button worked in the terminal I ran a python test to see if the Pi recieved notifications when my button was pushed.
After my button was tested and tried I needed to connect the button with my config folder. In this I would be able to connect the push of a button to something in the module. I decided to make it such as when I click the button the next page of my current sports scores switch. This was really challenging to be able to connect an external tool: the button with the module.
I had also experimented with the touch sensor: another external tool that reacted to a touch of the finger, I intended to be that the button would togle mirror on and off, or put it in or out of sleep mode. However, I ran out of time and could not complete that aspect.
The final step of my project was implementing my mirror, I unpacaked my mirror and placed my monitor behind it and finnaly had a functioning smartmirror!
Demo Night and Reflection
During this project I learned a lot about myself and how much I could get done if I put myy mind to it. I could do so much and do whatever I wanted with this project which really was cool as I controlled this project in full. In addition I learned that I find only software a tad bit boring and would love to incorporate some hardware.