An automated Medicine Reminder that reminds you to take your medicine in time.
An arduino Based smart device that helps you to take medicine in time.
We all need to take medicine at some time. Also, we do need to look after our parents or elderly and giving medicine in time is the most Important task, specially when they are antibiotics. I decided to make one for my mother. I feel relieved that even when I'm not be around, as my automatic medicine reminder, MeDuino, will take care of her. Love you, mother!
Principle
I have wanted to make this as simple as possible. So I didn't use any RTC module but I've used Arduino delay function to work.
24 hours = 24 * 60 minutes
= 24 * 60 * 60 seconds
= 24 * 60 * 60 * 1000 miliseconds (1sec = 1000mili second)
= 86400000 ms
After restarting the Arduino it waits for 24 hours and then keeps on buzzing. Change the delay as your requirement. It won't stop until you press the restart button, which means you have to get to your medicine box in order to stop the alarm. And after you press the button it'll alarm again after 24 hours.
Upload the following code onto the Arduino Pro Mini. To program the Arduino Pro Mini, you need to use a USB to TTL converter but you can also use your Arduino Uno as USB to TTL converter.
We don't have a USB programming option on Pro Mini. Use a USB to TTL converter or an Arduino Uno. We all have an Uno, right? So why waste money? Just remove the ATmega328P IC from the Uno using a screwdriver to lift it up.
Then connect the pins as following:
- UNO -------- Pro mini
- 5v---------------vcc
- Gnd------------Gnd
- tx----------------tx
- rx----------------rx
- reset----------- rst
Then up the Code.
/* MeDuino: Automatic Medicine reminder.
* By Ashraf Minhaj www.ashrafminhajfb.blogspot.com
* For any query mail at [email protected]
*
* Use this and you'll never miss your medicine.
*
* This is made for my Mother - Sahida Rahman.
* I LOVE YOU MOM.
*/
const int blue = 3; // Connect BLUE LED to pin 3
int buz = 2; // Buzzer on pin 2
void setup()
{
// initialize the LED & Buzzer pin as Output:
pinMode(blue, OUTPUT);
pinMode(buz,OUTPUT);
}
void loop()
{
tone(buz,1000,100); //Beep for 1 second- Starting Sound
delay(86400000); /*delay 24 hrs. untill next period to take med.
* 24hr * 300s * 1000ms */
goto buz; //going to buz: goto Statement
buz:
{
digitalWrite(blue, HIGH); //Blue led on
delay(100);
digitalWrite(blue,LOW); //LEd off --thus BLINK
delay(100);
tone(buz,1000,150); //Start beeping
delay(1000);
goto buz;
/*going again to buz: so that the Code runs
untill you come near the
Medicine Box and Push the reset switch*/
}
}