Smart medibox is a smart device that,
- Remind the user to take medicine at time through alarms.
- Help to keep medicine in the required conditions via monitoring temperature and humidity continously and notifying the user if there is a bad condition.
Note : IOT part of this project is to be implemented.
- This project is developed to use
- ADAFRUIT SSD 1306 OLED Monochrome Display (128x64)
- ESP32 Devkit V1
- DHT11 Temperature and Humidity Sensor. (Easily configurable for DHT22 aswell.)
out of the box.
If the components change, you may have to change the parameters accordingly.
- This was developed using Vistual Studio Code with Arduino Framework.
- Git
- Arduino Framework Set up with Visual Studio Code
- Relavant hardware for testing if you are not intended to do simulations.
-
Clone the repository.
git clone https://github.com/SasikaA073/smart-medibox-m
-
main.ino
contains the arduino loop() and setup() functions. -
The device code is developed in such a way that it's actively listening(polling) for user inputs and for collecting sensor data from the DHT sensor.
-
For an instance the three function calls in loop() function is responsible for,
-
update_time_with_check_alarm()
- Updates the the time on the display. Checks whether there are any alarms to be rung at the moment. Callsring_alarm()
inside it if there is any. -
go_to_menu()
- Activelly listening for button presses and then keeps track of the selected mode by user via an abstract variable. When user confirms a menu item via pressing OK button, therun_mode(mode)
is called.run_mode(mode)
handles the rest via somr another nested function calls. -
check_temp()
- Reads the data from theDHT11
sensor, prints a warning in the display if there is any parameter that is out of the specified limits. If there isn't any, plays an animation on the screen indicating it is actively monitoring those parameters.
-
Currently there are no known issues. If there is any, please open an issue in the issues
section with a relavant label.
This project was first developed as the Semester 4 Project in the Module EN2853 - Embedded Systems & Applications