Inspiration
It is common-place for mentally and physically capable adults to forget to take their daily vitamins. This becomes even harder to manage for the elderlies and other vulnerable groups with a plethora of health problems to take more than a dozen different pills up to four times during the day. Both group members have people close to them that struggle with this problem, which poses great potential health risks when they miss taking pills, or worse, take the wrong pills during the day.
What it does
Notify the user to take the pill at a given time. The time can be scheduled via android app. We also keep track of whether the pill dispenser has been interact with and update the status in the android app.
How we built it
Using Atmega328p as a main controller. An I2X communication was made to RTC module to get the time. The Atmega also communicates with NODEMCU via UART to listen for any alarm time set by the user. The data from NODEMCU is then saved into the EEPROM of the Atmega. When its time, turn on the buzzer and spin the pill container to the right position. The user and then open the lid or press the button to stop the alarm. Here, we will update the status that the "pill was taken". If no interaction occurs within a set amount of time, the alarm will stop and the status will be registered as "pill not taken".
Challenges we ran into
- UART communication does not goes smooth as planned
- Insufficient timer
- Mechanical problems
Accomplishments that we're proud of
- Manage to get I2C communication smoothly running
- Able to correctly send and receive data from android app
- Alarm correctly works!
What we learned
- Servo motor controls
- power managment
- I2C communications
- UART communications (RX side)
What's next for Auto Med
- able to schedule pill for specific day
- more precise pill container rotations
- manual controls with working LCD
Built With
- atmega328p
- c
- nodemcu
Log in or sign up for Devpost to join the conversation.