"Success is no accident. It is hard work, perseverance, learning, studying, sacrifice and most of all, love of what you are doing or learning to do. " -Pele
Name | Student No. | Student Email |
---|---|---|
Jonathan Noble | C154879222 | c15487922@mydit.ie |
Pia Ofalsa | C15734155 | c15734155@mydit.ie |
For this project, our initial idea was to create a notification system that can encourage and motivate children to brush their teeth in a fun, IoT(Internet of Things) environment.
We then came up to the conclusion that we will use the platform of Arduino and develop an Android App which offers awesome IoT features - make sure to check down below for the full post about the features that are showcased in our project.
-
Usage of Genymotion Emulator for Android App
-
Stuff Toy with the following hardware embodied:
-
Wemos D1-mini with an ESP8266 WiFi Module:
- Vibration Switch Sensor
- Resistor
- Jumper Wires
- Breadboard
We divided the workload in two phases so we could learn both platforms at once. As a duo group, we thought the project per se was ambitious at first but we believe we managed to consider and tackle every necessary steps possible.
With the objective in mind, our Android App - named after the project - was made primarily for the parents to notify them once their children have used the toothbrush recently via a vibration switch sensor input read by Wemos D1-Mini with ESP8266. As for the kids' motivation counterpart, we decided to use a TFT LCD Screen embodied inside a stuff toy to display tips and advices and more importantly, a stop watch for the recommended two-minute duration of brushing.
- Learning curve in both platforms
- Developing an Android App with fragments on a Navigation Bar
- Learn Arduino in C and C++; Arduino library functions
- Understanding the hardwares of TFT LCD screen i.e. Touchpoint and Wemos D1-Mini i.e. ESP8266 libraries
- Usage of base64 from base64encode.org for encoding username and password from the SMTP smtp2go.com server
- Git fetching-> merging/rebasing from an upstream branch was also another challenge in the beginning
-
Android App:
-
Wemos D1-Mini:
-
The controller uses the ESP8266 to send an email once the vibration switch sensor reads an analogue input
-
C/C++ header files used:
- checkEmail.cpp/h consists of the responseCode to check availability of network. It also has the function to send the Email through the encoded SMTP username with the usage of base64. The screenshots provides the necessary requirements in underline to get the server connection to fully function.
-
Wemos D1-Mini Procedure Screenshots:
-
The generated base64 is then implemented in our code! Then voila! Magic is made by IoT!
- TFT LCD Screen
-
Tips & Advices on Splash Screens
-
Stop Watch for the recommended 2 minutes!
-
C/C++ header files used:
- Buttons.cpp/h which creates/animates/activates/error-checks the buttons
- Settings.cpp/h for the EEPROM library to save/reset/default values
- Debug.h for debugging purposes
- UI.cpp/h for the splash screens and the UI design of the screen
-
LCD Screen screenshots:
-
We are very proud of getting out of our comfort zone. This year we learned how to make a scifi UI, a game and now something completely different and something that we believe in the future will make a huge impact on other people's lives, of course there is definitely room for improvement for this project but we can not wait to showcase it with more cool features.
Runners experience a euphoria known as runners high. Programming definitely creates similar feeling. All those sleepless nights brainstorming for ideas, coding, debugging.
It was a surreal experience to be able to put our knowledge into something useful.