It’s been said that “necessity is the mother of invention.” It’s also been said (at least by me) that “forgetting to take out the garbage after a splendid seafood dinner is the mother of an angry spouse.”
Hence the need for the NAG (Notification Alert Generator), which you can strategically mount on a wall near the bedroom to remind you of important upcoming events and tasks, such as taking out the festering garbage.
The NAG was my first real foray into building one of the crazy devices I’ve come up with over the years. Luckily a friend of mine who is a developer clued me into microcontrollers, and then I did some research and learned about the Arduino, its many shields, and the Wave Shield kit from the fabulous Adafruit Industries (http://adafruit.com), which stores WAV audio files that your Arduino can play.
When it comes to nagging, timing is everything, so this project uses a real-time clock (RTC) chip, which also contains a calendar. It also includes an LCD, proximity sensor, and a case to house the whole mess.
I’ll assume the reader has the prerequisite knowledge to build and modify an Arduino project and associated sketches. If not, head over to http://makezine.com/arduino to get started.
In my circuit, many of the Arduino’s limited number of I/O pins are used by the LCD and clock. The Wave Shield needs pins 2, 3, 4, and 5, but the Arduino LiquidCrystal code library lets you reassign LCD pins. So I made room for the Wave Shield by moving the pin assignments in the library, from LiquidCrystal lcd(12, 11, 5, 4, 3, 2); to LiquidCrystal lcd(9, 8, 7, 6, 15, 14);.
The purpose of the NAG is to nag someone as they walk by, instead of just throwing out reminders at predetermined times, unheard. To achieve this, I used a cheap infrared proximity sensor, the output of which I connected to the Arduino’s analog input pin 2.