What inspired us to create such a device is to help give independence to those suffering from alzheimer's and memory loss related illnesses. It also allows us to help those in the medical profession (i.e nurses) to better take care of patients. Over 747,000 Canadians are living with Alzheimer's or another dementia. Worldwide, at least 44 million people are living with dementia—more than the total population of Canada. This is a serious problem that needs to be solved.
What it does
The purpose of this device to automatically dispense pills over a certain period of time that is programmed by the user. When the pills are dispensed the device gives a visual and audio notification to alert the patient that they need to take a pill. This is handy for those suffering from memory loss problems and is also a good tool for those that wish to have a reminder to take supplements/vitamins.
How we built it
For the front end we made a web app with MERN stack. The web app is in charge of configuring the arduino and helping to choose which slots the medication pills are in. We stored and posted the information in MongoDB, where we made get requests in Python to determine the next pill to dispense. Python was also the middle stack between the web app and the Arduino hardware interface. Along with fetching data from MongoDB, it serially communicated to the Arduino IDE to move the stepper motor the certain amount of steps to navigate to the desired pill to dispense.
Challenges we ran into
Serially communication was a big problem that we had to tackle as it took a while to code Python to communicate with MongoDB and the Arduino Interface. The stepper motor was causing trouble as well since it worked on its own, but worked variably when the serial communication code was loaded. We also had trouble with the physical connection of the stepper motor to our pill dispenser and moving smoothly enough with too much friction. Lastly, we had networking problems, and having to learn how node and express work together on the server side.
Accomplishments that we're proud of
An accomplishment that we are proud of is getting the communication to work from the mongo database to our python program. For many of our team members this was the first time using this tool and it was very rewarding to learn how we can implement this technology in future projects. We are also very proud of the fact that we were able to merge our teams hardware and software skills together to play to everyone’s strengths.
What we learned
From this experience we learned that it is important to have a communication network established between all layers of the device.This is something that we had trouble with and will focus more on the next time around. In addition to this we learned how to interface multiple hardware components using serial communication.
What's next for RoboDoc
In the future we would like to enable text notifications with our users so we can add a more reliable way to remind them to take their medications. We would also like to create a mobile app instead of a web app in order to make programming the dispenser much easier. From a mechanical perspective we would also like to make the mechanism that cycles through the pills a machined gear to ensure smooth rotations.