Introduction
This project represents the culmination of my high school journey, where I have focused on creating an electronic device. The main aim of this project is to gain knowledge and skills in developing an Internet of Things (IoT) device for home automation. The end result is a product that enables me to control a button using voice commands. To achieve this, I utilized a Raspberry Pi 4 to control a robot finger that I personally designed and constructed. For voice control, I integrated Google Home and use Google Voice Assistant on my iPhone. The accompanying diagram provides an overview of the entire project.
3D printing experience
I had the opportunity to explore the realm of 3D printing technology. For mechanical drawings, I utilized Fusion 360, and then proceeded to use a 3D printer to fabricate the mechanical components of the robot finger. Throughout the process, I encountered multiple design iterations as the printed parts did not fit or function as I had initially anticipated. However, in my final design, I was able to eliminate the need for screws to secure the components, and I also incorporated the ability to adjust the height of the finger.
Demonstration
Reflection
All the knowledge and skills I applied in developing my products were acquired from the internet. Primarily, I would modify sample codes and follow instructions from technology articles to establish my working environment and write programs. However, I often encountered challenges when the methods or coding found online didn’t work due to unmentioned limitations or specific requirements for proper functioning. Consequently, I spent a significant amount of time troubleshooting and searching for solutions on the internet.
For instance, in the initial stages, I successfully installed Google Assistant on my Raspberry Pi, intending to create a product similar to Google Nest. However, it repeatedly crashed whenever I made adjustments. It turned out that Google had updated the coding on their servers, necessitating the update of the Google SDK and modification of the code on the Raspberry Pi. Eventually, I redesigned my project and utilized Google Home on my iPhone for Google Voice Assistant. This experience taught me a valuable lesson about conducting thorough research and studying reviews before finalizing a product design.
I am genuinely satisfied with my product, not only because it functions exactly as planned but also because I acquired various advanced skills along the way. These skills include creating molds or prototypes using 3D printing, controlling servo motors, utilizing Raspberry Pi, and writing code to control my product through cloud servers like Google, IFTTT, and MQTT.
Although my product cannot be marketed as it is, due to its reliance on being connected to a Raspberry Pi and the servo motors experiencing jittering issues, it could be modified for standalone operation by using a small Bluetooth board with low power consumption and built-in batteries. The jittering problem stems from the 5V DC supply provided by the Raspberry Pi being insufficient for the servo motor’s requirements.