18. Project Development and System Integration¶
More detail about Final project on Final Project
Project Development¶
The project devlopment was all about tracking the progress of our Final project, There was a schedule that I had created for the completion of my final project during the mid term break.
This is the schedule I had decided for the completion and it pretty much went in this direction but somethings took way much longer than expected. I tracked the dates in a excel sheet that I had created of the same schedule where I would just overlay green when the task was done.
This is how I would mark each task to be complete or pending.Tracking sheet
what’s working? what’s not?¶
This is a really important question and a very valid question so the Machine learning model that I created was working really fine on the phone and on the laptop but when you try to embed it into a micro controller things really go out of your hands. eventually everything came together but for a long time what wasnt working was the ML on the micro-controller. Before the ESP32 CAM I was working with seed xiao esp32S3 Sense. Uploading the ML library to this micro-controller was failing everytime when I uploaded it even Salman faris my mentor for ML could not resolve about what was actually happening. Below are the screenshots of the errors I was reciving.
Eventually what worked for me was the decision to change the microcontroller, I changed the microcontroller from the SEED XIAO ESP32S3 Sense to AI thinker ESP 32 CAM and it worked on the first go with the same code I had. I was so relived when it worked cant express in words. Below is the screenshot of the ML working
The time that I made to order a new micro-controller with the lead time of 2 days to reach home was really cut to cut. If I had not made the decision of switching the micro-controller 2 weeks before the presentation date I think my final project would be incomplete.
what have you learned?¶
What I learnt, can really sum up everything in this simple question. I learnt a lot! Fabacademy has really taught me a lot of things. devloping the skillsets that I have surely but a lot more than that. Fabacademy taught me descipline in my work , It taught me the importance of documenting the work you do. It taught me how important peer to peer network is and most importantly Fabacademy taught how to be better and never stop.
System Integration¶
Introduction¶
Well well, What all can I even say about system integration, To be honest I had not considered system integration in my final project for a long time and the finally when the whole project started to come toghether I eventually found a way to atleast for my product to look like a packaged single product. For this I had to keep in mind a lot of things, lets start with the electronics hardware that I had inside my mirror.
Hardware Used in the Mood Mirror Project¶
- ESP32-CAM
-
Function: Captures the user’s facial expressions and processes them using a machine learning model to detect emotions.
-
Seed Xiao RP2040
-
Function: Controls the LED strip and ultrasonic sensor, managing the power supply to the LED strip via a relay switch.
-
Ultrasonic Sensor
-
Function: Detects the presence of a person in front of the mirror and sends a signal to the Seed Xiao RP2040 to activate the LED strip.
-
LED Strip
-
Function: Provides ambient lighting that enhances the user experience, controlled by the Seed Xiao RP2040 via a relay switch to light up when the ultrasonic sensor detects someone.
-
Small LCD Display
-
Function: Displays funny or motivational quotes based on the detected emotion, receiving data from the ESP32-CAM which processes the emotion detection.
-
Mirror Acrylic
-
Function: Serves as the reflective surface of the mirror, laser-cut to fit perfectly within the frame.
-
12 mm MDF
-
Function: Material for the frame of the mirror, providing structural support and housing all components securely.
-
Acrylic Enclosure
-
Function: Conceals the internal components from behind, providing a clean and aesthetically pleasing look.
-
3D Printing Filament
-
Function: Used for printing mounts and other components to secure the hardware within the frame.
-
Relay Switch
- Function: Controls the LED strip, allowing it to turn on and off based on signals from the Seed Xiao RP2040.
-
Miscellaneous Components
- Function: Includes wiring, connectors, and soldering materials necessary for assembling the hardware components.
Summary¶
The Mood Mirror project integrates various hardware components, including microcontrollers, sensors, displays, and structural materials. Each component plays a critical role in ensuring the mirror’s functionality, from detecting emotions to providing visual feedback and maintaining an aesthetically pleasing design.
MDF Rings¶
Fisrt I saw what all components are going to go Inide of my Mirror and accordingly I took MDF and got some rings to go behind the mirror like this
Let me tell you the reason that went behind cutting out the rings, After I saw all the electronics That I was going to use in my Final project I tried to place it on the back of the mirror but then I realised that the back side does not have the amount of depth that I need to have for my electronics and hence I got the rings cut out by taking the height of the relay module as it was the biggest of all the other components that I had which were going inside the mirror. I have also made hole in the mirror for the data cable to go in and power the Microcontroller.
The MDF rings also helped me for the led strips the led strips got a base to stick properly. Also as we can see in the image there is a hole in the rings so that the data cables can pass through.
Mounts used for all the components¶
PCB mounts
So as a part of my system integration I made mounts for my PCB that I used in my final project.
This is how my mount looked and then I 3D printed the mount and the PCB was installed very easily and looked neat! this is how the print came out.
Here is how the slot for data cable had a easy way in and out.
Back Cover Mounts
I also have added mounts on the back cover for the components this is how it looks!
Wire Inserts
It held the wires on the rims of the mirrors so that there is no hassle of the wires. I didnt plan on doing this TBH but just thought of if it I could do this and it definetly worked for me.
Here is how it looks and let me show you how it works
This small thing really helped me a lot for not getting confused in my own project.